@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api AWS Direct Connect
@version 2012-10-25
@auth AWS SigV4
@endpoints 63
@hint download_for_search
@toc root(63)

@endpoint POST /
@required {directConnectGatewayId: str, proposalId: str, associatedGatewayOwnerAccount: str}
@optional {overrideAllowedPrefixesToDirectConnectGateway: [RouteFilterPrefix]}
@returns(200) {directConnectGatewayAssociation: DirectConnectGatewayAssociation?{directConnectGatewayId: str?, directConnectGatewayOwnerAccount: str?, associationState: str?, stateChangeError: str?, associatedGateway: AssociatedGateway?{id: str?, type: str?, ownerAccount: str?, region: str?}, associationId: str?, allowedPrefixesToDirectConnectGateway: [RouteFilterPrefix]?, virtualGatewayId: str?, virtualGatewayRegion: str?, virtualGatewayOwnerAccount: str?}}

@endpoint POST /
@required {bandwidth: str, connectionName: str, ownerAccount: str, interconnectId: str, vlan: int}
@returns(200) {ownerAccount: str?, connectionId: str?, connectionName: str?, connectionState: str?, region: str?, location: str?, bandwidth: str?, vlan: int?, partnerName: str?, loaIssueTime: str(timestamp)?, lagId: str?, awsDevice: str?, jumboFrameCapable: bool?, awsDeviceV2: str?, awsLogicalDeviceId: str?, hasLogicalRedundancy: str?, tags: [Tag]?, providerName: str?, macSecCapable: bool?, portEncryptionStatus: str?, encryptionMode: str?, macSecKeys: [MacSecKey]?}

@endpoint POST /
@required {connectionId: str, ownerAccount: str, bandwidth: str, connectionName: str, vlan: int}
@optional {tags: [Tag]}
@returns(200) {ownerAccount: str?, connectionId: str?, connectionName: str?, connectionState: str?, region: str?, location: str?, bandwidth: str?, vlan: int?, partnerName: str?, loaIssueTime: str(timestamp)?, lagId: str?, awsDevice: str?, jumboFrameCapable: bool?, awsDeviceV2: str?, awsLogicalDeviceId: str?, hasLogicalRedundancy: str?, tags: [Tag]?, providerName: str?, macSecCapable: bool?, portEncryptionStatus: str?, encryptionMode: str?, macSecKeys: [MacSecKey]?}

@endpoint POST /
@required {connectionId: str, ownerAccount: str, newPrivateVirtualInterfaceAllocation: NewPrivateVirtualInterfaceAllocation}
@returns(200) {ownerAccount: str?, virtualInterfaceId: str?, location: str?, connectionId: str?, virtualInterfaceType: str?, virtualInterfaceName: str?, vlan: int?, asn: int?, amazonSideAsn: int(i64)?, authKey: str?, amazonAddress: str?, customerAddress: str?, addressFamily: str?, virtualInterfaceState: str?, customerRouterConfig: str?, mtu: int?, jumboFrameCapable: bool?, virtualGatewayId: str?, directConnectGatewayId: str?, routeFilterPrefixes: [RouteFilterPrefix]?, bgpPeers: [BGPPeer]?, region: str?, awsDeviceV2: str?, awsLogicalDeviceId: str?, tags: [Tag]?, siteLinkEnabled: bool?}

@endpoint POST /
@required {connectionId: str, ownerAccount: str, newPublicVirtualInterfaceAllocation: NewPublicVirtualInterfaceAllocation}
@returns(200) {ownerAccount: str?, virtualInterfaceId: str?, location: str?, connectionId: str?, virtualInterfaceType: str?, virtualInterfaceName: str?, vlan: int?, asn: int?, amazonSideAsn: int(i64)?, authKey: str?, amazonAddress: str?, customerAddress: str?, addressFamily: str?, virtualInterfaceState: str?, customerRouterConfig: str?, mtu: int?, jumboFrameCapable: bool?, virtualGatewayId: str?, directConnectGatewayId: str?, routeFilterPrefixes: [RouteFilterPrefix]?, bgpPeers: [BGPPeer]?, region: str?, awsDeviceV2: str?, awsLogicalDeviceId: str?, tags: [Tag]?, siteLinkEnabled: bool?}

@endpoint POST /
@required {connectionId: str, ownerAccount: str, newTransitVirtualInterfaceAllocation: NewTransitVirtualInterfaceAllocation}
@returns(200) {virtualInterface: VirtualInterface?{ownerAccount: str?, virtualInterfaceId: str?, location: str?, connectionId: str?, virtualInterfaceType: str?, virtualInterfaceName: str?, vlan: int?, asn: int?, amazonSideAsn: int(i64)?, authKey: str?, amazonAddress: str?, customerAddress: str?, addressFamily: str?, virtualInterfaceState: str?, customerRouterConfig: str?, mtu: int?, jumboFrameCapable: bool?, virtualGatewayId: str?, directConnectGatewayId: str?, routeFilterPrefixes: [RouteFilterPrefix]?, bgpPeers: [BGPPeer]?, region: str?, awsDeviceV2: str?, awsLogicalDeviceId: str?, tags: [Tag]?, siteLinkEnabled: bool?}}

@endpoint POST /
@required {connectionId: str, lagId: str}
@returns(200) {ownerAccount: str?, connectionId: str?, connectionName: str?, connectionState: str?, region: str?, location: str?, bandwidth: str?, vlan: int?, partnerName: str?, loaIssueTime: str(timestamp)?, lagId: str?, awsDevice: str?, jumboFrameCapable: bool?, awsDeviceV2: str?, awsLogicalDeviceId: str?, hasLogicalRedundancy: str?, tags: [Tag]?, providerName: str?, macSecCapable: bool?, portEncryptionStatus: str?, encryptionMode: str?, macSecKeys: [MacSecKey]?}

@endpoint POST /
@required {connectionId: str, parentConnectionId: str}
@returns(200) {ownerAccount: str?, connectionId: str?, connectionName: str?, connectionState: str?, region: str?, location: str?, bandwidth: str?, vlan: int?, partnerName: str?, loaIssueTime: str(timestamp)?, lagId: str?, awsDevice: str?, jumboFrameCapable: bool?, awsDeviceV2: str?, awsLogicalDeviceId: str?, hasLogicalRedundancy: str?, tags: [Tag]?, providerName: str?, macSecCapable: bool?, portEncryptionStatus: str?, encryptionMode: str?, macSecKeys: [MacSecKey]?}

@endpoint POST /
@required {connectionId: str}
@optional {secretARN: str, ckn: str, cak: str}
@returns(200) {connectionId: str?, macSecKeys: [MacSecKey]?}

@endpoint POST /
@required {virtualInterfaceId: str, connectionId: str}
@returns(200) {ownerAccount: str?, virtualInterfaceId: str?, location: str?, connectionId: str?, virtualInterfaceType: str?, virtualInterfaceName: str?, vlan: int?, asn: int?, amazonSideAsn: int(i64)?, authKey: str?, amazonAddress: str?, customerAddress: str?, addressFamily: str?, virtualInterfaceState: str?, customerRouterConfig: str?, mtu: int?, jumboFrameCapable: bool?, virtualGatewayId: str?, directConnectGatewayId: str?, routeFilterPrefixes: [RouteFilterPrefix]?, bgpPeers: [BGPPeer]?, region: str?, awsDeviceV2: str?, awsLogicalDeviceId: str?, tags: [Tag]?, siteLinkEnabled: bool?}

@endpoint POST /
@required {connectionId: str}
@returns(200) {connectionState: str?}

@endpoint POST /
@optional {agreementName: str}
@returns(200) {status: str?}

@endpoint POST /
@required {virtualInterfaceId: str}
@optional {virtualGatewayId: str, directConnectGatewayId: str}
@returns(200) {virtualInterfaceState: str?}

@endpoint POST /
@required {virtualInterfaceId: str}
@returns(200) {virtualInterfaceState: str?}

@endpoint POST /
@required {virtualInterfaceId: str, directConnectGatewayId: str}
@returns(200) {virtualInterfaceState: str?}

@endpoint POST /
@optional {virtualInterfaceId: str, newBGPPeer: NewBGPPeer}
@returns(200) {virtualInterface: VirtualInterface?{ownerAccount: str?, virtualInterfaceId: str?, location: str?, connectionId: str?, virtualInterfaceType: str?, virtualInterfaceName: str?, vlan: int?, asn: int?, amazonSideAsn: int(i64)?, authKey: str?, amazonAddress: str?, customerAddress: str?, addressFamily: str?, virtualInterfaceState: str?, customerRouterConfig: str?, mtu: int?, jumboFrameCapable: bool?, virtualGatewayId: str?, directConnectGatewayId: str?, routeFilterPrefixes: [RouteFilterPrefix]?, bgpPeers: [BGPPeer]?, region: str?, awsDeviceV2: str?, awsLogicalDeviceId: str?, tags: [Tag]?, siteLinkEnabled: bool?}}

@endpoint POST /
@required {location: str, bandwidth: str, connectionName: str}
@optional {lagId: str, tags: [Tag], providerName: str, requestMACSec: bool}
@returns(200) {ownerAccount: str?, connectionId: str?, connectionName: str?, connectionState: str?, region: str?, location: str?, bandwidth: str?, vlan: int?, partnerName: str?, loaIssueTime: str(timestamp)?, lagId: str?, awsDevice: str?, jumboFrameCapable: bool?, awsDeviceV2: str?, awsLogicalDeviceId: str?, hasLogicalRedundancy: str?, tags: [Tag]?, providerName: str?, macSecCapable: bool?, portEncryptionStatus: str?, encryptionMode: str?, macSecKeys: [MacSecKey]?}

@endpoint POST /
@required {directConnectGatewayName: str}
@optional {amazonSideAsn: int(i64)}
@returns(200) {directConnectGateway: DirectConnectGateway?{directConnectGatewayId: str?, directConnectGatewayName: str?, amazonSideAsn: int(i64)?, ownerAccount: str?, directConnectGatewayState: str?, stateChangeError: str?}}

@endpoint POST /
@required {directConnectGatewayId: str}
@optional {gatewayId: str, addAllowedPrefixesToDirectConnectGateway: [RouteFilterPrefix], virtualGatewayId: str}
@returns(200) {directConnectGatewayAssociation: DirectConnectGatewayAssociation?{directConnectGatewayId: str?, directConnectGatewayOwnerAccount: str?, associationState: str?, stateChangeError: str?, associatedGateway: AssociatedGateway?{id: str?, type: str?, ownerAccount: str?, region: str?}, associationId: str?, allowedPrefixesToDirectConnectGateway: [RouteFilterPrefix]?, virtualGatewayId: str?, virtualGatewayRegion: str?, virtualGatewayOwnerAccount: str?}}

@endpoint POST /
@required {directConnectGatewayId: str, directConnectGatewayOwnerAccount: str, gatewayId: str}
@optional {addAllowedPrefixesToDirectConnectGateway: [RouteFilterPrefix], removeAllowedPrefixesToDirectConnectGateway: [RouteFilterPrefix]}
@returns(200) {directConnectGatewayAssociationProposal: DirectConnectGatewayAssociationProposal?{proposalId: str?, directConnectGatewayId: str?, directConnectGatewayOwnerAccount: str?, proposalState: str?, associatedGateway: AssociatedGateway?{id: str?, type: str?, ownerAccount: str?, region: str?}, existingAllowedPrefixesToDirectConnectGateway: [RouteFilterPrefix]?, requestedAllowedPrefixesToDirectConnectGateway: [RouteFilterPrefix]?}}

@endpoint POST /
@required {interconnectName: str, bandwidth: str, location: str}
@optional {lagId: str, tags: [Tag], providerName: str}
@returns(200) {interconnectId: str?, interconnectName: str?, interconnectState: str?, region: str?, location: str?, bandwidth: str?, loaIssueTime: str(timestamp)?, lagId: str?, awsDevice: str?, jumboFrameCapable: bool?, awsDeviceV2: str?, awsLogicalDeviceId: str?, hasLogicalRedundancy: str?, tags: [Tag]?, providerName: str?}

@endpoint POST /
@required {numberOfConnections: int, location: str, connectionsBandwidth: str, lagName: str}
@optional {connectionId: str, tags: [Tag], childConnectionTags: [Tag], providerName: str, requestMACSec: bool}
@returns(200) {connectionsBandwidth: str?, numberOfConnections: int?, lagId: str?, ownerAccount: str?, lagName: str?, lagState: str?, location: str?, region: str?, minimumLinks: int?, awsDevice: str?, awsDeviceV2: str?, awsLogicalDeviceId: str?, connections: [Connection]?, allowsHostedConnections: bool?, jumboFrameCapable: bool?, hasLogicalRedundancy: str?, tags: [Tag]?, providerName: str?, macSecCapable: bool?, encryptionMode: str?, macSecKeys: [MacSecKey]?}

@endpoint POST /
@required {connectionId: str, newPrivateVirtualInterface: NewPrivateVirtualInterface}
@returns(200) {ownerAccount: str?, virtualInterfaceId: str?, location: str?, connectionId: str?, virtualInterfaceType: str?, virtualInterfaceName: str?, vlan: int?, asn: int?, amazonSideAsn: int(i64)?, authKey: str?, amazonAddress: str?, customerAddress: str?, addressFamily: str?, virtualInterfaceState: str?, customerRouterConfig: str?, mtu: int?, jumboFrameCapable: bool?, virtualGatewayId: str?, directConnectGatewayId: str?, routeFilterPrefixes: [RouteFilterPrefix]?, bgpPeers: [BGPPeer]?, region: str?, awsDeviceV2: str?, awsLogicalDeviceId: str?, tags: [Tag]?, siteLinkEnabled: bool?}

@endpoint POST /
@required {connectionId: str, newPublicVirtualInterface: NewPublicVirtualInterface}
@returns(200) {ownerAccount: str?, virtualInterfaceId: str?, location: str?, connectionId: str?, virtualInterfaceType: str?, virtualInterfaceName: str?, vlan: int?, asn: int?, amazonSideAsn: int(i64)?, authKey: str?, amazonAddress: str?, customerAddress: str?, addressFamily: str?, virtualInterfaceState: str?, customerRouterConfig: str?, mtu: int?, jumboFrameCapable: bool?, virtualGatewayId: str?, directConnectGatewayId: str?, routeFilterPrefixes: [RouteFilterPrefix]?, bgpPeers: [BGPPeer]?, region: str?, awsDeviceV2: str?, awsLogicalDeviceId: str?, tags: [Tag]?, siteLinkEnabled: bool?}

@endpoint POST /
@required {connectionId: str, newTransitVirtualInterface: NewTransitVirtualInterface}
@returns(200) {virtualInterface: VirtualInterface?{ownerAccount: str?, virtualInterfaceId: str?, location: str?, connectionId: str?, virtualInterfaceType: str?, virtualInterfaceName: str?, vlan: int?, asn: int?, amazonSideAsn: int(i64)?, authKey: str?, amazonAddress: str?, customerAddress: str?, addressFamily: str?, virtualInterfaceState: str?, customerRouterConfig: str?, mtu: int?, jumboFrameCapable: bool?, virtualGatewayId: str?, directConnectGatewayId: str?, routeFilterPrefixes: [RouteFilterPrefix]?, bgpPeers: [BGPPeer]?, region: str?, awsDeviceV2: str?, awsLogicalDeviceId: str?, tags: [Tag]?, siteLinkEnabled: bool?}}

@endpoint POST /
@optional {virtualInterfaceId: str, asn: int, customerAddress: str, bgpPeerId: str}
@returns(200) {virtualInterface: VirtualInterface?{ownerAccount: str?, virtualInterfaceId: str?, location: str?, connectionId: str?, virtualInterfaceType: str?, virtualInterfaceName: str?, vlan: int?, asn: int?, amazonSideAsn: int(i64)?, authKey: str?, amazonAddress: str?, customerAddress: str?, addressFamily: str?, virtualInterfaceState: str?, customerRouterConfig: str?, mtu: int?, jumboFrameCapable: bool?, virtualGatewayId: str?, directConnectGatewayId: str?, routeFilterPrefixes: [RouteFilterPrefix]?, bgpPeers: [BGPPeer]?, region: str?, awsDeviceV2: str?, awsLogicalDeviceId: str?, tags: [Tag]?, siteLinkEnabled: bool?}}

@endpoint POST /
@required {connectionId: str}
@returns(200) {ownerAccount: str?, connectionId: str?, connectionName: str?, connectionState: str?, region: str?, location: str?, bandwidth: str?, vlan: int?, partnerName: str?, loaIssueTime: str(timestamp)?, lagId: str?, awsDevice: str?, jumboFrameCapable: bool?, awsDeviceV2: str?, awsLogicalDeviceId: str?, hasLogicalRedundancy: str?, tags: [Tag]?, providerName: str?, macSecCapable: bool?, portEncryptionStatus: str?, encryptionMode: str?, macSecKeys: [MacSecKey]?}

@endpoint POST /
@required {directConnectGatewayId: str}
@returns(200) {directConnectGateway: DirectConnectGateway?{directConnectGatewayId: str?, directConnectGatewayName: str?, amazonSideAsn: int(i64)?, ownerAccount: str?, directConnectGatewayState: str?, stateChangeError: str?}}

@endpoint POST /
@optional {associationId: str, directConnectGatewayId: str, virtualGatewayId: str}
@returns(200) {directConnectGatewayAssociation: DirectConnectGatewayAssociation?{directConnectGatewayId: str?, directConnectGatewayOwnerAccount: str?, associationState: str?, stateChangeError: str?, associatedGateway: AssociatedGateway?{id: str?, type: str?, ownerAccount: str?, region: str?}, associationId: str?, allowedPrefixesToDirectConnectGateway: [RouteFilterPrefix]?, virtualGatewayId: str?, virtualGatewayRegion: str?, virtualGatewayOwnerAccount: str?}}

@endpoint POST /
@required {proposalId: str}
@returns(200) {directConnectGatewayAssociationProposal: DirectConnectGatewayAssociationProposal?{proposalId: str?, directConnectGatewayId: str?, directConnectGatewayOwnerAccount: str?, proposalState: str?, associatedGateway: AssociatedGateway?{id: str?, type: str?, ownerAccount: str?, region: str?}, existingAllowedPrefixesToDirectConnectGateway: [RouteFilterPrefix]?, requestedAllowedPrefixesToDirectConnectGateway: [RouteFilterPrefix]?}}

@endpoint POST /
@required {interconnectId: str}
@returns(200) {interconnectState: str?}

@endpoint POST /
@required {lagId: str}
@returns(200) {connectionsBandwidth: str?, numberOfConnections: int?, lagId: str?, ownerAccount: str?, lagName: str?, lagState: str?, location: str?, region: str?, minimumLinks: int?, awsDevice: str?, awsDeviceV2: str?, awsLogicalDeviceId: str?, connections: [Connection]?, allowsHostedConnections: bool?, jumboFrameCapable: bool?, hasLogicalRedundancy: str?, tags: [Tag]?, providerName: str?, macSecCapable: bool?, encryptionMode: str?, macSecKeys: [MacSecKey]?}

@endpoint POST /
@required {virtualInterfaceId: str}
@returns(200) {virtualInterfaceState: str?}

@endpoint POST /
@required {connectionId: str}
@optional {providerName: str, loaContentType: str}
@returns(200) {loa: Loa?{loaContent: bytes?, loaContentType: str?}}

@endpoint POST /
@optional {connectionId: str}
@returns(200) {connections: [Connection]?}

@endpoint POST /
@required {interconnectId: str}
@returns(200) {connections: [Connection]?}

@endpoint POST /
@returns(200) {agreements: [CustomerAgreement]?, nniPartnerType: str?}

@endpoint POST /
@optional {directConnectGatewayId: str, proposalId: str, associatedGatewayId: str, maxResults: int, nextToken: str}
@returns(200) {directConnectGatewayAssociationProposals: [DirectConnectGatewayAssociationProposal]?, nextToken: str?}

@endpoint POST /
@optional {associationId: str, associatedGatewayId: str, directConnectGatewayId: str, maxResults: int, nextToken: str, virtualGatewayId: str}
@returns(200) {directConnectGatewayAssociations: [DirectConnectGatewayAssociation]?, nextToken: str?}

@endpoint POST /
@optional {directConnectGatewayId: str, virtualInterfaceId: str, maxResults: int, nextToken: str}
@returns(200) {directConnectGatewayAttachments: [DirectConnectGatewayAttachment]?, nextToken: str?}

@endpoint POST /
@optional {directConnectGatewayId: str, maxResults: int, nextToken: str}
@returns(200) {directConnectGateways: [DirectConnectGateway]?, nextToken: str?}

@endpoint POST /
@required {connectionId: str}
@returns(200) {connections: [Connection]?}

@endpoint POST /
@required {interconnectId: str}
@optional {providerName: str, loaContentType: str}
@returns(200) {loa: Loa?{loaContent: bytes?, loaContentType: str?}}

@endpoint POST /
@optional {interconnectId: str}
@returns(200) {interconnects: [Interconnect]?}

@endpoint POST /
@optional {lagId: str}
@returns(200) {lags: [Lag]?}

@endpoint POST /
@required {connectionId: str}
@optional {providerName: str, loaContentType: str}
@returns(200) {loaContent: bytes?, loaContentType: str?}

@endpoint POST /
@returns(200) {locations: [Location]?}

@endpoint POST /
@required {virtualInterfaceId: str}
@optional {routerTypeIdentifier: str}
@returns(200) {customerRouterConfig: str?, router: RouterType?{vendor: str?, platform: str?, software: str?, xsltTemplateName: str?, xsltTemplateNameForMacSec: str?, routerTypeIdentifier: str?}, virtualInterfaceId: str?, virtualInterfaceName: str?}

@endpoint POST /
@required {resourceArns: [str]}
@returns(200) {resourceTags: [ResourceTag]?}

@endpoint POST /
@returns(200) {virtualGateways: [VirtualGateway]?}

@endpoint POST /
@optional {connectionId: str, virtualInterfaceId: str}
@returns(200) {virtualInterfaces: [VirtualInterface]?}

@endpoint POST /
@required {connectionId: str, lagId: str}
@returns(200) {ownerAccount: str?, connectionId: str?, connectionName: str?, connectionState: str?, region: str?, location: str?, bandwidth: str?, vlan: int?, partnerName: str?, loaIssueTime: str(timestamp)?, lagId: str?, awsDevice: str?, jumboFrameCapable: bool?, awsDeviceV2: str?, awsLogicalDeviceId: str?, hasLogicalRedundancy: str?, tags: [Tag]?, providerName: str?, macSecCapable: bool?, portEncryptionStatus: str?, encryptionMode: str?, macSecKeys: [MacSecKey]?}

@endpoint POST /
@required {connectionId: str, secretARN: str}
@returns(200) {connectionId: str?, macSecKeys: [MacSecKey]?}

@endpoint POST /
@optional {testId: str, virtualInterfaceId: str, bgpPeers: [str], status: str, maxResults: int, nextToken: str}
@returns(200) {virtualInterfaceTestHistory: [VirtualInterfaceTestHistory]?, nextToken: str?}

@endpoint POST /
@required {virtualInterfaceId: str}
@optional {bgpPeers: [str], testDurationInMinutes: int}
@returns(200) {virtualInterfaceTest: VirtualInterfaceTestHistory?{testId: str?, virtualInterfaceId: str?, bgpPeers: [str]?, status: str?, ownerAccount: str?, testDurationInMinutes: int?, startTime: str(timestamp)?, endTime: str(timestamp)?}}

@endpoint POST /
@required {virtualInterfaceId: str}
@returns(200) {virtualInterfaceTest: VirtualInterfaceTestHistory?{testId: str?, virtualInterfaceId: str?, bgpPeers: [str]?, status: str?, ownerAccount: str?, testDurationInMinutes: int?, startTime: str(timestamp)?, endTime: str(timestamp)?}}

@endpoint POST /
@required {resourceArn: str, tags: [Tag]}

@endpoint POST /
@required {resourceArn: str, tagKeys: [str]}

@endpoint POST /
@required {connectionId: str}
@optional {connectionName: str, encryptionMode: str}
@returns(200) {ownerAccount: str?, connectionId: str?, connectionName: str?, connectionState: str?, region: str?, location: str?, bandwidth: str?, vlan: int?, partnerName: str?, loaIssueTime: str(timestamp)?, lagId: str?, awsDevice: str?, jumboFrameCapable: bool?, awsDeviceV2: str?, awsLogicalDeviceId: str?, hasLogicalRedundancy: str?, tags: [Tag]?, providerName: str?, macSecCapable: bool?, portEncryptionStatus: str?, encryptionMode: str?, macSecKeys: [MacSecKey]?}

@endpoint POST /
@required {directConnectGatewayId: str, newDirectConnectGatewayName: str}
@returns(200) {directConnectGateway: DirectConnectGateway?{directConnectGatewayId: str?, directConnectGatewayName: str?, amazonSideAsn: int(i64)?, ownerAccount: str?, directConnectGatewayState: str?, stateChangeError: str?}}

@endpoint POST /
@optional {associationId: str, addAllowedPrefixesToDirectConnectGateway: [RouteFilterPrefix], removeAllowedPrefixesToDirectConnectGateway: [RouteFilterPrefix]}
@returns(200) {directConnectGatewayAssociation: DirectConnectGatewayAssociation?{directConnectGatewayId: str?, directConnectGatewayOwnerAccount: str?, associationState: str?, stateChangeError: str?, associatedGateway: AssociatedGateway?{id: str?, type: str?, ownerAccount: str?, region: str?}, associationId: str?, allowedPrefixesToDirectConnectGateway: [RouteFilterPrefix]?, virtualGatewayId: str?, virtualGatewayRegion: str?, virtualGatewayOwnerAccount: str?}}

@endpoint POST /
@required {lagId: str}
@optional {lagName: str, minimumLinks: int, encryptionMode: str}
@returns(200) {connectionsBandwidth: str?, numberOfConnections: int?, lagId: str?, ownerAccount: str?, lagName: str?, lagState: str?, location: str?, region: str?, minimumLinks: int?, awsDevice: str?, awsDeviceV2: str?, awsLogicalDeviceId: str?, connections: [Connection]?, allowsHostedConnections: bool?, jumboFrameCapable: bool?, hasLogicalRedundancy: str?, tags: [Tag]?, providerName: str?, macSecCapable: bool?, encryptionMode: str?, macSecKeys: [MacSecKey]?}

@endpoint POST /
@required {virtualInterfaceId: str}
@optional {mtu: int, enableSiteLink: bool, virtualInterfaceName: str}
@returns(200) {ownerAccount: str?, virtualInterfaceId: str?, location: str?, connectionId: str?, virtualInterfaceType: str?, virtualInterfaceName: str?, vlan: int?, asn: int?, amazonSideAsn: int(i64)?, authKey: str?, amazonAddress: str?, customerAddress: str?, addressFamily: str?, virtualInterfaceState: str?, customerRouterConfig: str?, mtu: int?, jumboFrameCapable: bool?, virtualGatewayId: str?, directConnectGatewayId: str?, routeFilterPrefixes: [RouteFilterPrefix]?, bgpPeers: [BGPPeer]?, region: str?, awsDeviceV2: str?, awsLogicalDeviceId: str?, tags: [Tag]?, siteLinkEnabled: bool?}

@end
