CreatePublicVirtualInterface - AWS Direct Connect


Creates a public virtual interface. A virtual interface is the VLAN that transports AWS Direct Connect traffic. A public virtual interface supports sending traffic to public services of AWS such as Amazon S3.

When creating an IPv6 public virtual interface (addressFamily is ipv6), leave the customer and amazon address fields blank to use auto-assigned IPv6 space. Custom IPv6 addresses are not supported.

Request Syntax

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

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.


The ID of the connection.

Type: String

Required: Yes


Information about the public virtual interface.

Type: NewPublicVirtualInterface object

Required: Yes

Response Syntax

{ "addressFamily": "string", "amazonAddress": "string", "amazonSideAsn": number, "asn": number, "authKey": "string", "awsDeviceV2": "string", "bgpPeers": [ { "addressFamily": "string", "amazonAddress": "string", "asn": number, "authKey": "string", "awsDeviceV2": "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" } ], "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.


The address family for the BGP peer.

Type: String

Valid Values: ipv4 | ipv6


The IP address assigned to the Amazon interface.

Type: String


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

Type: Long


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

The valid values are 1-2147483647.

Type: Integer


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


The Direct Connect endpoint on which the virtual interface terminates.

Type: String


The BGP peers configured on this virtual interface.

Type: Array of BGPPeer objects


The ID of the connection.

Type: String


The IP address assigned to the customer interface.

Type: String


The customer router configuration.

Type: String


The ID of the Direct Connect gateway.

Type: String


Indicates whether jumbo frames (9001 MTU) are supported.

Type: Boolean


The location of the connection.

Type: String


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

Type: Integer


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

Type: String


The AWS Region where the virtual interface is located.

Type: String


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

Type: Array of RouteFilterPrefix objects


The tags associated with the virtual interface.

Type: Array of Tag objects

Array Members: Minimum number of 1 item.


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

Type: String


The ID of the virtual interface.

Type: String


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


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


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

Type: String


The ID of the VLAN.

Type: Integer


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


One or more parameters are not valid.

HTTP Status Code: 400


A server-side error occurred.

HTTP Status Code: 400


A tag key was specified more than once.

HTTP Status Code: 400


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: