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

com.pulumi.azurenative.network.ExpressRouteCircuitArgs 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.enums.ServiceProviderProvisioningState;
import com.pulumi.azurenative.network.inputs.ExpressRouteCircuitAuthorizationArgs;
import com.pulumi.azurenative.network.inputs.ExpressRouteCircuitPeeringArgs;
import com.pulumi.azurenative.network.inputs.ExpressRouteCircuitServiceProviderPropertiesArgs;
import com.pulumi.azurenative.network.inputs.ExpressRouteCircuitSkuArgs;
import com.pulumi.azurenative.network.inputs.SubResourceArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Double;
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 ExpressRouteCircuitArgs extends com.pulumi.resources.ResourceArgs {

    public static final ExpressRouteCircuitArgs Empty = new ExpressRouteCircuitArgs();

    /**
     * Allow classic operations.
     * 
     */
    @Import(name="allowClassicOperations")
    private @Nullable Output allowClassicOperations;

    /**
     * @return Allow classic operations.
     * 
     */
    public Optional> allowClassicOperations() {
        return Optional.ofNullable(this.allowClassicOperations);
    }

    /**
     * The authorizationKey.
     * 
     */
    @Import(name="authorizationKey")
    private @Nullable Output authorizationKey;

    /**
     * @return The authorizationKey.
     * 
     */
    public Optional> authorizationKey() {
        return Optional.ofNullable(this.authorizationKey);
    }

    /**
     * The list of authorizations.
     * These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.
     * 
     */
    @Import(name="authorizations")
    private @Nullable Output> authorizations;

    /**
     * @return The list of authorizations.
     * These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.
     * 
     */
    public Optional>> authorizations() {
        return Optional.ofNullable(this.authorizations);
    }

    /**
     * The bandwidth of the circuit when the circuit is provisioned on an ExpressRoutePort resource.
     * 
     */
    @Import(name="bandwidthInGbps")
    private @Nullable Output bandwidthInGbps;

    /**
     * @return The bandwidth of the circuit when the circuit is provisioned on an ExpressRoutePort resource.
     * 
     */
    public Optional> bandwidthInGbps() {
        return Optional.ofNullable(this.bandwidthInGbps);
    }

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

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

    /**
     * The CircuitProvisioningState state of the resource.
     * 
     */
    @Import(name="circuitProvisioningState")
    private @Nullable Output circuitProvisioningState;

    /**
     * @return The CircuitProvisioningState state of the resource.
     * 
     */
    public Optional> circuitProvisioningState() {
        return Optional.ofNullable(this.circuitProvisioningState);
    }

    /**
     * The reference to the ExpressRoutePort resource when the circuit is provisioned on an ExpressRoutePort resource.
     * 
     */
    @Import(name="expressRoutePort")
    private @Nullable Output expressRoutePort;

    /**
     * @return The reference to the ExpressRoutePort resource when the circuit is provisioned on an ExpressRoutePort resource.
     * 
     */
    public Optional> expressRoutePort() {
        return Optional.ofNullable(this.expressRoutePort);
    }

    /**
     * The GatewayManager Etag.
     * 
     */
    @Import(name="gatewayManagerEtag")
    private @Nullable Output gatewayManagerEtag;

    /**
     * @return The GatewayManager Etag.
     * 
     */
    public Optional> gatewayManagerEtag() {
        return Optional.ofNullable(this.gatewayManagerEtag);
    }

    /**
     * Flag denoting global reach status.
     * 
     */
    @Import(name="globalReachEnabled")
    private @Nullable Output globalReachEnabled;

    /**
     * @return Flag denoting global reach status.
     * 
     */
    public Optional> globalReachEnabled() {
        return Optional.ofNullable(this.globalReachEnabled);
    }

    /**
     * Resource ID.
     * 
     */
    @Import(name="id")
    private @Nullable Output id;

    /**
     * @return Resource ID.
     * 
     */
    public Optional> id() {
        return Optional.ofNullable(this.id);
    }

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

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

    /**
     * The list of peerings.
     * These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.
     * 
     */
    @Import(name="peerings")
    private @Nullable Output> peerings;

    /**
     * @return The list of peerings.
     * These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.
     * 
     */
    public Optional>> peerings() {
        return Optional.ofNullable(this.peerings);
    }

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

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

    /**
     * The ServiceKey.
     * 
     */
    @Import(name="serviceKey")
    private @Nullable Output serviceKey;

    /**
     * @return The ServiceKey.
     * 
     */
    public Optional> serviceKey() {
        return Optional.ofNullable(this.serviceKey);
    }

    /**
     * The ServiceProviderNotes.
     * 
     */
    @Import(name="serviceProviderNotes")
    private @Nullable Output serviceProviderNotes;

    /**
     * @return The ServiceProviderNotes.
     * 
     */
    public Optional> serviceProviderNotes() {
        return Optional.ofNullable(this.serviceProviderNotes);
    }

    /**
     * The ServiceProviderProperties.
     * 
     */
    @Import(name="serviceProviderProperties")
    private @Nullable Output serviceProviderProperties;

    /**
     * @return The ServiceProviderProperties.
     * 
     */
    public Optional> serviceProviderProperties() {
        return Optional.ofNullable(this.serviceProviderProperties);
    }

    /**
     * The ServiceProviderProvisioningState state of the resource.
     * 
     */
    @Import(name="serviceProviderProvisioningState")
    private @Nullable Output> serviceProviderProvisioningState;

    /**
     * @return The ServiceProviderProvisioningState state of the resource.
     * 
     */
    public Optional>> serviceProviderProvisioningState() {
        return Optional.ofNullable(this.serviceProviderProvisioningState);
    }

    /**
     * The SKU.
     * 
     */
    @Import(name="sku")
    private @Nullable Output sku;

    /**
     * @return The SKU.
     * 
     */
    public Optional> sku() {
        return Optional.ofNullable(this.sku);
    }

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

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

    private ExpressRouteCircuitArgs() {}

    private ExpressRouteCircuitArgs(ExpressRouteCircuitArgs $) {
        this.allowClassicOperations = $.allowClassicOperations;
        this.authorizationKey = $.authorizationKey;
        this.authorizations = $.authorizations;
        this.bandwidthInGbps = $.bandwidthInGbps;
        this.circuitName = $.circuitName;
        this.circuitProvisioningState = $.circuitProvisioningState;
        this.expressRoutePort = $.expressRoutePort;
        this.gatewayManagerEtag = $.gatewayManagerEtag;
        this.globalReachEnabled = $.globalReachEnabled;
        this.id = $.id;
        this.location = $.location;
        this.peerings = $.peerings;
        this.resourceGroupName = $.resourceGroupName;
        this.serviceKey = $.serviceKey;
        this.serviceProviderNotes = $.serviceProviderNotes;
        this.serviceProviderProperties = $.serviceProviderProperties;
        this.serviceProviderProvisioningState = $.serviceProviderProvisioningState;
        this.sku = $.sku;
        this.tags = $.tags;
    }

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

    public static final class Builder {
        private ExpressRouteCircuitArgs $;

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

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

        /**
         * @param allowClassicOperations Allow classic operations.
         * 
         * @return builder
         * 
         */
        public Builder allowClassicOperations(@Nullable Output allowClassicOperations) {
            $.allowClassicOperations = allowClassicOperations;
            return this;
        }

        /**
         * @param allowClassicOperations Allow classic operations.
         * 
         * @return builder
         * 
         */
        public Builder allowClassicOperations(Boolean allowClassicOperations) {
            return allowClassicOperations(Output.of(allowClassicOperations));
        }

        /**
         * @param authorizationKey The authorizationKey.
         * 
         * @return builder
         * 
         */
        public Builder authorizationKey(@Nullable Output authorizationKey) {
            $.authorizationKey = authorizationKey;
            return this;
        }

        /**
         * @param authorizationKey The authorizationKey.
         * 
         * @return builder
         * 
         */
        public Builder authorizationKey(String authorizationKey) {
            return authorizationKey(Output.of(authorizationKey));
        }

        /**
         * @param authorizations The list of authorizations.
         * These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.
         * 
         * @return builder
         * 
         */
        public Builder authorizations(@Nullable Output> authorizations) {
            $.authorizations = authorizations;
            return this;
        }

        /**
         * @param authorizations The list of authorizations.
         * These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.
         * 
         * @return builder
         * 
         */
        public Builder authorizations(List authorizations) {
            return authorizations(Output.of(authorizations));
        }

        /**
         * @param authorizations The list of authorizations.
         * These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.
         * 
         * @return builder
         * 
         */
        public Builder authorizations(ExpressRouteCircuitAuthorizationArgs... authorizations) {
            return authorizations(List.of(authorizations));
        }

        /**
         * @param bandwidthInGbps The bandwidth of the circuit when the circuit is provisioned on an ExpressRoutePort resource.
         * 
         * @return builder
         * 
         */
        public Builder bandwidthInGbps(@Nullable Output bandwidthInGbps) {
            $.bandwidthInGbps = bandwidthInGbps;
            return this;
        }

        /**
         * @param bandwidthInGbps The bandwidth of the circuit when the circuit is provisioned on an ExpressRoutePort resource.
         * 
         * @return builder
         * 
         */
        public Builder bandwidthInGbps(Double bandwidthInGbps) {
            return bandwidthInGbps(Output.of(bandwidthInGbps));
        }

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

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

        /**
         * @param circuitProvisioningState The CircuitProvisioningState state of the resource.
         * 
         * @return builder
         * 
         */
        public Builder circuitProvisioningState(@Nullable Output circuitProvisioningState) {
            $.circuitProvisioningState = circuitProvisioningState;
            return this;
        }

        /**
         * @param circuitProvisioningState The CircuitProvisioningState state of the resource.
         * 
         * @return builder
         * 
         */
        public Builder circuitProvisioningState(String circuitProvisioningState) {
            return circuitProvisioningState(Output.of(circuitProvisioningState));
        }

        /**
         * @param expressRoutePort The reference to the ExpressRoutePort resource when the circuit is provisioned on an ExpressRoutePort resource.
         * 
         * @return builder
         * 
         */
        public Builder expressRoutePort(@Nullable Output expressRoutePort) {
            $.expressRoutePort = expressRoutePort;
            return this;
        }

        /**
         * @param expressRoutePort The reference to the ExpressRoutePort resource when the circuit is provisioned on an ExpressRoutePort resource.
         * 
         * @return builder
         * 
         */
        public Builder expressRoutePort(SubResourceArgs expressRoutePort) {
            return expressRoutePort(Output.of(expressRoutePort));
        }

        /**
         * @param gatewayManagerEtag The GatewayManager Etag.
         * 
         * @return builder
         * 
         */
        public Builder gatewayManagerEtag(@Nullable Output gatewayManagerEtag) {
            $.gatewayManagerEtag = gatewayManagerEtag;
            return this;
        }

        /**
         * @param gatewayManagerEtag The GatewayManager Etag.
         * 
         * @return builder
         * 
         */
        public Builder gatewayManagerEtag(String gatewayManagerEtag) {
            return gatewayManagerEtag(Output.of(gatewayManagerEtag));
        }

        /**
         * @param globalReachEnabled Flag denoting global reach status.
         * 
         * @return builder
         * 
         */
        public Builder globalReachEnabled(@Nullable Output globalReachEnabled) {
            $.globalReachEnabled = globalReachEnabled;
            return this;
        }

        /**
         * @param globalReachEnabled Flag denoting global reach status.
         * 
         * @return builder
         * 
         */
        public Builder globalReachEnabled(Boolean globalReachEnabled) {
            return globalReachEnabled(Output.of(globalReachEnabled));
        }

        /**
         * @param id Resource ID.
         * 
         * @return builder
         * 
         */
        public Builder id(@Nullable Output id) {
            $.id = id;
            return this;
        }

        /**
         * @param id Resource ID.
         * 
         * @return builder
         * 
         */
        public Builder id(String id) {
            return id(Output.of(id));
        }

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

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

        /**
         * @param peerings The list of peerings.
         * These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.
         * 
         * @return builder
         * 
         */
        public Builder peerings(@Nullable Output> peerings) {
            $.peerings = peerings;
            return this;
        }

        /**
         * @param peerings The list of peerings.
         * These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.
         * 
         * @return builder
         * 
         */
        public Builder peerings(List peerings) {
            return peerings(Output.of(peerings));
        }

        /**
         * @param peerings The list of peerings.
         * These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion.
         * 
         * @return builder
         * 
         */
        public Builder peerings(ExpressRouteCircuitPeeringArgs... peerings) {
            return peerings(List.of(peerings));
        }

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

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

        /**
         * @param serviceKey The ServiceKey.
         * 
         * @return builder
         * 
         */
        public Builder serviceKey(@Nullable Output serviceKey) {
            $.serviceKey = serviceKey;
            return this;
        }

        /**
         * @param serviceKey The ServiceKey.
         * 
         * @return builder
         * 
         */
        public Builder serviceKey(String serviceKey) {
            return serviceKey(Output.of(serviceKey));
        }

        /**
         * @param serviceProviderNotes The ServiceProviderNotes.
         * 
         * @return builder
         * 
         */
        public Builder serviceProviderNotes(@Nullable Output serviceProviderNotes) {
            $.serviceProviderNotes = serviceProviderNotes;
            return this;
        }

        /**
         * @param serviceProviderNotes The ServiceProviderNotes.
         * 
         * @return builder
         * 
         */
        public Builder serviceProviderNotes(String serviceProviderNotes) {
            return serviceProviderNotes(Output.of(serviceProviderNotes));
        }

        /**
         * @param serviceProviderProperties The ServiceProviderProperties.
         * 
         * @return builder
         * 
         */
        public Builder serviceProviderProperties(@Nullable Output serviceProviderProperties) {
            $.serviceProviderProperties = serviceProviderProperties;
            return this;
        }

        /**
         * @param serviceProviderProperties The ServiceProviderProperties.
         * 
         * @return builder
         * 
         */
        public Builder serviceProviderProperties(ExpressRouteCircuitServiceProviderPropertiesArgs serviceProviderProperties) {
            return serviceProviderProperties(Output.of(serviceProviderProperties));
        }

        /**
         * @param serviceProviderProvisioningState The ServiceProviderProvisioningState state of the resource.
         * 
         * @return builder
         * 
         */
        public Builder serviceProviderProvisioningState(@Nullable Output> serviceProviderProvisioningState) {
            $.serviceProviderProvisioningState = serviceProviderProvisioningState;
            return this;
        }

        /**
         * @param serviceProviderProvisioningState The ServiceProviderProvisioningState state of the resource.
         * 
         * @return builder
         * 
         */
        public Builder serviceProviderProvisioningState(Either serviceProviderProvisioningState) {
            return serviceProviderProvisioningState(Output.of(serviceProviderProvisioningState));
        }

        /**
         * @param serviceProviderProvisioningState The ServiceProviderProvisioningState state of the resource.
         * 
         * @return builder
         * 
         */
        public Builder serviceProviderProvisioningState(String serviceProviderProvisioningState) {
            return serviceProviderProvisioningState(Either.ofLeft(serviceProviderProvisioningState));
        }

        /**
         * @param serviceProviderProvisioningState The ServiceProviderProvisioningState state of the resource.
         * 
         * @return builder
         * 
         */
        public Builder serviceProviderProvisioningState(ServiceProviderProvisioningState serviceProviderProvisioningState) {
            return serviceProviderProvisioningState(Either.ofRight(serviceProviderProvisioningState));
        }

        /**
         * @param sku The SKU.
         * 
         * @return builder
         * 
         */
        public Builder sku(@Nullable Output sku) {
            $.sku = sku;
            return this;
        }

        /**
         * @param sku The SKU.
         * 
         * @return builder
         * 
         */
        public Builder sku(ExpressRouteCircuitSkuArgs sku) {
            return sku(Output.of(sku));
        }

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

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

        public ExpressRouteCircuitArgs build() {
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("ExpressRouteCircuitArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy