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

com.pulumi.alicloud.cms.AlarmArgs Maven / Gradle / Ivy

There is a newer version: 3.63.0-alpha.1727424957
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.alicloud.cms;

import com.pulumi.alicloud.cms.inputs.AlarmEscalationsCriticalArgs;
import com.pulumi.alicloud.cms.inputs.AlarmEscalationsInfoArgs;
import com.pulumi.alicloud.cms.inputs.AlarmEscalationsWarnArgs;
import com.pulumi.alicloud.cms.inputs.AlarmPrometheusArgs;
import com.pulumi.alicloud.cms.inputs.AlarmTargetArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.Object;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class AlarmArgs extends com.pulumi.resources.ResourceArgs {

    public static final AlarmArgs Empty = new AlarmArgs();

    /**
     * List contact groups of the alarm rule, which must have been created on the console.
     * 
     */
    @Import(name="contactGroups", required=true)
    private Output> contactGroups;

    /**
     * @return List contact groups of the alarm rule, which must have been created on the console.
     * 
     */
    public Output> contactGroups() {
        return this.contactGroups;
    }

    /**
     * Field `dimensions` has been deprecated from provider version 1.173.0. New field `metric_dimensions` instead.
     * 
     * @deprecated
     * Field `dimensions` has been deprecated from provider version 1.173.0. New field `metric_dimensions` instead.
     * 
     */
    @Deprecated /* Field `dimensions` has been deprecated from provider version 1.173.0. New field `metric_dimensions` instead. */
    @Import(name="dimensions")
    private @Nullable Output> dimensions;

    /**
     * @return Field `dimensions` has been deprecated from provider version 1.173.0. New field `metric_dimensions` instead.
     * 
     * @deprecated
     * Field `dimensions` has been deprecated from provider version 1.173.0. New field `metric_dimensions` instead.
     * 
     */
    @Deprecated /* Field `dimensions` has been deprecated from provider version 1.173.0. New field `metric_dimensions` instead. */
    public Optional>> dimensions() {
        return Optional.ofNullable(this.dimensions);
    }

    /**
     * The interval of effecting alarm rule. It format as "hh:mm-hh:mm", like "0:00-4:00". Default to "00:00-23:59".
     * 
     */
    @Import(name="effectiveInterval")
    private @Nullable Output effectiveInterval;

    /**
     * @return The interval of effecting alarm rule. It format as "hh:mm-hh:mm", like "0:00-4:00". Default to "00:00-23:59".
     * 
     */
    public Optional> effectiveInterval() {
        return Optional.ofNullable(this.effectiveInterval);
    }

    /**
     * Whether to enable alarm rule. Default value: `true`.
     * 
     */
    @Import(name="enabled")
    private @Nullable Output enabled;

    /**
     * @return Whether to enable alarm rule. Default value: `true`.
     * 
     */
    public Optional> enabled() {
        return Optional.ofNullable(this.enabled);
    }

    /**
     * Field `end_time` has been deprecated from provider version 1.50.0. New field `effective_interval` instead.
     * 
     * @deprecated
     * Field `end_time` has been deprecated from provider version 1.50.0. New field `effective_interval` instead.
     * 
     */
    @Deprecated /* Field `end_time` has been deprecated from provider version 1.50.0. New field `effective_interval` instead. */
    @Import(name="endTime")
    private @Nullable Output endTime;

    /**
     * @return Field `end_time` has been deprecated from provider version 1.50.0. New field `effective_interval` instead.
     * 
     * @deprecated
     * Field `end_time` has been deprecated from provider version 1.50.0. New field `effective_interval` instead.
     * 
     */
    @Deprecated /* Field `end_time` has been deprecated from provider version 1.50.0. New field `effective_interval` instead. */
    public Optional> endTime() {
        return Optional.ofNullable(this.endTime);
    }

    /**
     * A configuration of critical alarm. See `escalations_critical` below.
     * 
     */
    @Import(name="escalationsCritical")
    private @Nullable Output escalationsCritical;

    /**
     * @return A configuration of critical alarm. See `escalations_critical` below.
     * 
     */
    public Optional> escalationsCritical() {
        return Optional.ofNullable(this.escalationsCritical);
    }

    /**
     * A configuration of critical info. See `escalations_info` below.
     * 
     */
    @Import(name="escalationsInfo")
    private @Nullable Output escalationsInfo;

    /**
     * @return A configuration of critical info. See `escalations_info` below.
     * 
     */
    public Optional> escalationsInfo() {
        return Optional.ofNullable(this.escalationsInfo);
    }

    /**
     * A configuration of critical warn. See `escalations_warn` below.
     * 
     */
    @Import(name="escalationsWarn")
    private @Nullable Output escalationsWarn;

    /**
     * @return A configuration of critical warn. See `escalations_warn` below.
     * 
     */
    public Optional> escalationsWarn() {
        return Optional.ofNullable(this.escalationsWarn);
    }

    /**
     * The name of the metric, such as `CPUUtilization` and `networkin_rate`. For more information, see [Metrics Reference](https://www.alibabacloud.com/help/doc-detail/28619.htm).
     * 
     */
    @Import(name="metric", required=true)
    private Output metric;

    /**
     * @return The name of the metric, such as `CPUUtilization` and `networkin_rate`. For more information, see [Metrics Reference](https://www.alibabacloud.com/help/doc-detail/28619.htm).
     * 
     */
    public Output metric() {
        return this.metric;
    }

    /**
     * Map of the resources associated with the alarm rule, such as "instanceId", "device" and "port". Each key's value is a string, and it uses comma to split multiple items. For more information, see [Metrics Reference](https://www.alibabacloud.com/help/doc-detail/28619.htm).
     * 
     */
    @Import(name="metricDimensions")
    private @Nullable Output metricDimensions;

    /**
     * @return Map of the resources associated with the alarm rule, such as "instanceId", "device" and "port". Each key's value is a string, and it uses comma to split multiple items. For more information, see [Metrics Reference](https://www.alibabacloud.com/help/doc-detail/28619.htm).
     * 
     */
    public Optional> metricDimensions() {
        return Optional.ofNullable(this.metricDimensions);
    }

    /**
     * The name of the alert rule.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return The name of the alert rule.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * Index query cycle, which must be consistent with that defined for metrics. Default to 300, in seconds.
     * 
     */
    @Import(name="period")
    private @Nullable Output period;

    /**
     * @return Index query cycle, which must be consistent with that defined for metrics. Default to 300, in seconds.
     * 
     */
    public Optional> period() {
        return Optional.ofNullable(this.period);
    }

    /**
     * The namespace of the cloud service, such as `acs_ecs_dashboard` and `acs_rds_dashboard`. For more information, see [Metrics Reference](https://www.alibabacloud.com/help/doc-detail/28619.htm).
     * **NOTE:** The `dimensions` and `metric_dimensions` must be empty when `project` is `acs_prometheus`, otherwise, one of them must be set.
     * 
     */
    @Import(name="project", required=true)
    private Output project;

    /**
     * @return The namespace of the cloud service, such as `acs_ecs_dashboard` and `acs_rds_dashboard`. For more information, see [Metrics Reference](https://www.alibabacloud.com/help/doc-detail/28619.htm).
     * **NOTE:** The `dimensions` and `metric_dimensions` must be empty when `project` is `acs_prometheus`, otherwise, one of them must be set.
     * 
     */
    public Output project() {
        return this.project;
    }

    /**
     * The Prometheus alert rule. See `prometheus` below. **Note:** This parameter is required only when you create a Prometheus alert rule for Hybrid Cloud Monitoring.
     * 
     */
    @Import(name="prometheuses")
    private @Nullable Output> prometheuses;

    /**
     * @return The Prometheus alert rule. See `prometheus` below. **Note:** This parameter is required only when you create a Prometheus alert rule for Hybrid Cloud Monitoring.
     * 
     */
    public Optional>> prometheuses() {
        return Optional.ofNullable(this.prometheuses);
    }

    /**
     * Notification silence period in the alarm state, in seconds. Default value: `86400`. Valid value range: [300, 86400].
     * 
     */
    @Import(name="silenceTime")
    private @Nullable Output silenceTime;

    /**
     * @return Notification silence period in the alarm state, in seconds. Default value: `86400`. Valid value range: [300, 86400].
     * 
     */
    public Optional> silenceTime() {
        return Optional.ofNullable(this.silenceTime);
    }

    /**
     * Field `start_time` has been deprecated from provider version 1.50.0. New field `effective_interval` instead.
     * 
     * @deprecated
     * Field `start_time` has been deprecated from provider version 1.50.0. New field `effective_interval` instead.
     * 
     */
    @Deprecated /* Field `start_time` has been deprecated from provider version 1.50.0. New field `effective_interval` instead. */
    @Import(name="startTime")
    private @Nullable Output startTime;

    /**
     * @return Field `start_time` has been deprecated from provider version 1.50.0. New field `effective_interval` instead.
     * 
     * @deprecated
     * Field `start_time` has been deprecated from provider version 1.50.0. New field `effective_interval` instead.
     * 
     */
    @Deprecated /* Field `start_time` has been deprecated from provider version 1.50.0. New field `effective_interval` instead. */
    public Optional> startTime() {
        return Optional.ofNullable(this.startTime);
    }

    /**
     * A mapping of tags to assign to the resource.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return A mapping of tags to assign to the resource.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * The information about the resource for which alerts are triggered. See `targets` below.
     * 
     */
    @Import(name="targets")
    private @Nullable Output> targets;

    /**
     * @return The information about the resource for which alerts are triggered. See `targets` below.
     * 
     */
    public Optional>> targets() {
        return Optional.ofNullable(this.targets);
    }

    /**
     * The webhook that should be called when the alarm is triggered. Currently, only http protocol is supported. Default is empty string.
     * 
     */
    @Import(name="webhook")
    private @Nullable Output webhook;

    /**
     * @return The webhook that should be called when the alarm is triggered. Currently, only http protocol is supported. Default is empty string.
     * 
     */
    public Optional> webhook() {
        return Optional.ofNullable(this.webhook);
    }

    private AlarmArgs() {}

    private AlarmArgs(AlarmArgs $) {
        this.contactGroups = $.contactGroups;
        this.dimensions = $.dimensions;
        this.effectiveInterval = $.effectiveInterval;
        this.enabled = $.enabled;
        this.endTime = $.endTime;
        this.escalationsCritical = $.escalationsCritical;
        this.escalationsInfo = $.escalationsInfo;
        this.escalationsWarn = $.escalationsWarn;
        this.metric = $.metric;
        this.metricDimensions = $.metricDimensions;
        this.name = $.name;
        this.period = $.period;
        this.project = $.project;
        this.prometheuses = $.prometheuses;
        this.silenceTime = $.silenceTime;
        this.startTime = $.startTime;
        this.tags = $.tags;
        this.targets = $.targets;
        this.webhook = $.webhook;
    }

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

    public static final class Builder {
        private AlarmArgs $;

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

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

        /**
         * @param contactGroups List contact groups of the alarm rule, which must have been created on the console.
         * 
         * @return builder
         * 
         */
        public Builder contactGroups(Output> contactGroups) {
            $.contactGroups = contactGroups;
            return this;
        }

        /**
         * @param contactGroups List contact groups of the alarm rule, which must have been created on the console.
         * 
         * @return builder
         * 
         */
        public Builder contactGroups(List contactGroups) {
            return contactGroups(Output.of(contactGroups));
        }

        /**
         * @param contactGroups List contact groups of the alarm rule, which must have been created on the console.
         * 
         * @return builder
         * 
         */
        public Builder contactGroups(String... contactGroups) {
            return contactGroups(List.of(contactGroups));
        }

        /**
         * @param dimensions Field `dimensions` has been deprecated from provider version 1.173.0. New field `metric_dimensions` instead.
         * 
         * @return builder
         * 
         * @deprecated
         * Field `dimensions` has been deprecated from provider version 1.173.0. New field `metric_dimensions` instead.
         * 
         */
        @Deprecated /* Field `dimensions` has been deprecated from provider version 1.173.0. New field `metric_dimensions` instead. */
        public Builder dimensions(@Nullable Output> dimensions) {
            $.dimensions = dimensions;
            return this;
        }

        /**
         * @param dimensions Field `dimensions` has been deprecated from provider version 1.173.0. New field `metric_dimensions` instead.
         * 
         * @return builder
         * 
         * @deprecated
         * Field `dimensions` has been deprecated from provider version 1.173.0. New field `metric_dimensions` instead.
         * 
         */
        @Deprecated /* Field `dimensions` has been deprecated from provider version 1.173.0. New field `metric_dimensions` instead. */
        public Builder dimensions(Map dimensions) {
            return dimensions(Output.of(dimensions));
        }

        /**
         * @param effectiveInterval The interval of effecting alarm rule. It format as "hh:mm-hh:mm", like "0:00-4:00". Default to "00:00-23:59".
         * 
         * @return builder
         * 
         */
        public Builder effectiveInterval(@Nullable Output effectiveInterval) {
            $.effectiveInterval = effectiveInterval;
            return this;
        }

        /**
         * @param effectiveInterval The interval of effecting alarm rule. It format as "hh:mm-hh:mm", like "0:00-4:00". Default to "00:00-23:59".
         * 
         * @return builder
         * 
         */
        public Builder effectiveInterval(String effectiveInterval) {
            return effectiveInterval(Output.of(effectiveInterval));
        }

        /**
         * @param enabled Whether to enable alarm rule. Default value: `true`.
         * 
         * @return builder
         * 
         */
        public Builder enabled(@Nullable Output enabled) {
            $.enabled = enabled;
            return this;
        }

        /**
         * @param enabled Whether to enable alarm rule. Default value: `true`.
         * 
         * @return builder
         * 
         */
        public Builder enabled(Boolean enabled) {
            return enabled(Output.of(enabled));
        }

        /**
         * @param endTime Field `end_time` has been deprecated from provider version 1.50.0. New field `effective_interval` instead.
         * 
         * @return builder
         * 
         * @deprecated
         * Field `end_time` has been deprecated from provider version 1.50.0. New field `effective_interval` instead.
         * 
         */
        @Deprecated /* Field `end_time` has been deprecated from provider version 1.50.0. New field `effective_interval` instead. */
        public Builder endTime(@Nullable Output endTime) {
            $.endTime = endTime;
            return this;
        }

        /**
         * @param endTime Field `end_time` has been deprecated from provider version 1.50.0. New field `effective_interval` instead.
         * 
         * @return builder
         * 
         * @deprecated
         * Field `end_time` has been deprecated from provider version 1.50.0. New field `effective_interval` instead.
         * 
         */
        @Deprecated /* Field `end_time` has been deprecated from provider version 1.50.0. New field `effective_interval` instead. */
        public Builder endTime(Integer endTime) {
            return endTime(Output.of(endTime));
        }

        /**
         * @param escalationsCritical A configuration of critical alarm. See `escalations_critical` below.
         * 
         * @return builder
         * 
         */
        public Builder escalationsCritical(@Nullable Output escalationsCritical) {
            $.escalationsCritical = escalationsCritical;
            return this;
        }

        /**
         * @param escalationsCritical A configuration of critical alarm. See `escalations_critical` below.
         * 
         * @return builder
         * 
         */
        public Builder escalationsCritical(AlarmEscalationsCriticalArgs escalationsCritical) {
            return escalationsCritical(Output.of(escalationsCritical));
        }

        /**
         * @param escalationsInfo A configuration of critical info. See `escalations_info` below.
         * 
         * @return builder
         * 
         */
        public Builder escalationsInfo(@Nullable Output escalationsInfo) {
            $.escalationsInfo = escalationsInfo;
            return this;
        }

        /**
         * @param escalationsInfo A configuration of critical info. See `escalations_info` below.
         * 
         * @return builder
         * 
         */
        public Builder escalationsInfo(AlarmEscalationsInfoArgs escalationsInfo) {
            return escalationsInfo(Output.of(escalationsInfo));
        }

        /**
         * @param escalationsWarn A configuration of critical warn. See `escalations_warn` below.
         * 
         * @return builder
         * 
         */
        public Builder escalationsWarn(@Nullable Output escalationsWarn) {
            $.escalationsWarn = escalationsWarn;
            return this;
        }

        /**
         * @param escalationsWarn A configuration of critical warn. See `escalations_warn` below.
         * 
         * @return builder
         * 
         */
        public Builder escalationsWarn(AlarmEscalationsWarnArgs escalationsWarn) {
            return escalationsWarn(Output.of(escalationsWarn));
        }

        /**
         * @param metric The name of the metric, such as `CPUUtilization` and `networkin_rate`. For more information, see [Metrics Reference](https://www.alibabacloud.com/help/doc-detail/28619.htm).
         * 
         * @return builder
         * 
         */
        public Builder metric(Output metric) {
            $.metric = metric;
            return this;
        }

        /**
         * @param metric The name of the metric, such as `CPUUtilization` and `networkin_rate`. For more information, see [Metrics Reference](https://www.alibabacloud.com/help/doc-detail/28619.htm).
         * 
         * @return builder
         * 
         */
        public Builder metric(String metric) {
            return metric(Output.of(metric));
        }

        /**
         * @param metricDimensions Map of the resources associated with the alarm rule, such as "instanceId", "device" and "port". Each key's value is a string, and it uses comma to split multiple items. For more information, see [Metrics Reference](https://www.alibabacloud.com/help/doc-detail/28619.htm).
         * 
         * @return builder
         * 
         */
        public Builder metricDimensions(@Nullable Output metricDimensions) {
            $.metricDimensions = metricDimensions;
            return this;
        }

        /**
         * @param metricDimensions Map of the resources associated with the alarm rule, such as "instanceId", "device" and "port". Each key's value is a string, and it uses comma to split multiple items. For more information, see [Metrics Reference](https://www.alibabacloud.com/help/doc-detail/28619.htm).
         * 
         * @return builder
         * 
         */
        public Builder metricDimensions(String metricDimensions) {
            return metricDimensions(Output.of(metricDimensions));
        }

        /**
         * @param name The name of the alert rule.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name The name of the alert rule.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param period Index query cycle, which must be consistent with that defined for metrics. Default to 300, in seconds.
         * 
         * @return builder
         * 
         */
        public Builder period(@Nullable Output period) {
            $.period = period;
            return this;
        }

        /**
         * @param period Index query cycle, which must be consistent with that defined for metrics. Default to 300, in seconds.
         * 
         * @return builder
         * 
         */
        public Builder period(Integer period) {
            return period(Output.of(period));
        }

        /**
         * @param project The namespace of the cloud service, such as `acs_ecs_dashboard` and `acs_rds_dashboard`. For more information, see [Metrics Reference](https://www.alibabacloud.com/help/doc-detail/28619.htm).
         * **NOTE:** The `dimensions` and `metric_dimensions` must be empty when `project` is `acs_prometheus`, otherwise, one of them must be set.
         * 
         * @return builder
         * 
         */
        public Builder project(Output project) {
            $.project = project;
            return this;
        }

        /**
         * @param project The namespace of the cloud service, such as `acs_ecs_dashboard` and `acs_rds_dashboard`. For more information, see [Metrics Reference](https://www.alibabacloud.com/help/doc-detail/28619.htm).
         * **NOTE:** The `dimensions` and `metric_dimensions` must be empty when `project` is `acs_prometheus`, otherwise, one of them must be set.
         * 
         * @return builder
         * 
         */
        public Builder project(String project) {
            return project(Output.of(project));
        }

        /**
         * @param prometheuses The Prometheus alert rule. See `prometheus` below. **Note:** This parameter is required only when you create a Prometheus alert rule for Hybrid Cloud Monitoring.
         * 
         * @return builder
         * 
         */
        public Builder prometheuses(@Nullable Output> prometheuses) {
            $.prometheuses = prometheuses;
            return this;
        }

        /**
         * @param prometheuses The Prometheus alert rule. See `prometheus` below. **Note:** This parameter is required only when you create a Prometheus alert rule for Hybrid Cloud Monitoring.
         * 
         * @return builder
         * 
         */
        public Builder prometheuses(List prometheuses) {
            return prometheuses(Output.of(prometheuses));
        }

        /**
         * @param prometheuses The Prometheus alert rule. See `prometheus` below. **Note:** This parameter is required only when you create a Prometheus alert rule for Hybrid Cloud Monitoring.
         * 
         * @return builder
         * 
         */
        public Builder prometheuses(AlarmPrometheusArgs... prometheuses) {
            return prometheuses(List.of(prometheuses));
        }

        /**
         * @param silenceTime Notification silence period in the alarm state, in seconds. Default value: `86400`. Valid value range: [300, 86400].
         * 
         * @return builder
         * 
         */
        public Builder silenceTime(@Nullable Output silenceTime) {
            $.silenceTime = silenceTime;
            return this;
        }

        /**
         * @param silenceTime Notification silence period in the alarm state, in seconds. Default value: `86400`. Valid value range: [300, 86400].
         * 
         * @return builder
         * 
         */
        public Builder silenceTime(Integer silenceTime) {
            return silenceTime(Output.of(silenceTime));
        }

        /**
         * @param startTime Field `start_time` has been deprecated from provider version 1.50.0. New field `effective_interval` instead.
         * 
         * @return builder
         * 
         * @deprecated
         * Field `start_time` has been deprecated from provider version 1.50.0. New field `effective_interval` instead.
         * 
         */
        @Deprecated /* Field `start_time` has been deprecated from provider version 1.50.0. New field `effective_interval` instead. */
        public Builder startTime(@Nullable Output startTime) {
            $.startTime = startTime;
            return this;
        }

        /**
         * @param startTime Field `start_time` has been deprecated from provider version 1.50.0. New field `effective_interval` instead.
         * 
         * @return builder
         * 
         * @deprecated
         * Field `start_time` has been deprecated from provider version 1.50.0. New field `effective_interval` instead.
         * 
         */
        @Deprecated /* Field `start_time` has been deprecated from provider version 1.50.0. New field `effective_interval` instead. */
        public Builder startTime(Integer startTime) {
            return startTime(Output.of(startTime));
        }

        /**
         * @param tags A mapping of tags to assign to the resource.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags A mapping of tags to assign to the resource.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param targets The information about the resource for which alerts are triggered. See `targets` below.
         * 
         * @return builder
         * 
         */
        public Builder targets(@Nullable Output> targets) {
            $.targets = targets;
            return this;
        }

        /**
         * @param targets The information about the resource for which alerts are triggered. See `targets` below.
         * 
         * @return builder
         * 
         */
        public Builder targets(List targets) {
            return targets(Output.of(targets));
        }

        /**
         * @param targets The information about the resource for which alerts are triggered. See `targets` below.
         * 
         * @return builder
         * 
         */
        public Builder targets(AlarmTargetArgs... targets) {
            return targets(List.of(targets));
        }

        /**
         * @param webhook The webhook that should be called when the alarm is triggered. Currently, only http protocol is supported. Default is empty string.
         * 
         * @return builder
         * 
         */
        public Builder webhook(@Nullable Output webhook) {
            $.webhook = webhook;
            return this;
        }

        /**
         * @param webhook The webhook that should be called when the alarm is triggered. Currently, only http protocol is supported. Default is empty string.
         * 
         * @return builder
         * 
         */
        public Builder webhook(String webhook) {
            return webhook(Output.of(webhook));
        }

        public AlarmArgs build() {
            if ($.contactGroups == null) {
                throw new MissingRequiredPropertyException("AlarmArgs", "contactGroups");
            }
            if ($.metric == null) {
                throw new MissingRequiredPropertyException("AlarmArgs", "metric");
            }
            if ($.project == null) {
                throw new MissingRequiredPropertyException("AlarmArgs", "project");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy