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

com.pulumi.azurenative.network.inputs.Ipv6ExpressRouteCircuitPeeringConfigArgs 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.inputs;

import com.pulumi.azurenative.network.enums.ExpressRouteCircuitPeeringState;
import com.pulumi.azurenative.network.inputs.ExpressRouteCircuitPeeringConfigArgs;
import com.pulumi.azurenative.network.inputs.SubResourceArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Contains IPv6 peering config.
 * 
 */
public final class Ipv6ExpressRouteCircuitPeeringConfigArgs extends com.pulumi.resources.ResourceArgs {

    public static final Ipv6ExpressRouteCircuitPeeringConfigArgs Empty = new Ipv6ExpressRouteCircuitPeeringConfigArgs();

    /**
     * The Microsoft peering configuration.
     * 
     */
    @Import(name="microsoftPeeringConfig")
    private @Nullable Output microsoftPeeringConfig;

    /**
     * @return The Microsoft peering configuration.
     * 
     */
    public Optional> microsoftPeeringConfig() {
        return Optional.ofNullable(this.microsoftPeeringConfig);
    }

    /**
     * The primary address prefix.
     * 
     */
    @Import(name="primaryPeerAddressPrefix")
    private @Nullable Output primaryPeerAddressPrefix;

    /**
     * @return The primary address prefix.
     * 
     */
    public Optional> primaryPeerAddressPrefix() {
        return Optional.ofNullable(this.primaryPeerAddressPrefix);
    }

    /**
     * The reference to the RouteFilter resource.
     * 
     */
    @Import(name="routeFilter")
    private @Nullable Output routeFilter;

    /**
     * @return The reference to the RouteFilter resource.
     * 
     */
    public Optional> routeFilter() {
        return Optional.ofNullable(this.routeFilter);
    }

    /**
     * The secondary address prefix.
     * 
     */
    @Import(name="secondaryPeerAddressPrefix")
    private @Nullable Output secondaryPeerAddressPrefix;

    /**
     * @return The secondary address prefix.
     * 
     */
    public Optional> secondaryPeerAddressPrefix() {
        return Optional.ofNullable(this.secondaryPeerAddressPrefix);
    }

    /**
     * The state of peering.
     * 
     */
    @Import(name="state")
    private @Nullable Output> state;

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

    private Ipv6ExpressRouteCircuitPeeringConfigArgs() {}

    private Ipv6ExpressRouteCircuitPeeringConfigArgs(Ipv6ExpressRouteCircuitPeeringConfigArgs $) {
        this.microsoftPeeringConfig = $.microsoftPeeringConfig;
        this.primaryPeerAddressPrefix = $.primaryPeerAddressPrefix;
        this.routeFilter = $.routeFilter;
        this.secondaryPeerAddressPrefix = $.secondaryPeerAddressPrefix;
        this.state = $.state;
    }

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

    public static final class Builder {
        private Ipv6ExpressRouteCircuitPeeringConfigArgs $;

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

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

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

        /**
         * @param microsoftPeeringConfig The Microsoft peering configuration.
         * 
         * @return builder
         * 
         */
        public Builder microsoftPeeringConfig(ExpressRouteCircuitPeeringConfigArgs microsoftPeeringConfig) {
            return microsoftPeeringConfig(Output.of(microsoftPeeringConfig));
        }

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

        /**
         * @param primaryPeerAddressPrefix The primary address prefix.
         * 
         * @return builder
         * 
         */
        public Builder primaryPeerAddressPrefix(String primaryPeerAddressPrefix) {
            return primaryPeerAddressPrefix(Output.of(primaryPeerAddressPrefix));
        }

        /**
         * @param routeFilter The reference to the RouteFilter resource.
         * 
         * @return builder
         * 
         */
        public Builder routeFilter(@Nullable Output routeFilter) {
            $.routeFilter = routeFilter;
            return this;
        }

        /**
         * @param routeFilter The reference to the RouteFilter resource.
         * 
         * @return builder
         * 
         */
        public Builder routeFilter(SubResourceArgs routeFilter) {
            return routeFilter(Output.of(routeFilter));
        }

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

        /**
         * @param secondaryPeerAddressPrefix The secondary address prefix.
         * 
         * @return builder
         * 
         */
        public Builder secondaryPeerAddressPrefix(String secondaryPeerAddressPrefix) {
            return secondaryPeerAddressPrefix(Output.of(secondaryPeerAddressPrefix));
        }

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

        /**
         * @param state The state of peering.
         * 
         * @return builder
         * 
         */
        public Builder state(Either state) {
            return state(Output.of(state));
        }

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

        /**
         * @param state The state of peering.
         * 
         * @return builder
         * 
         */
        public Builder state(ExpressRouteCircuitPeeringState state) {
            return state(Either.ofRight(state));
        }

        public Ipv6ExpressRouteCircuitPeeringConfigArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy