All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azurenative.datadog.inputs.LogRulesArgs Maven / Gradle / Ivy

There is a newer version: 2.78.0
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.azurenative.datadog.inputs;

import com.pulumi.azurenative.datadog.inputs.FilteringTagArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Set of rules for sending logs for the Monitor resource.
 * 
 */
public final class LogRulesArgs extends com.pulumi.resources.ResourceArgs {

    public static final LogRulesArgs Empty = new LogRulesArgs();

    /**
     * List of filtering tags to be used for capturing logs. This only takes effect if SendResourceLogs flag is enabled. If empty, all resources will be captured. If only Exclude action is specified, the rules will apply to the list of all available resources. If Include actions are specified, the rules will only include resources with the associated tags.
     * 
     */
    @Import(name="filteringTags")
    private @Nullable Output> filteringTags;

    /**
     * @return List of filtering tags to be used for capturing logs. This only takes effect if SendResourceLogs flag is enabled. If empty, all resources will be captured. If only Exclude action is specified, the rules will apply to the list of all available resources. If Include actions are specified, the rules will only include resources with the associated tags.
     * 
     */
    public Optional>> filteringTags() {
        return Optional.ofNullable(this.filteringTags);
    }

    /**
     * Flag specifying if AAD logs should be sent for the Monitor resource.
     * 
     */
    @Import(name="sendAadLogs")
    private @Nullable Output sendAadLogs;

    /**
     * @return Flag specifying if AAD logs should be sent for the Monitor resource.
     * 
     */
    public Optional> sendAadLogs() {
        return Optional.ofNullable(this.sendAadLogs);
    }

    /**
     * Flag specifying if Azure resource logs should be sent for the Monitor resource.
     * 
     */
    @Import(name="sendResourceLogs")
    private @Nullable Output sendResourceLogs;

    /**
     * @return Flag specifying if Azure resource logs should be sent for the Monitor resource.
     * 
     */
    public Optional> sendResourceLogs() {
        return Optional.ofNullable(this.sendResourceLogs);
    }

    /**
     * Flag specifying if Azure subscription logs should be sent for the Monitor resource.
     * 
     */
    @Import(name="sendSubscriptionLogs")
    private @Nullable Output sendSubscriptionLogs;

    /**
     * @return Flag specifying if Azure subscription logs should be sent for the Monitor resource.
     * 
     */
    public Optional> sendSubscriptionLogs() {
        return Optional.ofNullable(this.sendSubscriptionLogs);
    }

    private LogRulesArgs() {}

    private LogRulesArgs(LogRulesArgs $) {
        this.filteringTags = $.filteringTags;
        this.sendAadLogs = $.sendAadLogs;
        this.sendResourceLogs = $.sendResourceLogs;
        this.sendSubscriptionLogs = $.sendSubscriptionLogs;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(LogRulesArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private LogRulesArgs $;

        public Builder() {
            $ = new LogRulesArgs();
        }

        public Builder(LogRulesArgs defaults) {
            $ = new LogRulesArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param filteringTags List of filtering tags to be used for capturing logs. This only takes effect if SendResourceLogs flag is enabled. If empty, all resources will be captured. If only Exclude action is specified, the rules will apply to the list of all available resources. If Include actions are specified, the rules will only include resources with the associated tags.
         * 
         * @return builder
         * 
         */
        public Builder filteringTags(@Nullable Output> filteringTags) {
            $.filteringTags = filteringTags;
            return this;
        }

        /**
         * @param filteringTags List of filtering tags to be used for capturing logs. This only takes effect if SendResourceLogs flag is enabled. If empty, all resources will be captured. If only Exclude action is specified, the rules will apply to the list of all available resources. If Include actions are specified, the rules will only include resources with the associated tags.
         * 
         * @return builder
         * 
         */
        public Builder filteringTags(List filteringTags) {
            return filteringTags(Output.of(filteringTags));
        }

        /**
         * @param filteringTags List of filtering tags to be used for capturing logs. This only takes effect if SendResourceLogs flag is enabled. If empty, all resources will be captured. If only Exclude action is specified, the rules will apply to the list of all available resources. If Include actions are specified, the rules will only include resources with the associated tags.
         * 
         * @return builder
         * 
         */
        public Builder filteringTags(FilteringTagArgs... filteringTags) {
            return filteringTags(List.of(filteringTags));
        }

        /**
         * @param sendAadLogs Flag specifying if AAD logs should be sent for the Monitor resource.
         * 
         * @return builder
         * 
         */
        public Builder sendAadLogs(@Nullable Output sendAadLogs) {
            $.sendAadLogs = sendAadLogs;
            return this;
        }

        /**
         * @param sendAadLogs Flag specifying if AAD logs should be sent for the Monitor resource.
         * 
         * @return builder
         * 
         */
        public Builder sendAadLogs(Boolean sendAadLogs) {
            return sendAadLogs(Output.of(sendAadLogs));
        }

        /**
         * @param sendResourceLogs Flag specifying if Azure resource logs should be sent for the Monitor resource.
         * 
         * @return builder
         * 
         */
        public Builder sendResourceLogs(@Nullable Output sendResourceLogs) {
            $.sendResourceLogs = sendResourceLogs;
            return this;
        }

        /**
         * @param sendResourceLogs Flag specifying if Azure resource logs should be sent for the Monitor resource.
         * 
         * @return builder
         * 
         */
        public Builder sendResourceLogs(Boolean sendResourceLogs) {
            return sendResourceLogs(Output.of(sendResourceLogs));
        }

        /**
         * @param sendSubscriptionLogs Flag specifying if Azure subscription logs should be sent for the Monitor resource.
         * 
         * @return builder
         * 
         */
        public Builder sendSubscriptionLogs(@Nullable Output sendSubscriptionLogs) {
            $.sendSubscriptionLogs = sendSubscriptionLogs;
            return this;
        }

        /**
         * @param sendSubscriptionLogs Flag specifying if Azure subscription logs should be sent for the Monitor resource.
         * 
         * @return builder
         * 
         */
        public Builder sendSubscriptionLogs(Boolean sendSubscriptionLogs) {
            return sendSubscriptionLogs(Output.of(sendSubscriptionLogs));
        }

        public LogRulesArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy