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

com.pulumi.azurenative.managednetworkfabric.inputs.ExternalNetworkPropertiesOptionAPropertiesArgs Maven / Gradle / Ivy

There is a newer version: 2.89.2
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.managednetworkfabric.inputs;

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.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * option A properties object
 * 
 */
public final class ExternalNetworkPropertiesOptionAPropertiesArgs extends com.pulumi.resources.ResourceArgs {

    public static final ExternalNetworkPropertiesOptionAPropertiesArgs Empty = new ExternalNetworkPropertiesOptionAPropertiesArgs();

    /**
     * MTU to use for option A peering.
     * 
     */
    @Import(name="mtu")
    private @Nullable Output mtu;

    /**
     * @return MTU to use for option A peering.
     * 
     */
    public Optional> mtu() {
        return Optional.ofNullable(this.mtu);
    }

    /**
     * Peer ASN number.Example : 28
     * 
     */
    @Import(name="peerASN", required=true)
    private Output peerASN;

    /**
     * @return Peer ASN number.Example : 28
     * 
     */
    public Output peerASN() {
        return this.peerASN;
    }

    /**
     * IPv4 Address Prefix of CE-PE interconnect links. Example: 172.31.0.0/31. The values can be specified at the time of creation or can be updated afterwards. Any update to the values post-provisioning may disrupt traffic. The 1st and 3rd IPs are to be configured on CE1 and CE2 for Option B interfaces. The 2nd and 4th IPs are to be configured on PE1 and PE2 for Option B interfaces.
     * 
     */
    @Import(name="primaryIpv4Prefix")
    private @Nullable Output primaryIpv4Prefix;

    /**
     * @return IPv4 Address Prefix of CE-PE interconnect links. Example: 172.31.0.0/31. The values can be specified at the time of creation or can be updated afterwards. Any update to the values post-provisioning may disrupt traffic. The 1st and 3rd IPs are to be configured on CE1 and CE2 for Option B interfaces. The 2nd and 4th IPs are to be configured on PE1 and PE2 for Option B interfaces.
     * 
     */
    public Optional> primaryIpv4Prefix() {
        return Optional.ofNullable(this.primaryIpv4Prefix);
    }

    /**
     * IPv6 Address Prefix of CE-PE interconnect links. Example: 3FFE:FFFF:0:CD30::a0/126. The values can be specified at the time of creation or can be updated afterwards. Any update to the values post-provisioning may disrupt traffic. The 1st and 3rd IPs are to be configured on CE1 and CE2 for Option B interfaces. The 2nd and 4th IPs are to be configured on PE1 and PE2 for Option B interfaces.
     * 
     */
    @Import(name="primaryIpv6Prefix")
    private @Nullable Output primaryIpv6Prefix;

    /**
     * @return IPv6 Address Prefix of CE-PE interconnect links. Example: 3FFE:FFFF:0:CD30::a0/126. The values can be specified at the time of creation or can be updated afterwards. Any update to the values post-provisioning may disrupt traffic. The 1st and 3rd IPs are to be configured on CE1 and CE2 for Option B interfaces. The 2nd and 4th IPs are to be configured on PE1 and PE2 for Option B interfaces.
     * 
     */
    public Optional> primaryIpv6Prefix() {
        return Optional.ofNullable(this.primaryIpv6Prefix);
    }

    /**
     * Secondary IPv4 Address Prefix of CE-PE interconnect links. Example: 172.31.0.20/31. The values can be specified at the time of creation or can be updated afterwards. Any update to the values post-provisioning may disrupt traffic. The 1st and 3rd IPs are to be configured on CE1 and CE2 for Option B interfaces. The 2nd and 4th IPs are to be configured on PE1 and PE2 for Option B interfaces.
     * 
     */
    @Import(name="secondaryIpv4Prefix")
    private @Nullable Output secondaryIpv4Prefix;

    /**
     * @return Secondary IPv4 Address Prefix of CE-PE interconnect links. Example: 172.31.0.20/31. The values can be specified at the time of creation or can be updated afterwards. Any update to the values post-provisioning may disrupt traffic. The 1st and 3rd IPs are to be configured on CE1 and CE2 for Option B interfaces. The 2nd and 4th IPs are to be configured on PE1 and PE2 for Option B interfaces.
     * 
     */
    public Optional> secondaryIpv4Prefix() {
        return Optional.ofNullable(this.secondaryIpv4Prefix);
    }

    /**
     * Secondary IPv6 Address Prefix of CE-PE interconnect links. Example: 3FFE:FFFF:0:CD30::a4/126. The values can be specified at the time of creation or can be updated afterwards. Any update to the values post-provisioning may disrupt traffic. The 1st and 3rd IPs are to be configured on CE1 and CE2 for Option B interfaces. The 2nd and 4th IPs are to be configured on PE1 and PE2 for Option B interfaces.
     * 
     */
    @Import(name="secondaryIpv6Prefix")
    private @Nullable Output secondaryIpv6Prefix;

    /**
     * @return Secondary IPv6 Address Prefix of CE-PE interconnect links. Example: 3FFE:FFFF:0:CD30::a4/126. The values can be specified at the time of creation or can be updated afterwards. Any update to the values post-provisioning may disrupt traffic. The 1st and 3rd IPs are to be configured on CE1 and CE2 for Option B interfaces. The 2nd and 4th IPs are to be configured on PE1 and PE2 for Option B interfaces.
     * 
     */
    public Optional> secondaryIpv6Prefix() {
        return Optional.ofNullable(this.secondaryIpv6Prefix);
    }

    /**
     * Vlan identifier. Example : 501
     * 
     */
    @Import(name="vlanId", required=true)
    private Output vlanId;

    /**
     * @return Vlan identifier. Example : 501
     * 
     */
    public Output vlanId() {
        return this.vlanId;
    }

    private ExternalNetworkPropertiesOptionAPropertiesArgs() {}

    private ExternalNetworkPropertiesOptionAPropertiesArgs(ExternalNetworkPropertiesOptionAPropertiesArgs $) {
        this.mtu = $.mtu;
        this.peerASN = $.peerASN;
        this.primaryIpv4Prefix = $.primaryIpv4Prefix;
        this.primaryIpv6Prefix = $.primaryIpv6Prefix;
        this.secondaryIpv4Prefix = $.secondaryIpv4Prefix;
        this.secondaryIpv6Prefix = $.secondaryIpv6Prefix;
        this.vlanId = $.vlanId;
    }

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

    public static final class Builder {
        private ExternalNetworkPropertiesOptionAPropertiesArgs $;

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

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

        /**
         * @param mtu MTU to use for option A peering.
         * 
         * @return builder
         * 
         */
        public Builder mtu(@Nullable Output mtu) {
            $.mtu = mtu;
            return this;
        }

        /**
         * @param mtu MTU to use for option A peering.
         * 
         * @return builder
         * 
         */
        public Builder mtu(Integer mtu) {
            return mtu(Output.of(mtu));
        }

        /**
         * @param peerASN Peer ASN number.Example : 28
         * 
         * @return builder
         * 
         */
        public Builder peerASN(Output peerASN) {
            $.peerASN = peerASN;
            return this;
        }

        /**
         * @param peerASN Peer ASN number.Example : 28
         * 
         * @return builder
         * 
         */
        public Builder peerASN(Integer peerASN) {
            return peerASN(Output.of(peerASN));
        }

        /**
         * @param primaryIpv4Prefix IPv4 Address Prefix of CE-PE interconnect links. Example: 172.31.0.0/31. The values can be specified at the time of creation or can be updated afterwards. Any update to the values post-provisioning may disrupt traffic. The 1st and 3rd IPs are to be configured on CE1 and CE2 for Option B interfaces. The 2nd and 4th IPs are to be configured on PE1 and PE2 for Option B interfaces.
         * 
         * @return builder
         * 
         */
        public Builder primaryIpv4Prefix(@Nullable Output primaryIpv4Prefix) {
            $.primaryIpv4Prefix = primaryIpv4Prefix;
            return this;
        }

        /**
         * @param primaryIpv4Prefix IPv4 Address Prefix of CE-PE interconnect links. Example: 172.31.0.0/31. The values can be specified at the time of creation or can be updated afterwards. Any update to the values post-provisioning may disrupt traffic. The 1st and 3rd IPs are to be configured on CE1 and CE2 for Option B interfaces. The 2nd and 4th IPs are to be configured on PE1 and PE2 for Option B interfaces.
         * 
         * @return builder
         * 
         */
        public Builder primaryIpv4Prefix(String primaryIpv4Prefix) {
            return primaryIpv4Prefix(Output.of(primaryIpv4Prefix));
        }

        /**
         * @param primaryIpv6Prefix IPv6 Address Prefix of CE-PE interconnect links. Example: 3FFE:FFFF:0:CD30::a0/126. The values can be specified at the time of creation or can be updated afterwards. Any update to the values post-provisioning may disrupt traffic. The 1st and 3rd IPs are to be configured on CE1 and CE2 for Option B interfaces. The 2nd and 4th IPs are to be configured on PE1 and PE2 for Option B interfaces.
         * 
         * @return builder
         * 
         */
        public Builder primaryIpv6Prefix(@Nullable Output primaryIpv6Prefix) {
            $.primaryIpv6Prefix = primaryIpv6Prefix;
            return this;
        }

        /**
         * @param primaryIpv6Prefix IPv6 Address Prefix of CE-PE interconnect links. Example: 3FFE:FFFF:0:CD30::a0/126. The values can be specified at the time of creation or can be updated afterwards. Any update to the values post-provisioning may disrupt traffic. The 1st and 3rd IPs are to be configured on CE1 and CE2 for Option B interfaces. The 2nd and 4th IPs are to be configured on PE1 and PE2 for Option B interfaces.
         * 
         * @return builder
         * 
         */
        public Builder primaryIpv6Prefix(String primaryIpv6Prefix) {
            return primaryIpv6Prefix(Output.of(primaryIpv6Prefix));
        }

        /**
         * @param secondaryIpv4Prefix Secondary IPv4 Address Prefix of CE-PE interconnect links. Example: 172.31.0.20/31. The values can be specified at the time of creation or can be updated afterwards. Any update to the values post-provisioning may disrupt traffic. The 1st and 3rd IPs are to be configured on CE1 and CE2 for Option B interfaces. The 2nd and 4th IPs are to be configured on PE1 and PE2 for Option B interfaces.
         * 
         * @return builder
         * 
         */
        public Builder secondaryIpv4Prefix(@Nullable Output secondaryIpv4Prefix) {
            $.secondaryIpv4Prefix = secondaryIpv4Prefix;
            return this;
        }

        /**
         * @param secondaryIpv4Prefix Secondary IPv4 Address Prefix of CE-PE interconnect links. Example: 172.31.0.20/31. The values can be specified at the time of creation or can be updated afterwards. Any update to the values post-provisioning may disrupt traffic. The 1st and 3rd IPs are to be configured on CE1 and CE2 for Option B interfaces. The 2nd and 4th IPs are to be configured on PE1 and PE2 for Option B interfaces.
         * 
         * @return builder
         * 
         */
        public Builder secondaryIpv4Prefix(String secondaryIpv4Prefix) {
            return secondaryIpv4Prefix(Output.of(secondaryIpv4Prefix));
        }

        /**
         * @param secondaryIpv6Prefix Secondary IPv6 Address Prefix of CE-PE interconnect links. Example: 3FFE:FFFF:0:CD30::a4/126. The values can be specified at the time of creation or can be updated afterwards. Any update to the values post-provisioning may disrupt traffic. The 1st and 3rd IPs are to be configured on CE1 and CE2 for Option B interfaces. The 2nd and 4th IPs are to be configured on PE1 and PE2 for Option B interfaces.
         * 
         * @return builder
         * 
         */
        public Builder secondaryIpv6Prefix(@Nullable Output secondaryIpv6Prefix) {
            $.secondaryIpv6Prefix = secondaryIpv6Prefix;
            return this;
        }

        /**
         * @param secondaryIpv6Prefix Secondary IPv6 Address Prefix of CE-PE interconnect links. Example: 3FFE:FFFF:0:CD30::a4/126. The values can be specified at the time of creation or can be updated afterwards. Any update to the values post-provisioning may disrupt traffic. The 1st and 3rd IPs are to be configured on CE1 and CE2 for Option B interfaces. The 2nd and 4th IPs are to be configured on PE1 and PE2 for Option B interfaces.
         * 
         * @return builder
         * 
         */
        public Builder secondaryIpv6Prefix(String secondaryIpv6Prefix) {
            return secondaryIpv6Prefix(Output.of(secondaryIpv6Prefix));
        }

        /**
         * @param vlanId Vlan identifier. Example : 501
         * 
         * @return builder
         * 
         */
        public Builder vlanId(Output vlanId) {
            $.vlanId = vlanId;
            return this;
        }

        /**
         * @param vlanId Vlan identifier. Example : 501
         * 
         * @return builder
         * 
         */
        public Builder vlanId(Integer vlanId) {
            return vlanId(Output.of(vlanId));
        }

        public ExternalNetworkPropertiesOptionAPropertiesArgs build() {
            $.mtu = Codegen.integerProp("mtu").output().arg($.mtu).def(1500).getNullable();
            if ($.peerASN == null) {
                throw new MissingRequiredPropertyException("ExternalNetworkPropertiesOptionAPropertiesArgs", "peerASN");
            }
            if ($.vlanId == null) {
                throw new MissingRequiredPropertyException("ExternalNetworkPropertiesOptionAPropertiesArgs", "vlanId");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy