
commonMain.aws.sdk.kotlin.services.directconnect.model.AllocatePrivateVirtualInterfaceResponse.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.directconnect.model
/**
* Information about a virtual interface.
*/
public class AllocatePrivateVirtualInterfaceResponse private constructor(builder: Builder) {
/**
* The address family for the BGP peer.
*/
public val addressFamily: aws.sdk.kotlin.services.directconnect.model.AddressFamily? = builder.addressFamily
/**
* The IP address assigned to the Amazon interface.
*/
public val amazonAddress: kotlin.String? = builder.amazonAddress
/**
* The autonomous system number (ASN) for the Amazon side of the connection.
*/
public val amazonSideAsn: kotlin.Long? = builder.amazonSideAsn
/**
* The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
*
* The valid values are 1-2147483647.
*/
public val asn: kotlin.Int = builder.asn
/**
* The authentication key for BGP configuration. This string has a minimum length of 6 characters and and a maximun lenth of 80 characters.
*/
public val authKey: kotlin.String? = builder.authKey
/**
* The Direct Connect endpoint that terminates the physical connection.
*/
public val awsDeviceV2: kotlin.String? = builder.awsDeviceV2
/**
* The Direct Connect endpoint that terminates the logical connection. This device might be different than the device that terminates the physical connection.
*/
public val awsLogicalDeviceId: kotlin.String? = builder.awsLogicalDeviceId
/**
* The BGP peers configured on this virtual interface.
*/
public val bgpPeers: List? = builder.bgpPeers
/**
* The ID of the connection.
*/
public val connectionId: kotlin.String? = builder.connectionId
/**
* The IP address assigned to the customer interface.
*/
public val customerAddress: kotlin.String? = builder.customerAddress
/**
* The customer router configuration.
*/
public val customerRouterConfig: kotlin.String? = builder.customerRouterConfig
/**
* The ID of the Direct Connect gateway.
*/
public val directConnectGatewayId: kotlin.String? = builder.directConnectGatewayId
/**
* Indicates whether jumbo frames are supported.
*/
public val jumboFrameCapable: kotlin.Boolean? = builder.jumboFrameCapable
/**
* The location of the connection.
*/
public val location: kotlin.String? = builder.location
/**
* The maximum transmission unit (MTU), in bytes. The supported values are 1500 and 8500. The default value is 1500
*/
public val mtu: kotlin.Int? = builder.mtu
/**
* The ID of the Amazon Web Services account that owns the virtual interface.
*/
public val ownerAccount: kotlin.String? = builder.ownerAccount
/**
* The Amazon Web Services Region where the virtual interface is located.
*/
public val region: kotlin.String? = builder.region
/**
* The routes to be advertised to the Amazon Web Services network in this Region. Applies to public virtual interfaces.
*/
public val routeFilterPrefixes: List? = builder.routeFilterPrefixes
/**
* Indicates whether SiteLink is enabled.
*/
public val siteLinkEnabled: kotlin.Boolean? = builder.siteLinkEnabled
/**
* The tags associated with the virtual interface.
*/
public val tags: List? = builder.tags
/**
* The ID of the virtual private gateway. Applies only to private virtual interfaces.
*/
public val virtualGatewayId: kotlin.String? = builder.virtualGatewayId
/**
* The ID of the virtual interface.
*/
public val virtualInterfaceId: kotlin.String? = builder.virtualInterfaceId
/**
* The name of the virtual interface assigned by the customer network. The name has a maximum of 100 characters. The following are valid characters: a-z, 0-9 and a hyphen (-).
*/
public val virtualInterfaceName: kotlin.String? = builder.virtualInterfaceName
/**
* The state of the virtual interface. The following are the possible values:
* + `confirming`: The creation of the virtual interface is pending confirmation from the virtual interface owner. If the owner of the virtual interface is different from the owner of the connection on which it is provisioned, then the virtual interface will remain in this state until it is confirmed by the virtual interface owner.
* + `verifying`: This state only applies to public virtual interfaces. Each public virtual interface needs validation before the virtual interface can be created.
* + `pending`: A virtual interface is in this state from the time that it is created until the virtual interface is ready to forward traffic.
* + `available`: A virtual interface that is able to forward traffic.
* + `down`: A virtual interface that is BGP down.
* + `deleting`: A virtual interface is in this state immediately after calling DeleteVirtualInterface until it can no longer forward traffic.
* + `deleted`: A virtual interface that cannot forward traffic.
* + `rejected`: The virtual interface owner has declined creation of the virtual interface. If a virtual interface in the `Confirming` state is deleted by the virtual interface owner, the virtual interface enters the `Rejected` state.
* + `unknown`: The state of the virtual interface is not available.
*/
public val virtualInterfaceState: aws.sdk.kotlin.services.directconnect.model.VirtualInterfaceState? = builder.virtualInterfaceState
/**
* The type of virtual interface. The possible values are `private` and `public`.
*/
public val virtualInterfaceType: kotlin.String? = builder.virtualInterfaceType
/**
* The ID of the VLAN.
*/
public val vlan: kotlin.Int = builder.vlan
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.directconnect.model.AllocatePrivateVirtualInterfaceResponse = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("AllocatePrivateVirtualInterfaceResponse(")
append("addressFamily=$addressFamily,")
append("amazonAddress=$amazonAddress,")
append("amazonSideAsn=$amazonSideAsn,")
append("asn=$asn,")
append("authKey=$authKey,")
append("awsDeviceV2=$awsDeviceV2,")
append("awsLogicalDeviceId=$awsLogicalDeviceId,")
append("bgpPeers=$bgpPeers,")
append("connectionId=$connectionId,")
append("customerAddress=$customerAddress,")
append("customerRouterConfig=$customerRouterConfig,")
append("directConnectGatewayId=$directConnectGatewayId,")
append("jumboFrameCapable=$jumboFrameCapable,")
append("location=$location,")
append("mtu=$mtu,")
append("ownerAccount=$ownerAccount,")
append("region=$region,")
append("routeFilterPrefixes=$routeFilterPrefixes,")
append("siteLinkEnabled=$siteLinkEnabled,")
append("tags=$tags,")
append("virtualGatewayId=$virtualGatewayId,")
append("virtualInterfaceId=$virtualInterfaceId,")
append("virtualInterfaceName=$virtualInterfaceName,")
append("virtualInterfaceState=$virtualInterfaceState,")
append("virtualInterfaceType=$virtualInterfaceType,")
append("vlan=$vlan")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = addressFamily?.hashCode() ?: 0
result = 31 * result + (amazonAddress?.hashCode() ?: 0)
result = 31 * result + (amazonSideAsn?.hashCode() ?: 0)
result = 31 * result + (asn)
result = 31 * result + (authKey?.hashCode() ?: 0)
result = 31 * result + (awsDeviceV2?.hashCode() ?: 0)
result = 31 * result + (awsLogicalDeviceId?.hashCode() ?: 0)
result = 31 * result + (bgpPeers?.hashCode() ?: 0)
result = 31 * result + (connectionId?.hashCode() ?: 0)
result = 31 * result + (customerAddress?.hashCode() ?: 0)
result = 31 * result + (customerRouterConfig?.hashCode() ?: 0)
result = 31 * result + (directConnectGatewayId?.hashCode() ?: 0)
result = 31 * result + (jumboFrameCapable?.hashCode() ?: 0)
result = 31 * result + (location?.hashCode() ?: 0)
result = 31 * result + (mtu ?: 0)
result = 31 * result + (ownerAccount?.hashCode() ?: 0)
result = 31 * result + (region?.hashCode() ?: 0)
result = 31 * result + (routeFilterPrefixes?.hashCode() ?: 0)
result = 31 * result + (siteLinkEnabled?.hashCode() ?: 0)
result = 31 * result + (tags?.hashCode() ?: 0)
result = 31 * result + (virtualGatewayId?.hashCode() ?: 0)
result = 31 * result + (virtualInterfaceId?.hashCode() ?: 0)
result = 31 * result + (virtualInterfaceName?.hashCode() ?: 0)
result = 31 * result + (virtualInterfaceState?.hashCode() ?: 0)
result = 31 * result + (virtualInterfaceType?.hashCode() ?: 0)
result = 31 * result + (vlan)
return result
}
override fun equals(other: kotlin.Any?): kotlin.Boolean {
if (this === other) return true
if (other == null || this::class != other::class) return false
other as AllocatePrivateVirtualInterfaceResponse
if (addressFamily != other.addressFamily) return false
if (amazonAddress != other.amazonAddress) return false
if (amazonSideAsn != other.amazonSideAsn) return false
if (asn != other.asn) return false
if (authKey != other.authKey) return false
if (awsDeviceV2 != other.awsDeviceV2) return false
if (awsLogicalDeviceId != other.awsLogicalDeviceId) return false
if (bgpPeers != other.bgpPeers) return false
if (connectionId != other.connectionId) return false
if (customerAddress != other.customerAddress) return false
if (customerRouterConfig != other.customerRouterConfig) return false
if (directConnectGatewayId != other.directConnectGatewayId) return false
if (jumboFrameCapable != other.jumboFrameCapable) return false
if (location != other.location) return false
if (mtu != other.mtu) return false
if (ownerAccount != other.ownerAccount) return false
if (region != other.region) return false
if (routeFilterPrefixes != other.routeFilterPrefixes) return false
if (siteLinkEnabled != other.siteLinkEnabled) return false
if (tags != other.tags) return false
if (virtualGatewayId != other.virtualGatewayId) return false
if (virtualInterfaceId != other.virtualInterfaceId) return false
if (virtualInterfaceName != other.virtualInterfaceName) return false
if (virtualInterfaceState != other.virtualInterfaceState) return false
if (virtualInterfaceType != other.virtualInterfaceType) return false
if (vlan != other.vlan) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.directconnect.model.AllocatePrivateVirtualInterfaceResponse = Builder(this).apply(block).build()
public class Builder {
/**
* The address family for the BGP peer.
*/
public var addressFamily: aws.sdk.kotlin.services.directconnect.model.AddressFamily? = null
/**
* The IP address assigned to the Amazon interface.
*/
public var amazonAddress: kotlin.String? = null
/**
* The autonomous system number (ASN) for the Amazon side of the connection.
*/
public var amazonSideAsn: kotlin.Long? = null
/**
* The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
*
* The valid values are 1-2147483647.
*/
public var asn: kotlin.Int = 0
/**
* The authentication key for BGP configuration. This string has a minimum length of 6 characters and and a maximun lenth of 80 characters.
*/
public var authKey: kotlin.String? = null
/**
* The Direct Connect endpoint that terminates the physical connection.
*/
public var awsDeviceV2: kotlin.String? = null
/**
* The Direct Connect endpoint that terminates the logical connection. This device might be different than the device that terminates the physical connection.
*/
public var awsLogicalDeviceId: kotlin.String? = null
/**
* The BGP peers configured on this virtual interface.
*/
public var bgpPeers: List? = null
/**
* The ID of the connection.
*/
public var connectionId: kotlin.String? = null
/**
* The IP address assigned to the customer interface.
*/
public var customerAddress: kotlin.String? = null
/**
* The customer router configuration.
*/
public var customerRouterConfig: kotlin.String? = null
/**
* The ID of the Direct Connect gateway.
*/
public var directConnectGatewayId: kotlin.String? = null
/**
* Indicates whether jumbo frames are supported.
*/
public var jumboFrameCapable: kotlin.Boolean? = null
/**
* The location of the connection.
*/
public var location: kotlin.String? = null
/**
* The maximum transmission unit (MTU), in bytes. The supported values are 1500 and 8500. The default value is 1500
*/
public var mtu: kotlin.Int? = null
/**
* The ID of the Amazon Web Services account that owns the virtual interface.
*/
public var ownerAccount: kotlin.String? = null
/**
* The Amazon Web Services Region where the virtual interface is located.
*/
public var region: kotlin.String? = null
/**
* The routes to be advertised to the Amazon Web Services network in this Region. Applies to public virtual interfaces.
*/
public var routeFilterPrefixes: List? = null
/**
* Indicates whether SiteLink is enabled.
*/
public var siteLinkEnabled: kotlin.Boolean? = null
/**
* The tags associated with the virtual interface.
*/
public var tags: List? = null
/**
* The ID of the virtual private gateway. Applies only to private virtual interfaces.
*/
public var virtualGatewayId: kotlin.String? = null
/**
* The ID of the virtual interface.
*/
public var virtualInterfaceId: kotlin.String? = null
/**
* The name of the virtual interface assigned by the customer network. The name has a maximum of 100 characters. The following are valid characters: a-z, 0-9 and a hyphen (-).
*/
public var virtualInterfaceName: kotlin.String? = null
/**
* The state of the virtual interface. The following are the possible values:
* + `confirming`: The creation of the virtual interface is pending confirmation from the virtual interface owner. If the owner of the virtual interface is different from the owner of the connection on which it is provisioned, then the virtual interface will remain in this state until it is confirmed by the virtual interface owner.
* + `verifying`: This state only applies to public virtual interfaces. Each public virtual interface needs validation before the virtual interface can be created.
* + `pending`: A virtual interface is in this state from the time that it is created until the virtual interface is ready to forward traffic.
* + `available`: A virtual interface that is able to forward traffic.
* + `down`: A virtual interface that is BGP down.
* + `deleting`: A virtual interface is in this state immediately after calling DeleteVirtualInterface until it can no longer forward traffic.
* + `deleted`: A virtual interface that cannot forward traffic.
* + `rejected`: The virtual interface owner has declined creation of the virtual interface. If a virtual interface in the `Confirming` state is deleted by the virtual interface owner, the virtual interface enters the `Rejected` state.
* + `unknown`: The state of the virtual interface is not available.
*/
public var virtualInterfaceState: aws.sdk.kotlin.services.directconnect.model.VirtualInterfaceState? = null
/**
* The type of virtual interface. The possible values are `private` and `public`.
*/
public var virtualInterfaceType: kotlin.String? = null
/**
* The ID of the VLAN.
*/
public var vlan: kotlin.Int = 0
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.directconnect.model.AllocatePrivateVirtualInterfaceResponse) : this() {
this.addressFamily = x.addressFamily
this.amazonAddress = x.amazonAddress
this.amazonSideAsn = x.amazonSideAsn
this.asn = x.asn
this.authKey = x.authKey
this.awsDeviceV2 = x.awsDeviceV2
this.awsLogicalDeviceId = x.awsLogicalDeviceId
this.bgpPeers = x.bgpPeers
this.connectionId = x.connectionId
this.customerAddress = x.customerAddress
this.customerRouterConfig = x.customerRouterConfig
this.directConnectGatewayId = x.directConnectGatewayId
this.jumboFrameCapable = x.jumboFrameCapable
this.location = x.location
this.mtu = x.mtu
this.ownerAccount = x.ownerAccount
this.region = x.region
this.routeFilterPrefixes = x.routeFilterPrefixes
this.siteLinkEnabled = x.siteLinkEnabled
this.tags = x.tags
this.virtualGatewayId = x.virtualGatewayId
this.virtualInterfaceId = x.virtualInterfaceId
this.virtualInterfaceName = x.virtualInterfaceName
this.virtualInterfaceState = x.virtualInterfaceState
this.virtualInterfaceType = x.virtualInterfaceType
this.vlan = x.vlan
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.directconnect.model.AllocatePrivateVirtualInterfaceResponse = AllocatePrivateVirtualInterfaceResponse(this)
internal fun correctErrors(): Builder {
return this
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy