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

com.pulumi.aws.directconnect.inputs.TransitVirtualInterfaceState 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.60.0-alpha.1731982519
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.directconnect.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class TransitVirtualInterfaceState extends com.pulumi.resources.ResourceArgs {

    public static final TransitVirtualInterfaceState Empty = new TransitVirtualInterfaceState();

    /**
     * The address family for the BGP peer. ` ipv4  ` or `ipv6`.
     * 
     */
    @Import(name="addressFamily")
    private @Nullable Output addressFamily;

    /**
     * @return The address family for the BGP peer. ` ipv4  ` or `ipv6`.
     * 
     */
    public Optional> addressFamily() {
        return Optional.ofNullable(this.addressFamily);
    }

    /**
     * The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.
     * 
     */
    @Import(name="amazonAddress")
    private @Nullable Output amazonAddress;

    /**
     * @return The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.
     * 
     */
    public Optional> amazonAddress() {
        return Optional.ofNullable(this.amazonAddress);
    }

    @Import(name="amazonSideAsn")
    private @Nullable Output amazonSideAsn;

    public Optional> amazonSideAsn() {
        return Optional.ofNullable(this.amazonSideAsn);
    }

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

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

    /**
     * The Direct Connect endpoint on which the virtual interface terminates.
     * 
     */
    @Import(name="awsDevice")
    private @Nullable Output awsDevice;

    /**
     * @return The Direct Connect endpoint on which the virtual interface terminates.
     * 
     */
    public Optional> awsDevice() {
        return Optional.ofNullable(this.awsDevice);
    }

    /**
     * The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
     * 
     */
    @Import(name="bgpAsn")
    private @Nullable Output bgpAsn;

    /**
     * @return The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
     * 
     */
    public Optional> bgpAsn() {
        return Optional.ofNullable(this.bgpAsn);
    }

    /**
     * The authentication key for BGP configuration.
     * 
     */
    @Import(name="bgpAuthKey")
    private @Nullable Output bgpAuthKey;

    /**
     * @return The authentication key for BGP configuration.
     * 
     */
    public Optional> bgpAuthKey() {
        return Optional.ofNullable(this.bgpAuthKey);
    }

    /**
     * The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.
     * 
     */
    @Import(name="connectionId")
    private @Nullable Output connectionId;

    /**
     * @return The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.
     * 
     */
    public Optional> connectionId() {
        return Optional.ofNullable(this.connectionId);
    }

    /**
     * The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.
     * 
     */
    @Import(name="customerAddress")
    private @Nullable Output customerAddress;

    /**
     * @return The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.
     * 
     */
    public Optional> customerAddress() {
        return Optional.ofNullable(this.customerAddress);
    }

    /**
     * The ID of the Direct Connect gateway to which to connect the virtual interface.
     * 
     */
    @Import(name="dxGatewayId")
    private @Nullable Output dxGatewayId;

    /**
     * @return The ID of the Direct Connect gateway to which to connect the virtual interface.
     * 
     */
    public Optional> dxGatewayId() {
        return Optional.ofNullable(this.dxGatewayId);
    }

    /**
     * Indicates whether jumbo frames (8500 MTU) are supported.
     * 
     */
    @Import(name="jumboFrameCapable")
    private @Nullable Output jumboFrameCapable;

    /**
     * @return Indicates whether jumbo frames (8500 MTU) are supported.
     * 
     */
    public Optional> jumboFrameCapable() {
        return Optional.ofNullable(this.jumboFrameCapable);
    }

    /**
     * The maximum transmission unit (MTU) is the size, in bytes, of the largest permissible packet that can be passed over the connection.
     * The MTU of a virtual transit interface can be either `1500` or `8500` (jumbo frames). Default is `1500`.
     * 
     */
    @Import(name="mtu")
    private @Nullable Output mtu;

    /**
     * @return The maximum transmission unit (MTU) is the size, in bytes, of the largest permissible packet that can be passed over the connection.
     * The MTU of a virtual transit interface can be either `1500` or `8500` (jumbo frames). Default is `1500`.
     * 
     */
    public Optional> mtu() {
        return Optional.ofNullable(this.mtu);
    }

    /**
     * The name for the virtual interface.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return The name for the virtual interface.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * Indicates whether to enable or disable SiteLink.
     * 
     */
    @Import(name="sitelinkEnabled")
    private @Nullable Output sitelinkEnabled;

    /**
     * @return Indicates whether to enable or disable SiteLink.
     * 
     */
    public Optional> sitelinkEnabled() {
        return Optional.ofNullable(this.sitelinkEnabled);
    }

    /**
     * A 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 A 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);
    }

    /**
     * A 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 A 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 VLAN ID.
     * 
     */
    @Import(name="vlan")
    private @Nullable Output vlan;

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

    private TransitVirtualInterfaceState() {}

    private TransitVirtualInterfaceState(TransitVirtualInterfaceState $) {
        this.addressFamily = $.addressFamily;
        this.amazonAddress = $.amazonAddress;
        this.amazonSideAsn = $.amazonSideAsn;
        this.arn = $.arn;
        this.awsDevice = $.awsDevice;
        this.bgpAsn = $.bgpAsn;
        this.bgpAuthKey = $.bgpAuthKey;
        this.connectionId = $.connectionId;
        this.customerAddress = $.customerAddress;
        this.dxGatewayId = $.dxGatewayId;
        this.jumboFrameCapable = $.jumboFrameCapable;
        this.mtu = $.mtu;
        this.name = $.name;
        this.sitelinkEnabled = $.sitelinkEnabled;
        this.tags = $.tags;
        this.tagsAll = $.tagsAll;
        this.vlan = $.vlan;
    }

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

    public static final class Builder {
        private TransitVirtualInterfaceState $;

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

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

        /**
         * @param addressFamily The address family for the BGP peer. ` ipv4  ` or `ipv6`.
         * 
         * @return builder
         * 
         */
        public Builder addressFamily(@Nullable Output addressFamily) {
            $.addressFamily = addressFamily;
            return this;
        }

        /**
         * @param addressFamily The address family for the BGP peer. ` ipv4  ` or `ipv6`.
         * 
         * @return builder
         * 
         */
        public Builder addressFamily(String addressFamily) {
            return addressFamily(Output.of(addressFamily));
        }

        /**
         * @param amazonAddress The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.
         * 
         * @return builder
         * 
         */
        public Builder amazonAddress(@Nullable Output amazonAddress) {
            $.amazonAddress = amazonAddress;
            return this;
        }

        /**
         * @param amazonAddress The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.
         * 
         * @return builder
         * 
         */
        public Builder amazonAddress(String amazonAddress) {
            return amazonAddress(Output.of(amazonAddress));
        }

        public Builder amazonSideAsn(@Nullable Output amazonSideAsn) {
            $.amazonSideAsn = amazonSideAsn;
            return this;
        }

        public Builder amazonSideAsn(String amazonSideAsn) {
            return amazonSideAsn(Output.of(amazonSideAsn));
        }

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

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

        /**
         * @param awsDevice The Direct Connect endpoint on which the virtual interface terminates.
         * 
         * @return builder
         * 
         */
        public Builder awsDevice(@Nullable Output awsDevice) {
            $.awsDevice = awsDevice;
            return this;
        }

        /**
         * @param awsDevice The Direct Connect endpoint on which the virtual interface terminates.
         * 
         * @return builder
         * 
         */
        public Builder awsDevice(String awsDevice) {
            return awsDevice(Output.of(awsDevice));
        }

        /**
         * @param bgpAsn The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
         * 
         * @return builder
         * 
         */
        public Builder bgpAsn(@Nullable Output bgpAsn) {
            $.bgpAsn = bgpAsn;
            return this;
        }

        /**
         * @param bgpAsn The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
         * 
         * @return builder
         * 
         */
        public Builder bgpAsn(Integer bgpAsn) {
            return bgpAsn(Output.of(bgpAsn));
        }

        /**
         * @param bgpAuthKey The authentication key for BGP configuration.
         * 
         * @return builder
         * 
         */
        public Builder bgpAuthKey(@Nullable Output bgpAuthKey) {
            $.bgpAuthKey = bgpAuthKey;
            return this;
        }

        /**
         * @param bgpAuthKey The authentication key for BGP configuration.
         * 
         * @return builder
         * 
         */
        public Builder bgpAuthKey(String bgpAuthKey) {
            return bgpAuthKey(Output.of(bgpAuthKey));
        }

        /**
         * @param connectionId The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.
         * 
         * @return builder
         * 
         */
        public Builder connectionId(@Nullable Output connectionId) {
            $.connectionId = connectionId;
            return this;
        }

        /**
         * @param connectionId The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.
         * 
         * @return builder
         * 
         */
        public Builder connectionId(String connectionId) {
            return connectionId(Output.of(connectionId));
        }

        /**
         * @param customerAddress The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.
         * 
         * @return builder
         * 
         */
        public Builder customerAddress(@Nullable Output customerAddress) {
            $.customerAddress = customerAddress;
            return this;
        }

        /**
         * @param customerAddress The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.
         * 
         * @return builder
         * 
         */
        public Builder customerAddress(String customerAddress) {
            return customerAddress(Output.of(customerAddress));
        }

        /**
         * @param dxGatewayId The ID of the Direct Connect gateway to which to connect the virtual interface.
         * 
         * @return builder
         * 
         */
        public Builder dxGatewayId(@Nullable Output dxGatewayId) {
            $.dxGatewayId = dxGatewayId;
            return this;
        }

        /**
         * @param dxGatewayId The ID of the Direct Connect gateway to which to connect the virtual interface.
         * 
         * @return builder
         * 
         */
        public Builder dxGatewayId(String dxGatewayId) {
            return dxGatewayId(Output.of(dxGatewayId));
        }

        /**
         * @param jumboFrameCapable Indicates whether jumbo frames (8500 MTU) are supported.
         * 
         * @return builder
         * 
         */
        public Builder jumboFrameCapable(@Nullable Output jumboFrameCapable) {
            $.jumboFrameCapable = jumboFrameCapable;
            return this;
        }

        /**
         * @param jumboFrameCapable Indicates whether jumbo frames (8500 MTU) are supported.
         * 
         * @return builder
         * 
         */
        public Builder jumboFrameCapable(Boolean jumboFrameCapable) {
            return jumboFrameCapable(Output.of(jumboFrameCapable));
        }

        /**
         * @param mtu The maximum transmission unit (MTU) is the size, in bytes, of the largest permissible packet that can be passed over the connection.
         * The MTU of a virtual transit interface can be either `1500` or `8500` (jumbo frames). Default is `1500`.
         * 
         * @return builder
         * 
         */
        public Builder mtu(@Nullable Output mtu) {
            $.mtu = mtu;
            return this;
        }

        /**
         * @param mtu The maximum transmission unit (MTU) is the size, in bytes, of the largest permissible packet that can be passed over the connection.
         * The MTU of a virtual transit interface can be either `1500` or `8500` (jumbo frames). Default is `1500`.
         * 
         * @return builder
         * 
         */
        public Builder mtu(Integer mtu) {
            return mtu(Output.of(mtu));
        }

        /**
         * @param name The name for the virtual interface.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

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

        /**
         * @param sitelinkEnabled Indicates whether to enable or disable SiteLink.
         * 
         * @return builder
         * 
         */
        public Builder sitelinkEnabled(@Nullable Output sitelinkEnabled) {
            $.sitelinkEnabled = sitelinkEnabled;
            return this;
        }

        /**
         * @param sitelinkEnabled Indicates whether to enable or disable SiteLink.
         * 
         * @return builder
         * 
         */
        public Builder sitelinkEnabled(Boolean sitelinkEnabled) {
            return sitelinkEnabled(Output.of(sitelinkEnabled));
        }

        /**
         * @param tags A 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 A 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 A 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 A 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 vlan The VLAN ID.
         * 
         * @return builder
         * 
         */
        public Builder vlan(@Nullable Output vlan) {
            $.vlan = vlan;
            return this;
        }

        /**
         * @param vlan The VLAN ID.
         * 
         * @return builder
         * 
         */
        public Builder vlan(Integer vlan) {
            return vlan(Output.of(vlan));
        }

        public TransitVirtualInterfaceState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy