AllocatePublicVirtualInterface - AWS Direct Connect

AllocatePublicVirtualInterface

Provisions a public virtual interface to be owned by the specified AWS account.

The owner of a connection calls this function to provision a public virtual interface to be owned by the specified AWS account.

Virtual interfaces created using this function must be confirmed by the owner using ConfirmPublicVirtualInterface. Until this step has been completed, the virtual interface is in the confirming state and is not available to handle traffic.

When creating an IPv6 public virtual interface, omit the Amazon address and customer address. IPv6 addresses are automatically assigned from the Amazon pool of IPv6 addresses; you cannot specify custom IPv6 addresses.

Request Syntax

{ "connectionId": "string", "newPublicVirtualInterfaceAllocation": { "addressFamily": "string", "amazonAddress": "string", "asn": number, "authKey": "string", "customerAddress": "string", "routeFilterPrefixes": [ { "cidr": "string" } ], "tags": [ { "key": "string", "value": "string" } ], "virtualInterfaceName": "string", "vlan": number }, "ownerAccount": "string" }

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.

connectionId

The ID of the connection on which the public virtual interface is provisioned.

Type: String

Required: Yes

newPublicVirtualInterfaceAllocation

Information about the public virtual interface.

Type: NewPublicVirtualInterfaceAllocation object

Required: Yes

ownerAccount

The ID of the AWS account that owns the public virtual interface.

Type: String

Required: Yes

Response Syntax

{ "addressFamily": "string", "amazonAddress": "string", "amazonSideAsn": number, "asn": number, "authKey": "string", "awsDeviceV2": "string", "awsLogicalDeviceId": "string", "bgpPeers": [ { "addressFamily": "string", "amazonAddress": "string", "asn": number, "authKey": "string", "awsDeviceV2": "string", "awsLogicalDeviceId": "string", "bgpPeerId": "string", "bgpPeerState": "string", "bgpStatus": "string", "customerAddress": "string" } ], "connectionId": "string", "customerAddress": "string", "customerRouterConfig": "string", "directConnectGatewayId": "string", "jumboFrameCapable": boolean, "location": "string", "mtu": number, "ownerAccount": "string", "region": "string", "routeFilterPrefixes": [ { "cidr": "string" } ], "siteLinkEnabled": boolean, "tags": [ { "key": "string", "value": "string" } ], "virtualGatewayId": "string", "virtualInterfaceId": "string", "virtualInterfaceName": "string", "virtualInterfaceState": "string", "virtualInterfaceType": "string", "vlan": number }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

addressFamily

The address family for the BGP peer.

Type: String

Valid Values: ipv4 | ipv6

amazonAddress

The IP address assigned to the Amazon interface.

Type: String

amazonSideAsn

The autonomous system number (ASN) for the Amazon side of the connection.

Type: Long

asn

The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

The valid values are 1-2147483647.

Type: Integer

authKey

The authentication key for BGP configuration. This string has a minimum length of 6 characters and and a maximun lenth of 80 characters.

Type: String

awsDeviceV2

The Direct Connect endpoint that terminates the physical connection.

Type: String

awsLogicalDeviceId

The Direct Connect endpoint that terminates the logical connection. This device might be different than the device that terminates the physical connection.

Type: String

bgpPeers

The BGP peers configured on this virtual interface.

Type: Array of BGPPeer objects

connectionId

The ID of the connection.

Type: String

customerAddress

The IP address assigned to the customer interface.

Type: String

customerRouterConfig

The customer router configuration.

Type: String

directConnectGatewayId

The ID of the Direct Connect gateway.

Type: String

jumboFrameCapable

Indicates whether jumbo frames are supported.

Type: Boolean

location

The location of the connection.

Type: String

mtu

The maximum transmission unit (MTU), in bytes. The supported values are 1500 and 8500. The default value is 1500

Type: Integer

ownerAccount

The ID of the AWS account that owns the virtual interface.

Type: String

region

The AWS Region where the virtual interface is located.

Type: String

routeFilterPrefixes

The routes to be advertised to the AWS network in this Region. Applies to public virtual interfaces.

Type: Array of RouteFilterPrefix objects

siteLinkEnabled

Indicates whether SiteLink is enabled.

Type: Boolean

tags

The tags associated with the virtual interface.

Type: Array of Tag objects

Array Members: Minimum number of 1 item.

virtualGatewayId

The ID of the virtual private gateway. Applies only to private virtual interfaces.

Type: String

virtualInterfaceId

The ID of the virtual interface.

Type: String

virtualInterfaceName

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 (-).

Type: String

virtualInterfaceState

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.

Type: String

Valid Values: confirming | verifying | pending | available | down | deleting | deleted | rejected | unknown

virtualInterfaceType

The type of virtual interface. The possible values are private, public and transit.

Type: String

vlan

The ID of the VLAN.

Type: Integer

Errors

For information about the errors that are common to all actions, see Common Errors.

DirectConnectClientException

One or more parameters are not valid.

HTTP Status Code: 400

DirectConnectServerException

A server-side error occurred.

HTTP Status Code: 400

DuplicateTagKeysException

A tag key was specified more than once.

HTTP Status Code: 400

TooManyTagsException

You have reached the limit on the number of tags that can be assigned.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: