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

com.pulumi.aws.cloudwatch.inputs.InternetMonitorState Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

There is a newer version: 6.66.3
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.aws.cloudwatch.inputs;

import com.pulumi.aws.cloudwatch.inputs.InternetMonitorHealthEventsConfigArgs;
import com.pulumi.aws.cloudwatch.inputs.InternetMonitorInternetMeasurementsLogDeliveryArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Integer;
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 InternetMonitorState extends com.pulumi.resources.ResourceArgs {

    public static final InternetMonitorState Empty = new InternetMonitorState();

    /**
     * ARN of the Monitor.
     * 
     */
    @Import(name="arn")
    private @Nullable Output arn;

    /**
     * @return ARN of the Monitor.
     * 
     */
    public Optional> arn() {
        return Optional.ofNullable(this.arn);
    }

    /**
     * Health event thresholds. A health event threshold percentage, for performance and availability, determines when Internet Monitor creates a health event when there's an internet issue that affects your application end users. See Health Events Config below.
     * 
     */
    @Import(name="healthEventsConfig")
    private @Nullable Output healthEventsConfig;

    /**
     * @return Health event thresholds. A health event threshold percentage, for performance and availability, determines when Internet Monitor creates a health event when there's an internet issue that affects your application end users. See Health Events Config below.
     * 
     */
    public Optional> healthEventsConfig() {
        return Optional.ofNullable(this.healthEventsConfig);
    }

    /**
     * Publish internet measurements for Internet Monitor to an Amazon S3 bucket in addition to CloudWatch Logs.
     * 
     */
    @Import(name="internetMeasurementsLogDelivery")
    private @Nullable Output internetMeasurementsLogDelivery;

    /**
     * @return Publish internet measurements for Internet Monitor to an Amazon S3 bucket in addition to CloudWatch Logs.
     * 
     */
    public Optional> internetMeasurementsLogDelivery() {
        return Optional.ofNullable(this.internetMeasurementsLogDelivery);
    }

    /**
     * The maximum number of city-networks to monitor for your resources. A city-network is the location (city) where clients access your application resources from and the network or ASN, such as an internet service provider (ISP), that clients access the resources through. This limit helps control billing costs.
     * 
     */
    @Import(name="maxCityNetworksToMonitor")
    private @Nullable Output maxCityNetworksToMonitor;

    /**
     * @return The maximum number of city-networks to monitor for your resources. A city-network is the location (city) where clients access your application resources from and the network or ASN, such as an internet service provider (ISP), that clients access the resources through. This limit helps control billing costs.
     * 
     */
    public Optional> maxCityNetworksToMonitor() {
        return Optional.ofNullable(this.maxCityNetworksToMonitor);
    }

    /**
     * The name of the monitor.
     * 
     * The following arguments are optional:
     * 
     */
    @Import(name="monitorName")
    private @Nullable Output monitorName;

    /**
     * @return The name of the monitor.
     * 
     * The following arguments are optional:
     * 
     */
    public Optional> monitorName() {
        return Optional.ofNullable(this.monitorName);
    }

    /**
     * The resources to include in a monitor, which you provide as a set of Amazon Resource Names (ARNs).
     * 
     */
    @Import(name="resources")
    private @Nullable Output> resources;

    /**
     * @return The resources to include in a monitor, which you provide as a set of Amazon Resource Names (ARNs).
     * 
     */
    public Optional>> resources() {
        return Optional.ofNullable(this.resources);
    }

    /**
     * The status for a monitor. The accepted values for Status with the UpdateMonitor API call are the following: `ACTIVE` and `INACTIVE`.
     * 
     */
    @Import(name="status")
    private @Nullable Output status;

    /**
     * @return The status for a monitor. The accepted values for Status with the UpdateMonitor API call are the following: `ACTIVE` and `INACTIVE`.
     * 
     */
    public Optional> status() {
        return Optional.ofNullable(this.status);
    }

    /**
     * Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
     * 
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    @Import(name="tagsAll")
    private @Nullable Output> tagsAll;

    /**
     * @return Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
     * 
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    public Optional>> tagsAll() {
        return Optional.ofNullable(this.tagsAll);
    }

    /**
     * The percentage of the internet-facing traffic for your application that you want to monitor with this monitor.
     * 
     */
    @Import(name="trafficPercentageToMonitor")
    private @Nullable Output trafficPercentageToMonitor;

    /**
     * @return The percentage of the internet-facing traffic for your application that you want to monitor with this monitor.
     * 
     */
    public Optional> trafficPercentageToMonitor() {
        return Optional.ofNullable(this.trafficPercentageToMonitor);
    }

    private InternetMonitorState() {}

    private InternetMonitorState(InternetMonitorState $) {
        this.arn = $.arn;
        this.healthEventsConfig = $.healthEventsConfig;
        this.internetMeasurementsLogDelivery = $.internetMeasurementsLogDelivery;
        this.maxCityNetworksToMonitor = $.maxCityNetworksToMonitor;
        this.monitorName = $.monitorName;
        this.resources = $.resources;
        this.status = $.status;
        this.tags = $.tags;
        this.tagsAll = $.tagsAll;
        this.trafficPercentageToMonitor = $.trafficPercentageToMonitor;
    }

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

    public static final class Builder {
        private InternetMonitorState $;

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

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

        /**
         * @param arn ARN of the Monitor.
         * 
         * @return builder
         * 
         */
        public Builder arn(@Nullable Output arn) {
            $.arn = arn;
            return this;
        }

        /**
         * @param arn ARN of the Monitor.
         * 
         * @return builder
         * 
         */
        public Builder arn(String arn) {
            return arn(Output.of(arn));
        }

        /**
         * @param healthEventsConfig Health event thresholds. A health event threshold percentage, for performance and availability, determines when Internet Monitor creates a health event when there's an internet issue that affects your application end users. See Health Events Config below.
         * 
         * @return builder
         * 
         */
        public Builder healthEventsConfig(@Nullable Output healthEventsConfig) {
            $.healthEventsConfig = healthEventsConfig;
            return this;
        }

        /**
         * @param healthEventsConfig Health event thresholds. A health event threshold percentage, for performance and availability, determines when Internet Monitor creates a health event when there's an internet issue that affects your application end users. See Health Events Config below.
         * 
         * @return builder
         * 
         */
        public Builder healthEventsConfig(InternetMonitorHealthEventsConfigArgs healthEventsConfig) {
            return healthEventsConfig(Output.of(healthEventsConfig));
        }

        /**
         * @param internetMeasurementsLogDelivery Publish internet measurements for Internet Monitor to an Amazon S3 bucket in addition to CloudWatch Logs.
         * 
         * @return builder
         * 
         */
        public Builder internetMeasurementsLogDelivery(@Nullable Output internetMeasurementsLogDelivery) {
            $.internetMeasurementsLogDelivery = internetMeasurementsLogDelivery;
            return this;
        }

        /**
         * @param internetMeasurementsLogDelivery Publish internet measurements for Internet Monitor to an Amazon S3 bucket in addition to CloudWatch Logs.
         * 
         * @return builder
         * 
         */
        public Builder internetMeasurementsLogDelivery(InternetMonitorInternetMeasurementsLogDeliveryArgs internetMeasurementsLogDelivery) {
            return internetMeasurementsLogDelivery(Output.of(internetMeasurementsLogDelivery));
        }

        /**
         * @param maxCityNetworksToMonitor The maximum number of city-networks to monitor for your resources. A city-network is the location (city) where clients access your application resources from and the network or ASN, such as an internet service provider (ISP), that clients access the resources through. This limit helps control billing costs.
         * 
         * @return builder
         * 
         */
        public Builder maxCityNetworksToMonitor(@Nullable Output maxCityNetworksToMonitor) {
            $.maxCityNetworksToMonitor = maxCityNetworksToMonitor;
            return this;
        }

        /**
         * @param maxCityNetworksToMonitor The maximum number of city-networks to monitor for your resources. A city-network is the location (city) where clients access your application resources from and the network or ASN, such as an internet service provider (ISP), that clients access the resources through. This limit helps control billing costs.
         * 
         * @return builder
         * 
         */
        public Builder maxCityNetworksToMonitor(Integer maxCityNetworksToMonitor) {
            return maxCityNetworksToMonitor(Output.of(maxCityNetworksToMonitor));
        }

        /**
         * @param monitorName The name of the monitor.
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder monitorName(@Nullable Output monitorName) {
            $.monitorName = monitorName;
            return this;
        }

        /**
         * @param monitorName The name of the monitor.
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder monitorName(String monitorName) {
            return monitorName(Output.of(monitorName));
        }

        /**
         * @param resources The resources to include in a monitor, which you provide as a set of Amazon Resource Names (ARNs).
         * 
         * @return builder
         * 
         */
        public Builder resources(@Nullable Output> resources) {
            $.resources = resources;
            return this;
        }

        /**
         * @param resources The resources to include in a monitor, which you provide as a set of Amazon Resource Names (ARNs).
         * 
         * @return builder
         * 
         */
        public Builder resources(List resources) {
            return resources(Output.of(resources));
        }

        /**
         * @param resources The resources to include in a monitor, which you provide as a set of Amazon Resource Names (ARNs).
         * 
         * @return builder
         * 
         */
        public Builder resources(String... resources) {
            return resources(List.of(resources));
        }

        /**
         * @param status The status for a monitor. The accepted values for Status with the UpdateMonitor API call are the following: `ACTIVE` and `INACTIVE`.
         * 
         * @return builder
         * 
         */
        public Builder status(@Nullable Output status) {
            $.status = status;
            return this;
        }

        /**
         * @param status The status for a monitor. The accepted values for Status with the UpdateMonitor API call are the following: `ACTIVE` and `INACTIVE`.
         * 
         * @return builder
         * 
         */
        public Builder status(String status) {
            return status(Output.of(status));
        }

        /**
         * @param tags Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
         * 
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(@Nullable Output> tagsAll) {
            $.tagsAll = tagsAll;
            return this;
        }

        /**
         * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
         * 
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(Map tagsAll) {
            return tagsAll(Output.of(tagsAll));
        }

        /**
         * @param trafficPercentageToMonitor The percentage of the internet-facing traffic for your application that you want to monitor with this monitor.
         * 
         * @return builder
         * 
         */
        public Builder trafficPercentageToMonitor(@Nullable Output trafficPercentageToMonitor) {
            $.trafficPercentageToMonitor = trafficPercentageToMonitor;
            return this;
        }

        /**
         * @param trafficPercentageToMonitor The percentage of the internet-facing traffic for your application that you want to monitor with this monitor.
         * 
         * @return builder
         * 
         */
        public Builder trafficPercentageToMonitor(Integer trafficPercentageToMonitor) {
            return trafficPercentageToMonitor(Output.of(trafficPercentageToMonitor));
        }

        public InternetMonitorState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy