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

com.pulumi.azurenative.network.ConnectionMonitorArgs Maven / Gradle / Ivy

There is a newer version: 2.82.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.network;

import com.pulumi.azurenative.network.inputs.ConnectionMonitorDestinationArgs;
import com.pulumi.azurenative.network.inputs.ConnectionMonitorEndpointArgs;
import com.pulumi.azurenative.network.inputs.ConnectionMonitorOutputArgs;
import com.pulumi.azurenative.network.inputs.ConnectionMonitorSourceArgs;
import com.pulumi.azurenative.network.inputs.ConnectionMonitorTestConfigurationArgs;
import com.pulumi.azurenative.network.inputs.ConnectionMonitorTestGroupArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
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 ConnectionMonitorArgs extends com.pulumi.resources.ResourceArgs {

    public static final ConnectionMonitorArgs Empty = new ConnectionMonitorArgs();

    /**
     * Determines if the connection monitor will start automatically once created.
     * 
     */
    @Import(name="autoStart")
    private @Nullable Output autoStart;

    /**
     * @return Determines if the connection monitor will start automatically once created.
     * 
     */
    public Optional> autoStart() {
        return Optional.ofNullable(this.autoStart);
    }

    /**
     * The name of the connection monitor.
     * 
     */
    @Import(name="connectionMonitorName")
    private @Nullable Output connectionMonitorName;

    /**
     * @return The name of the connection monitor.
     * 
     */
    public Optional> connectionMonitorName() {
        return Optional.ofNullable(this.connectionMonitorName);
    }

    /**
     * Describes the destination of connection monitor.
     * 
     */
    @Import(name="destination")
    private @Nullable Output destination;

    /**
     * @return Describes the destination of connection monitor.
     * 
     */
    public Optional> destination() {
        return Optional.ofNullable(this.destination);
    }

    /**
     * List of connection monitor endpoints.
     * 
     */
    @Import(name="endpoints")
    private @Nullable Output> endpoints;

    /**
     * @return List of connection monitor endpoints.
     * 
     */
    public Optional>> endpoints() {
        return Optional.ofNullable(this.endpoints);
    }

    /**
     * Connection monitor location.
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return Connection monitor location.
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * Value indicating whether connection monitor V1 should be migrated to V2 format.
     * 
     */
    @Import(name="migrate")
    private @Nullable Output migrate;

    /**
     * @return Value indicating whether connection monitor V1 should be migrated to V2 format.
     * 
     */
    public Optional> migrate() {
        return Optional.ofNullable(this.migrate);
    }

    /**
     * Monitoring interval in seconds.
     * 
     */
    @Import(name="monitoringIntervalInSeconds")
    private @Nullable Output monitoringIntervalInSeconds;

    /**
     * @return Monitoring interval in seconds.
     * 
     */
    public Optional> monitoringIntervalInSeconds() {
        return Optional.ofNullable(this.monitoringIntervalInSeconds);
    }

    /**
     * The name of the Network Watcher resource.
     * 
     */
    @Import(name="networkWatcherName", required=true)
    private Output networkWatcherName;

    /**
     * @return The name of the Network Watcher resource.
     * 
     */
    public Output networkWatcherName() {
        return this.networkWatcherName;
    }

    /**
     * Optional notes to be associated with the connection monitor.
     * 
     */
    @Import(name="notes")
    private @Nullable Output notes;

    /**
     * @return Optional notes to be associated with the connection monitor.
     * 
     */
    public Optional> notes() {
        return Optional.ofNullable(this.notes);
    }

    /**
     * List of connection monitor outputs.
     * 
     */
    @Import(name="outputs")
    private @Nullable Output> outputs;

    /**
     * @return List of connection monitor outputs.
     * 
     */
    public Optional>> outputs() {
        return Optional.ofNullable(this.outputs);
    }

    /**
     * The name of the resource group containing Network Watcher.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group containing Network Watcher.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * Describes the source of connection monitor.
     * 
     */
    @Import(name="source")
    private @Nullable Output source;

    /**
     * @return Describes the source of connection monitor.
     * 
     */
    public Optional> source() {
        return Optional.ofNullable(this.source);
    }

    /**
     * Connection monitor tags.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Connection monitor tags.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * List of connection monitor test configurations.
     * 
     */
    @Import(name="testConfigurations")
    private @Nullable Output> testConfigurations;

    /**
     * @return List of connection monitor test configurations.
     * 
     */
    public Optional>> testConfigurations() {
        return Optional.ofNullable(this.testConfigurations);
    }

    /**
     * List of connection monitor test groups.
     * 
     */
    @Import(name="testGroups")
    private @Nullable Output> testGroups;

    /**
     * @return List of connection monitor test groups.
     * 
     */
    public Optional>> testGroups() {
        return Optional.ofNullable(this.testGroups);
    }

    private ConnectionMonitorArgs() {}

    private ConnectionMonitorArgs(ConnectionMonitorArgs $) {
        this.autoStart = $.autoStart;
        this.connectionMonitorName = $.connectionMonitorName;
        this.destination = $.destination;
        this.endpoints = $.endpoints;
        this.location = $.location;
        this.migrate = $.migrate;
        this.monitoringIntervalInSeconds = $.monitoringIntervalInSeconds;
        this.networkWatcherName = $.networkWatcherName;
        this.notes = $.notes;
        this.outputs = $.outputs;
        this.resourceGroupName = $.resourceGroupName;
        this.source = $.source;
        this.tags = $.tags;
        this.testConfigurations = $.testConfigurations;
        this.testGroups = $.testGroups;
    }

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

    public static final class Builder {
        private ConnectionMonitorArgs $;

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

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

        /**
         * @param autoStart Determines if the connection monitor will start automatically once created.
         * 
         * @return builder
         * 
         */
        public Builder autoStart(@Nullable Output autoStart) {
            $.autoStart = autoStart;
            return this;
        }

        /**
         * @param autoStart Determines if the connection monitor will start automatically once created.
         * 
         * @return builder
         * 
         */
        public Builder autoStart(Boolean autoStart) {
            return autoStart(Output.of(autoStart));
        }

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

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

        /**
         * @param destination Describes the destination of connection monitor.
         * 
         * @return builder
         * 
         */
        public Builder destination(@Nullable Output destination) {
            $.destination = destination;
            return this;
        }

        /**
         * @param destination Describes the destination of connection monitor.
         * 
         * @return builder
         * 
         */
        public Builder destination(ConnectionMonitorDestinationArgs destination) {
            return destination(Output.of(destination));
        }

        /**
         * @param endpoints List of connection monitor endpoints.
         * 
         * @return builder
         * 
         */
        public Builder endpoints(@Nullable Output> endpoints) {
            $.endpoints = endpoints;
            return this;
        }

        /**
         * @param endpoints List of connection monitor endpoints.
         * 
         * @return builder
         * 
         */
        public Builder endpoints(List endpoints) {
            return endpoints(Output.of(endpoints));
        }

        /**
         * @param endpoints List of connection monitor endpoints.
         * 
         * @return builder
         * 
         */
        public Builder endpoints(ConnectionMonitorEndpointArgs... endpoints) {
            return endpoints(List.of(endpoints));
        }

        /**
         * @param location Connection monitor location.
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location Connection monitor location.
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param migrate Value indicating whether connection monitor V1 should be migrated to V2 format.
         * 
         * @return builder
         * 
         */
        public Builder migrate(@Nullable Output migrate) {
            $.migrate = migrate;
            return this;
        }

        /**
         * @param migrate Value indicating whether connection monitor V1 should be migrated to V2 format.
         * 
         * @return builder
         * 
         */
        public Builder migrate(String migrate) {
            return migrate(Output.of(migrate));
        }

        /**
         * @param monitoringIntervalInSeconds Monitoring interval in seconds.
         * 
         * @return builder
         * 
         */
        public Builder monitoringIntervalInSeconds(@Nullable Output monitoringIntervalInSeconds) {
            $.monitoringIntervalInSeconds = monitoringIntervalInSeconds;
            return this;
        }

        /**
         * @param monitoringIntervalInSeconds Monitoring interval in seconds.
         * 
         * @return builder
         * 
         */
        public Builder monitoringIntervalInSeconds(Integer monitoringIntervalInSeconds) {
            return monitoringIntervalInSeconds(Output.of(monitoringIntervalInSeconds));
        }

        /**
         * @param networkWatcherName The name of the Network Watcher resource.
         * 
         * @return builder
         * 
         */
        public Builder networkWatcherName(Output networkWatcherName) {
            $.networkWatcherName = networkWatcherName;
            return this;
        }

        /**
         * @param networkWatcherName The name of the Network Watcher resource.
         * 
         * @return builder
         * 
         */
        public Builder networkWatcherName(String networkWatcherName) {
            return networkWatcherName(Output.of(networkWatcherName));
        }

        /**
         * @param notes Optional notes to be associated with the connection monitor.
         * 
         * @return builder
         * 
         */
        public Builder notes(@Nullable Output notes) {
            $.notes = notes;
            return this;
        }

        /**
         * @param notes Optional notes to be associated with the connection monitor.
         * 
         * @return builder
         * 
         */
        public Builder notes(String notes) {
            return notes(Output.of(notes));
        }

        /**
         * @param outputs List of connection monitor outputs.
         * 
         * @return builder
         * 
         */
        public Builder outputs(@Nullable Output> outputs) {
            $.outputs = outputs;
            return this;
        }

        /**
         * @param outputs List of connection monitor outputs.
         * 
         * @return builder
         * 
         */
        public Builder outputs(List outputs) {
            return outputs(Output.of(outputs));
        }

        /**
         * @param outputs List of connection monitor outputs.
         * 
         * @return builder
         * 
         */
        public Builder outputs(ConnectionMonitorOutputArgs... outputs) {
            return outputs(List.of(outputs));
        }

        /**
         * @param resourceGroupName The name of the resource group containing Network Watcher.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group containing Network Watcher.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param source Describes the source of connection monitor.
         * 
         * @return builder
         * 
         */
        public Builder source(@Nullable Output source) {
            $.source = source;
            return this;
        }

        /**
         * @param source Describes the source of connection monitor.
         * 
         * @return builder
         * 
         */
        public Builder source(ConnectionMonitorSourceArgs source) {
            return source(Output.of(source));
        }

        /**
         * @param tags Connection monitor tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Connection monitor tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param testConfigurations List of connection monitor test configurations.
         * 
         * @return builder
         * 
         */
        public Builder testConfigurations(@Nullable Output> testConfigurations) {
            $.testConfigurations = testConfigurations;
            return this;
        }

        /**
         * @param testConfigurations List of connection monitor test configurations.
         * 
         * @return builder
         * 
         */
        public Builder testConfigurations(List testConfigurations) {
            return testConfigurations(Output.of(testConfigurations));
        }

        /**
         * @param testConfigurations List of connection monitor test configurations.
         * 
         * @return builder
         * 
         */
        public Builder testConfigurations(ConnectionMonitorTestConfigurationArgs... testConfigurations) {
            return testConfigurations(List.of(testConfigurations));
        }

        /**
         * @param testGroups List of connection monitor test groups.
         * 
         * @return builder
         * 
         */
        public Builder testGroups(@Nullable Output> testGroups) {
            $.testGroups = testGroups;
            return this;
        }

        /**
         * @param testGroups List of connection monitor test groups.
         * 
         * @return builder
         * 
         */
        public Builder testGroups(List testGroups) {
            return testGroups(Output.of(testGroups));
        }

        /**
         * @param testGroups List of connection monitor test groups.
         * 
         * @return builder
         * 
         */
        public Builder testGroups(ConnectionMonitorTestGroupArgs... testGroups) {
            return testGroups(List.of(testGroups));
        }

        public ConnectionMonitorArgs build() {
            $.autoStart = Codegen.booleanProp("autoStart").output().arg($.autoStart).def(true).getNullable();
            $.monitoringIntervalInSeconds = Codegen.integerProp("monitoringIntervalInSeconds").output().arg($.monitoringIntervalInSeconds).def(60).getNullable();
            if ($.networkWatcherName == null) {
                throw new MissingRequiredPropertyException("ConnectionMonitorArgs", "networkWatcherName");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("ConnectionMonitorArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy