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

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

There is a newer version: 2.72.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.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final MetricRulesArgs Empty = new MetricRulesArgs();

    /**
     * List of filtering tags to be used for capturing metrics. 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 metrics. 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);
    }

    private MetricRulesArgs() {}

    private MetricRulesArgs(MetricRulesArgs $) {
        this.filteringTags = $.filteringTags;
    }

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

    public static final class Builder {
        private MetricRulesArgs $;

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

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

        /**
         * @param filteringTags List of filtering tags to be used for capturing metrics. 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 metrics. 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 metrics. 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));
        }

        public MetricRulesArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy