export interface RouteFilterPrefix {
    /** The CIDR block for the advertised route. Separate multiple routes using commas. An IPv6 CIDR must use /64 or shorter. */
    cidr?: string;
}
export interface Tag {
    /** The key. */
    key: string;
    /** The value. */
    value?: string;
}
export interface NewPrivateVirtualInterfaceAllocation {
    /** 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 (-). */
    virtualInterfaceName: string;
    /** The ID of the VLAN. */
    vlan: number;
    /** The autonomous system number (ASN). The valid range is from 1 to 2147483646 for Border Gateway Protocol (BGP) configuration. If you provide a number greater than the maximum, an error is returned. Use */
    asn?: number;
    /** The ASN when allocating a new private virtual interface. The valid range is from 1 to 4294967294 for BGP configuration. You can use asnLong or asn, but not both. We recommend using asnLong as it suppo */
    asnLong?: number;
    /** The maximum transmission unit (MTU), in bytes. The supported values are 1500 and 8500. The default value is 1500. */
    mtu?: number;
    /** The authentication key for BGP configuration. This string has a minimum length of 6 characters and and a maximun lenth of 80 characters. */
    authKey?: string;
    /** The IP address assigned to the Amazon interface. */
    amazonAddress?: string;
    /** The address family for the BGP peer. */
    addressFamily?: 'ipv4' | 'ipv6';
    /** The IP address assigned to the customer interface. */
    customerAddress?: string;
    /** The tags associated with the private virtual interface. */
    tags?: any[];
}
export interface NewPublicVirtualInterfaceAllocation {
    /** 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 (-). */
    virtualInterfaceName: string;
    /** The ID of the VLAN. */
    vlan: number;
    /** The autonomous system number (ASN). The valid range is from 1 to 2147483646 for Border Gateway Protocol (BGP) configuration. If you provide a number greater than the maximum, an error is returned. Use */
    asn?: number;
    /** The ASN when allocating a new public virtual interface. The valid range is from 1 to 4294967294 for BGP configuration. You can use asnLong or asn, but not both. We recommend using asnLong as it suppor */
    asnLong?: number;
    /** The authentication key for BGP configuration. This string has a minimum length of 6 characters and and a maximun lenth of 80 characters. */
    authKey?: string;
    /** The IP address assigned to the Amazon interface. */
    amazonAddress?: string;
    /** The IP address assigned to the customer interface. */
    customerAddress?: string;
    /** The address family for the BGP peer. */
    addressFamily?: 'ipv4' | 'ipv6';
    /** The routes to be advertised to the Amazon Web Services network in this Region. Applies to public virtual interfaces. */
    routeFilterPrefixes?: any[];
    /** The tags associated with the public virtual interface. */
    tags?: any[];
}
export interface NewTransitVirtualInterfaceAllocation {
    /** 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 (-). */
    virtualInterfaceName?: string;
    /** The ID of the VLAN. */
    vlan?: number;
    /** The autonomous system number (ASN). The valid range is from 1 to 2147483646 for Border Gateway Protocol (BGP) configuration. If you provide a number greater than the maximum, an error is returned. Use */
    asn?: number;
    /** The ASN when allocating a new transit virtual interface. The valid range is from 1 to 4294967294 for BGP configuration. You can use asnLong or asn, but not both. We recommend using asnLong as it suppo */
    asnLong?: number;
    /** The maximum transmission unit (MTU), in bytes. The supported values are 1500 and 8500. The default value is 1500 */
    mtu?: number;
    /** The authentication key for BGP configuration. This string has a minimum length of 6 characters and and a maximun lenth of 80 characters. */
    authKey?: string;
    /** The IP address assigned to the Amazon interface. */
    amazonAddress?: string;
    /** The IP address assigned to the customer interface. */
    customerAddress?: string;
    /** The address family for the BGP peer. */
    addressFamily?: 'ipv4' | 'ipv6';
    /** The tags associated with the transitive virtual interface. */
    tags?: any[];
}
export interface NewBGPPeer {
    /** The autonomous system number (ASN). The valid range is from 1 to 2147483646 for Border Gateway Protocol (BGP) configuration. If you provide a number greater than the maximum, an error is returned. Use */
    asn?: number;
    /** The long ASN for a new BGP peer. The valid range is from 1 to 4294967294. */
    asnLong?: number;
    /** The authentication key for BGP configuration. This string has a minimum length of 6 characters and and a maximun lenth of 80 characters. */
    authKey?: string;
    /** The address family for the BGP peer. */
    addressFamily?: 'ipv4' | 'ipv6';
    /** The IP address assigned to the Amazon interface. */
    amazonAddress?: string;
    /** The IP address assigned to the customer interface. */
    customerAddress?: string;
}
export interface NewPrivateVirtualInterface {
    /** 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 (-). */
    virtualInterfaceName: string;
    /** The ID of the VLAN. */
    vlan: number;
    /** The autonomous system number (ASN). The valid range is from 1 to 2147483646 for Border Gateway Protocol (BGP) configuration. If you provide a number greater than the maximum, an error is returned. Use */
    asn?: number;
    /** The long ASN for a new private virtual interface. The valid range is from 1 to 4294967294 for BGP configuration. You can use asnLong or asn, but not both. We recommend using asnLong as it supports a g */
    asnLong?: number;
    /** The maximum transmission unit (MTU), in bytes. The supported values are 1500 and 8500. The default value is 1500. */
    mtu?: number;
    /** The authentication key for BGP configuration. This string has a minimum length of 6 characters and and a maximun lenth of 80 characters. */
    authKey?: string;
    /** The IP address assigned to the Amazon interface. */
    amazonAddress?: string;
    /** The IP address assigned to the customer interface. */
    customerAddress?: string;
    /** The address family for the BGP peer. */
    addressFamily?: 'ipv4' | 'ipv6';
    /** The ID of the virtual private gateway. */
    virtualGatewayId?: string;
    /** The ID of the Direct Connect gateway. */
    directConnectGatewayId?: string;
    /** The tags associated with the private virtual interface. */
    tags?: any[];
    /** Indicates whether to enable or disable SiteLink. */
    enableSiteLink?: boolean;
}
export interface NewPublicVirtualInterface {
    /** 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 (-). */
    virtualInterfaceName: string;
    /** The ID of the VLAN. */
    vlan: number;
    /** The autonomous system number (ASN). The valid range is from 1 to 2147483646 for Border Gateway Protocol (BGP) configuration. If you provide a number greater than the maximum, an error is returned. Use */
    asn?: number;
    /** The long ASN for a new public virtual interface. The valid range is from 1 to 4294967294 for BGP configuration. You can use asnLong or asn, but not both. We recommend using asnLong as it supports a gr */
    asnLong?: number;
    /** The authentication key for BGP configuration. This string has a minimum length of 6 characters and and a maximun lenth of 80 characters. */
    authKey?: string;
    /** The IP address assigned to the Amazon interface. */
    amazonAddress?: string;
    /** The IP address assigned to the customer interface. */
    customerAddress?: string;
    /** The address family for the BGP peer. */
    addressFamily?: 'ipv4' | 'ipv6';
    /** The routes to be advertised to the Amazon Web Services network in this Region. Applies to public virtual interfaces. */
    routeFilterPrefixes?: any[];
    /** The tags associated with the public virtual interface. */
    tags?: any[];
}
export interface NewTransitVirtualInterface {
    /** 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 (-). */
    virtualInterfaceName?: string;
    /** The ID of the VLAN. */
    vlan?: number;
    /** The autonomous system number (ASN). The valid range is from 1 to 2147483646 for Border Gateway Protocol (BGP) configuration. If you provide a number greater than the maximum, an error is returned. Use */
    asn?: number;
    /** The long ASN for a new transit virtual interface.The valid range is from 1 to 4294967294 for BGP configuration. You can use asnLong or asn, but not both. We recommend using asnLong as it supports a gr */
    asnLong?: number;
    /** The maximum transmission unit (MTU), in bytes. The supported values are 1500 and 8500. The default value is 1500. */
    mtu?: number;
    /** The authentication key for BGP configuration. This string has a minimum length of 6 characters and and a maximun lenth of 80 characters. */
    authKey?: string;
    /** The IP address assigned to the Amazon interface. */
    amazonAddress?: string;
    /** The IP address assigned to the customer interface. */
    customerAddress?: string;
    /** The address family for the BGP peer. */
    addressFamily?: 'ipv4' | 'ipv6';
    /** The ID of the Direct Connect gateway. */
    directConnectGatewayId?: string;
    /** The tags associated with the transitive virtual interface. */
    tags?: any[];
    /** Indicates whether to enable or disable SiteLink. */
    enableSiteLink?: boolean;
}
export interface AcceptDirectConnectGatewayAssociationProposalInput {
    /** The ID of the Amazon Web Services account that owns the virtual private gateway or transit gateway. */
    associatedGatewayOwnerAccount: string;
    /** The ID of the Direct Connect gateway. */
    directConnectGatewayId: string;
    /** The ID of the request proposal. */
    proposalId: string;
    /** Overrides the Amazon VPC prefixes advertised to the Direct Connect gateway. For information about how to set the prefixes, see Allowed Prefixes in the Direct Connect User Guide. */
    overrideAllowedPrefixesToDirectConnectGateway?: RouteFilterPrefix[];
}
export interface AllocateConnectionOnInterconnectInput {
    /** The bandwidth of the connection. The possible values are 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, and 10Gbps. Note that only those Direct Connect Partners who have met */
    bandwidth: string;
    /** The name of the provisioned connection. */
    connectionName: string;
    /** The ID of the interconnect on which the connection will be provisioned. */
    interconnectId: string;
    /** The ID of the Amazon Web Services account of the customer for whom the connection will be provisioned. */
    ownerAccount: string;
    /** The dedicated VLAN provisioned to the connection. */
    vlan: number;
}
export interface AllocateHostedConnectionInput {
    /** The bandwidth of the connection. The possible values are 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, 10Gbps, and 25Gbps. Note that only those Direct Connect Partners who  */
    bandwidth: string;
    /** The ID of the interconnect or LAG. */
    connectionId: string;
    /** The name of the hosted connection. */
    connectionName: string;
    /** The ID of the Amazon Web Services account ID of the customer for the connection. */
    ownerAccount: string;
    /** The dedicated VLAN provisioned to the hosted connection. */
    vlan: number;
    /** The tags associated with the connection. */
    tags?: Tag[];
}
export interface AllocatePrivateVirtualInterfaceInput {
    /** The ID of the connection on which the private virtual interface is provisioned. */
    connectionId: string;
    /** Information about the private virtual interface. */
    newPrivateVirtualInterfaceAllocation: NewPrivateVirtualInterfaceAllocation;
    /** The ID of the Amazon Web Services account that owns the virtual private interface. */
    ownerAccount: string;
}
export interface AllocatePublicVirtualInterfaceInput {
    /** The ID of the connection on which the public virtual interface is provisioned. */
    connectionId: string;
    /** Information about the public virtual interface. */
    newPublicVirtualInterfaceAllocation: NewPublicVirtualInterfaceAllocation;
    /** The ID of the Amazon Web Services account that owns the public virtual interface. */
    ownerAccount: string;
}
export interface AllocateTransitVirtualInterfaceInput {
    /** The ID of the connection on which the transit virtual interface is provisioned. */
    connectionId: string;
    /** Information about the transit virtual interface. */
    newTransitVirtualInterfaceAllocation: NewTransitVirtualInterfaceAllocation;
    /** The ID of the Amazon Web Services account that owns the transit virtual interface. */
    ownerAccount: string;
}
export interface AssociateConnectionWithLagInput {
    /** The ID of the connection. */
    connectionId: string;
    /** The ID of the LAG with which to associate the connection. */
    lagId: string;
}
export interface AssociateHostedConnectionInput {
    /** The ID of the hosted connection. */
    connectionId: string;
    /** The ID of the interconnect or the LAG. */
    parentConnectionId: string;
}
export interface AssociateMacSecKeyInput {
    /** The ID of the dedicated connection (dxcon-xxxx), interconnect (dxcon-xxxx), or LAG (dxlag-xxxx). You can use DescribeConnections, DescribeInterconnects, or DescribeLags to retrieve connection ID. */
    connectionId: string;
    /** The MAC Security (MACsec) CAK to associate with the connection. You can create the CKN/CAK pair using an industry standard tool. The valid values are 64 hexadecimal characters (0-9, A-E). If you use t */
    cak?: string;
    /** The MAC Security (MACsec) CKN to associate with the connection. You can create the CKN/CAK pair using an industry standard tool. The valid values are 64 hexadecimal characters (0-9, A-E). If you use t */
    ckn?: string;
    /** The Amazon Resource Name (ARN) of the MAC Security (MACsec) secret key to associate with the connection. You can use DescribeConnections or DescribeLags to retrieve the MAC Security (MACsec) secret ke */
    secretARN?: string;
}
export interface AssociateVirtualInterfaceInput {
    /** The ID of the LAG or connection. */
    connectionId: string;
    /** The ID of the virtual interface. */
    virtualInterfaceId: string;
}
export interface ConfirmConnectionInput {
    /** The ID of the hosted connection. */
    connectionId: string;
}
export interface ConfirmCustomerAgreementInput {
    /** The name of the customer agreement. */
    agreementName?: string;
}
export interface ConfirmPrivateVirtualInterfaceInput {
    /** The ID of the virtual interface. */
    virtualInterfaceId: string;
    /** The ID of the Direct Connect gateway. */
    directConnectGatewayId?: string;
    /** The ID of the virtual private gateway. */
    virtualGatewayId?: string;
}
export interface ConfirmPublicVirtualInterfaceInput {
    /** The ID of the virtual interface. */
    virtualInterfaceId: string;
}
export interface ConfirmTransitVirtualInterfaceInput {
    /** The ID of the Direct Connect gateway. */
    directConnectGatewayId: string;
    /** The ID of the virtual interface. */
    virtualInterfaceId: string;
}
export interface CreateBGPPeerInput {
    /** Information about the BGP peer. */
    newBGPPeer?: NewBGPPeer;
    /** The ID of the virtual interface. */
    virtualInterfaceId?: string;
}
export interface CreateConnectionInput {
    /** The bandwidth of the connection. */
    bandwidth: string;
    /** The name of the connection. */
    connectionName: string;
    /** The location of the connection. */
    location: string;
    /** The ID of the LAG. */
    lagId?: string;
    /** The name of the service provider associated with the requested connection. */
    providerName?: string;
    /** Indicates whether you want the connection to support MAC Security (MACsec). MAC Security (MACsec) is unavailable on hosted connections. For information about MAC Security (MACsec) prerequisites, see M */
    requestMACSec?: boolean;
    /** The tags to associate with the lag. */
    tags?: Tag[];
}
export interface CreateDirectConnectGatewayInput {
    /** The name of the Direct Connect gateway. */
    directConnectGatewayName: string;
    /** The autonomous system number (ASN) for Border Gateway Protocol (BGP) to be configured on the Amazon side of the connection. The ASN must be in the private range of 64,512 to 65,534 or 4,200,000,000 to */
    amazonSideAsn?: number;
    /** The key-value pair tags associated with the request. */
    tags?: Tag[];
}
export interface CreateDirectConnectGatewayAssociationInput {
    /** The ID of the Direct Connect gateway. */
    directConnectGatewayId: string;
    /** The Amazon VPC prefixes to advertise to the Direct Connect gateway This parameter is required when you create an association to a transit gateway. For information about how to set the prefixes, see Al */
    addAllowedPrefixesToDirectConnectGateway?: RouteFilterPrefix[];
    /** The ID of the virtual private gateway or transit gateway. */
    gatewayId?: string;
    /** The ID of the virtual private gateway. */
    virtualGatewayId?: string;
}
export interface CreateDirectConnectGatewayAssociationProposalInput {
    /** The ID of the Direct Connect gateway. */
    directConnectGatewayId: string;
    /** The ID of the Amazon Web Services account that owns the Direct Connect gateway. */
    directConnectGatewayOwnerAccount: string;
    /** The ID of the virtual private gateway or transit gateway. */
    gatewayId: string;
    /** The Amazon VPC prefixes to advertise to the Direct Connect gateway. */
    addAllowedPrefixesToDirectConnectGateway?: RouteFilterPrefix[];
    /** The Amazon VPC prefixes to no longer advertise to the Direct Connect gateway. */
    removeAllowedPrefixesToDirectConnectGateway?: RouteFilterPrefix[];
}
export interface CreateInterconnectInput {
    /** The port bandwidth, in Gbps. The possible values are 1, 10, and 100. */
    bandwidth: string;
    /** The name of the interconnect. */
    interconnectName: string;
    /** The location of the interconnect. */
    location: string;
    /** The ID of the LAG. */
    lagId?: string;
    /** The name of the service provider associated with the interconnect. */
    providerName?: string;
    /** Indicates whether you want the interconnect to support MAC Security (MACsec). */
    requestMACSec?: boolean;
    /** The tags to associate with the interconnect. */
    tags?: Tag[];
}
export interface CreateLagInput {
    /** The bandwidth of the individual physical dedicated connections bundled by the LAG. The possible values are 1Gbps,10Gbps, 100Gbps, and 400Gbps. */
    connectionsBandwidth: string;
    /** The name of the LAG. */
    lagName: string;
    /** The location for the LAG. */
    location: string;
    /** The number of physical dedicated connections initially provisioned and bundled by the LAG. You can have a maximum of four connections when the port speed is 1Gbps or 10Gbps, or two when the port speed */
    numberOfConnections: number;
    /** The tags to associate with the automtically created LAGs. */
    childConnectionTags?: Tag[];
    /** The ID of an existing dedicated connection to migrate to the LAG. */
    connectionId?: string;
    /** The name of the service provider associated with the LAG. */
    providerName?: string;
    /** Indicates whether the connection will support MAC Security (MACsec). All connections in the LAG must be capable of supporting MAC Security (MACsec). For information about MAC Security (MACsec) prerequ */
    requestMACSec?: boolean;
    /** The tags to associate with the LAG. */
    tags?: Tag[];
}
export interface CreatePrivateVirtualInterfaceInput {
    /** The ID of the connection. */
    connectionId: string;
    /** Information about the private virtual interface. */
    newPrivateVirtualInterface: NewPrivateVirtualInterface;
}
export interface CreatePublicVirtualInterfaceInput {
    /** The ID of the connection. */
    connectionId: string;
    /** Information about the public virtual interface. */
    newPublicVirtualInterface: NewPublicVirtualInterface;
}
export interface CreateTransitVirtualInterfaceInput {
    /** The ID of the connection. */
    connectionId: string;
    /** Information about the transit virtual interface. */
    newTransitVirtualInterface: NewTransitVirtualInterface;
}
export interface DeleteBGPPeerInput {
    /** The autonomous system number (ASN). The valid range is from 1 to 2147483646 for Border Gateway Protocol (BGP) configuration. If you provide a number greater than the maximum, an error is returned. Use */
    asn?: number;
    /** The long ASN for the BGP peer to be deleted from a Direct Connect virtual interface. The valid range is from 1 to 4294967294 for BGP configuration. You can use asnLong or asn, but not both. We recomme */
    asnLong?: number;
    /** The ID of the BGP peer. */
    bgpPeerId?: string;
    /** The IP address assigned to the customer interface. */
    customerAddress?: string;
    /** The ID of the virtual interface. */
    virtualInterfaceId?: string;
}
export interface DeleteConnectionInput {
    /** The ID of the connection. */
    connectionId: string;
}
export interface DeleteDirectConnectGatewayInput {
    /** The ID of the Direct Connect gateway. */
    directConnectGatewayId: string;
}
export interface DeleteDirectConnectGatewayAssociationInput {
    /** The ID of the Direct Connect gateway association. */
    associationId?: string;
    /** The ID of the Direct Connect gateway. */
    directConnectGatewayId?: string;
    /** The ID of the virtual private gateway. */
    virtualGatewayId?: string;
}
export interface DeleteDirectConnectGatewayAssociationProposalInput {
    /** The ID of the proposal. */
    proposalId: string;
}
export interface DeleteInterconnectInput {
    /** The ID of the interconnect. */
    interconnectId: string;
}
export interface DeleteLagInput {
    /** The ID of the LAG. */
    lagId: string;
}
export interface DeleteVirtualInterfaceInput {
    /** The ID of the virtual interface. */
    virtualInterfaceId: string;
}
export interface DescribeConnectionLoaInput {
    /** The ID of the connection. */
    connectionId: string;
    /** The standard media type for the LOA-CFA document. The only supported value is application/pdf. */
    loaContentType?: 'application/pdf';
    /** The name of the APN partner or service provider who establishes connectivity on your behalf. If you specify this parameter, the LOA-CFA lists the provider name alongside your company name as the reque */
    providerName?: string;
}
export interface DescribeConnectionsInput {
    /** The ID of the connection. */
    connectionId?: string;
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. If MaxResults is given a value larger than 100, only */
    maxResults?: number;
    /** The token for the next page of results. */
    nextToken?: string;
}
export interface DescribeConnectionsOnInterconnectInput {
    /** The ID of the interconnect. */
    interconnectId: string;
}
export interface DescribeDirectConnectGatewayAssociationProposalsInput {
    /** The ID of the associated gateway. */
    associatedGatewayId?: string;
    /** The ID of the Direct Connect gateway. */
    directConnectGatewayId?: string;
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. If MaxResults is given a value larger than 100, only */
    maxResults?: number;
    /** The token for the next page of results. */
    nextToken?: string;
    /** The ID of the proposal. */
    proposalId?: string;
}
export interface DescribeDirectConnectGatewayAssociationsInput {
    /** The ID of the associated gateway. */
    associatedGatewayId?: string;
    /** The ID of the Direct Connect gateway association. */
    associationId?: string;
    /** The ID of the Direct Connect gateway. */
    directConnectGatewayId?: string;
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. If MaxResults is given a value larger than 100, only */
    maxResults?: number;
    /** The token provided in the previous call to retrieve the next page. */
    nextToken?: string;
    /** The ID of the virtual private gateway or transit gateway. */
    virtualGatewayId?: string;
}
export interface DescribeDirectConnectGatewayAttachmentsInput {
    /** The ID of the Direct Connect gateway. */
    directConnectGatewayId?: string;
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. If MaxResults is given a value larger than 100, only */
    maxResults?: number;
    /** The token provided in the previous call to retrieve the next page. */
    nextToken?: string;
    /** The ID of the virtual interface. */
    virtualInterfaceId?: string;
}
export interface DescribeDirectConnectGatewaysInput {
    /** The ID of the Direct Connect gateway. */
    directConnectGatewayId?: string;
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. If MaxResults is given a value larger than 100, only */
    maxResults?: number;
    /** The token provided in the previous call to retrieve the next page. */
    nextToken?: string;
}
export interface DescribeHostedConnectionsInput {
    /** The ID of the interconnect or LAG. */
    connectionId: string;
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. If MaxResults is given a value larger than 100, only */
    maxResults?: number;
    /** The token for the next page of results. */
    nextToken?: string;
}
export interface DescribeInterconnectLoaInput {
    /** The ID of the interconnect. */
    interconnectId: string;
    /** The standard media type for the LOA-CFA document. The only supported value is application/pdf. */
    loaContentType?: 'application/pdf';
    /** The name of the service provider who establishes connectivity on your behalf. If you supply this parameter, the LOA-CFA lists the provider name alongside your company name as the requester of the cros */
    providerName?: string;
}
export interface DescribeInterconnectsInput {
    /** The ID of the interconnect. */
    interconnectId?: string;
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. If MaxResults is given a value larger than 100, only */
    maxResults?: number;
    /** The token for the next page of results. */
    nextToken?: string;
}
export interface DescribeLagsInput {
    /** The ID of the LAG. */
    lagId?: string;
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. If MaxResults is given a value larger than 100, only */
    maxResults?: number;
    /** The token for the next page of results. */
    nextToken?: string;
}
export interface DescribeLoaInput {
    /** The ID of a connection, LAG, or interconnect. */
    connectionId: string;
    /** The standard media type for the LOA-CFA document. The only supported value is application/pdf. */
    loaContentType?: 'application/pdf';
    /** The name of the service provider who establishes connectivity on your behalf. If you specify this parameter, the LOA-CFA lists the provider name alongside your company name as the requester of the cro */
    providerName?: string;
}
/** Provides the details about a virtual interface's router. */
export interface DescribeRouterConfigurationInput {
    /** The ID of the virtual interface. */
    virtualInterfaceId: string;
    /** Identifies the router by a combination of vendor, platform, and software version. For example, CiscoSystemsInc-2900SeriesRouters-IOS124. */
    routerTypeIdentifier?: string;
}
export interface DescribeTagsInput {
    /** The Amazon Resource Names (ARNs) of the resources. */
    resourceArns: string[];
}
export interface DescribeVirtualInterfacesInput {
    /** The ID of the connection. */
    connectionId?: string;
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. If MaxResults is given a value larger than 100, only */
    maxResults?: number;
    /** The token for the next page of results. */
    nextToken?: string;
    /** The ID of the virtual interface. */
    virtualInterfaceId?: string;
}
export interface DisassociateConnectionFromLagInput {
    /** The ID of the connection. */
    connectionId: string;
    /** The ID of the LAG. */
    lagId: string;
}
export interface DisassociateMacSecKeyInput {
    /** The ID of the dedicated connection (dxcon-xxxx), interconnect (dxcon-xxxx), or LAG (dxlag-xxxx). You can use DescribeConnections, DescribeInterconnects, or DescribeLags to retrieve connection ID. */
    connectionId: string;
    /** The Amazon Resource Name (ARN) of the MAC Security (MACsec) secret key. You can use DescribeConnections to retrieve the ARN of the MAC Security (MACsec) secret key. */
    secretARN: string;
}
export interface ListVirtualInterfaceTestHistoryInput {
    /** The BGP peers that were placed in the DOWN state during the virtual interface failover test. */
    bgpPeers?: string[];
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. If MaxResults is given a value larger than 100, only */
    maxResults?: number;
    /** The token for the next page of results. */
    nextToken?: string;
    /** The status of the virtual interface failover test. */
    status?: string;
    /** The ID of the virtual interface failover test. */
    testId?: string;
    /** The ID of the virtual interface that was tested. */
    virtualInterfaceId?: string;
}
export interface StartBgpFailoverTestInput {
    /** The ID of the virtual interface you want to test. */
    virtualInterfaceId: string;
    /** The BGP peers to place in the DOWN state. */
    bgpPeers?: string[];
    /** The time in minutes that the virtual interface failover test will last. Maximum value: 4,320 minutes (72 hours). Default: 180 minutes (3 hours). */
    testDurationInMinutes?: number;
}
export interface StopBgpFailoverTestInput {
    /** The ID of the virtual interface you no longer want to test. */
    virtualInterfaceId: string;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource. */
    resourceArn: string;
    /** The tags to add. */
    tags: Tag[];
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource. */
    resourceArn: string;
    /** The tag keys of the tags to remove. */
    tagKeys: string[];
}
export interface UpdateConnectionInput {
    /** The ID of the connection. You can use DescribeConnections to retrieve the connection ID. */
    connectionId: string;
    /** The name of the connection. */
    connectionName?: string;
    /** The connection MAC Security (MACsec) encryption mode. The valid values are no_encrypt, should_encrypt, and must_encrypt. */
    encryptionMode?: string;
}
export interface UpdateDirectConnectGatewayInput {
    /** The ID of the Direct Connect gateway to update. */
    directConnectGatewayId: string;
    /** The new name for the Direct Connect gateway. */
    newDirectConnectGatewayName: string;
}
export interface UpdateDirectConnectGatewayAssociationInput {
    /** The Amazon VPC prefixes to advertise to the Direct Connect gateway. */
    addAllowedPrefixesToDirectConnectGateway?: RouteFilterPrefix[];
    /** The ID of the Direct Connect gateway association. */
    associationId?: string;
    /** The Amazon VPC prefixes to no longer advertise to the Direct Connect gateway. */
    removeAllowedPrefixesToDirectConnectGateway?: RouteFilterPrefix[];
}
export interface UpdateLagInput {
    /** The ID of the LAG. */
    lagId: string;
    /** The LAG MAC Security (MACsec) encryption mode. Amazon Web Services applies the value to all connections which are part of the LAG. */
    encryptionMode?: string;
    /** The name of the LAG. */
    lagName?: string;
    /** The minimum number of physical connections that must be operational for the LAG itself to be operational. */
    minimumLinks?: number;
}
export interface UpdateVirtualInterfaceAttributesInput {
    /** The ID of the virtual private interface. */
    virtualInterfaceId: string;
    /** Indicates whether to enable or disable SiteLink. */
    enableSiteLink?: boolean;
    /** The maximum transmission unit (MTU), in bytes. The supported values are 1500 and 8500. The default value is 1500. */
    mtu?: number;
    /** The name of the virtual private interface. */
    virtualInterfaceName?: string;
}
/** Direct Connect service binding for Step Functions SDK integrations. */
export declare class DirectConnect {
    constructor();
    acceptDirectConnectGatewayAssociationProposal<T>(params: AcceptDirectConnectGatewayAssociationProposalInput): Promise<T>;
    allocateConnectionOnInterconnect<T>(params: AllocateConnectionOnInterconnectInput): Promise<T>;
    allocateHostedConnection<T>(params: AllocateHostedConnectionInput): Promise<T>;
    allocatePrivateVirtualInterface<T>(params: AllocatePrivateVirtualInterfaceInput): Promise<T>;
    allocatePublicVirtualInterface<T>(params: AllocatePublicVirtualInterfaceInput): Promise<T>;
    allocateTransitVirtualInterface<T>(params: AllocateTransitVirtualInterfaceInput): Promise<T>;
    associateConnectionWithLag<T>(params: AssociateConnectionWithLagInput): Promise<T>;
    associateHostedConnection<T>(params: AssociateHostedConnectionInput): Promise<T>;
    associateMacSecKey<T>(params: AssociateMacSecKeyInput): Promise<T>;
    associateVirtualInterface<T>(params: AssociateVirtualInterfaceInput): Promise<T>;
    confirmConnection<T>(params: ConfirmConnectionInput): Promise<T>;
    confirmCustomerAgreement<T>(params: ConfirmCustomerAgreementInput): Promise<T>;
    confirmPrivateVirtualInterface<T>(params: ConfirmPrivateVirtualInterfaceInput): Promise<T>;
    confirmPublicVirtualInterface<T>(params: ConfirmPublicVirtualInterfaceInput): Promise<T>;
    confirmTransitVirtualInterface<T>(params: ConfirmTransitVirtualInterfaceInput): Promise<T>;
    createBGPPeer<T>(params: CreateBGPPeerInput): Promise<T>;
    createConnection<T>(params: CreateConnectionInput): Promise<T>;
    createDirectConnectGateway<T>(params: CreateDirectConnectGatewayInput): Promise<T>;
    createDirectConnectGatewayAssociation<T>(params: CreateDirectConnectGatewayAssociationInput): Promise<T>;
    createDirectConnectGatewayAssociationProposal<T>(params: CreateDirectConnectGatewayAssociationProposalInput): Promise<T>;
    createInterconnect<T>(params: CreateInterconnectInput): Promise<T>;
    createLag<T>(params: CreateLagInput): Promise<T>;
    createPrivateVirtualInterface<T>(params: CreatePrivateVirtualInterfaceInput): Promise<T>;
    createPublicVirtualInterface<T>(params: CreatePublicVirtualInterfaceInput): Promise<T>;
    createTransitVirtualInterface<T>(params: CreateTransitVirtualInterfaceInput): Promise<T>;
    deleteBGPPeer<T>(params: DeleteBGPPeerInput): Promise<T>;
    deleteConnection<T>(params: DeleteConnectionInput): Promise<T>;
    deleteDirectConnectGateway<T>(params: DeleteDirectConnectGatewayInput): Promise<T>;
    deleteDirectConnectGatewayAssociation<T>(params: DeleteDirectConnectGatewayAssociationInput): Promise<T>;
    deleteDirectConnectGatewayAssociationProposal<T>(params: DeleteDirectConnectGatewayAssociationProposalInput): Promise<T>;
    deleteInterconnect<T>(params: DeleteInterconnectInput): Promise<T>;
    deleteLag<T>(params: DeleteLagInput): Promise<T>;
    deleteVirtualInterface<T>(params: DeleteVirtualInterfaceInput): Promise<T>;
    describeConnectionLoa<T>(params: DescribeConnectionLoaInput): Promise<T>;
    describeConnections<T>(params: DescribeConnectionsInput): Promise<T>;
    describeConnectionsOnInterconnect<T>(params: DescribeConnectionsOnInterconnectInput): Promise<T>;
    describeCustomerMetadata<T>(): Promise<T>;
    describeDirectConnectGatewayAssociationProposals<T>(params: DescribeDirectConnectGatewayAssociationProposalsInput): Promise<T>;
    describeDirectConnectGatewayAssociations<T>(params: DescribeDirectConnectGatewayAssociationsInput): Promise<T>;
    describeDirectConnectGatewayAttachments<T>(params: DescribeDirectConnectGatewayAttachmentsInput): Promise<T>;
    describeDirectConnectGateways<T>(params: DescribeDirectConnectGatewaysInput): Promise<T>;
    describeHostedConnections<T>(params: DescribeHostedConnectionsInput): Promise<T>;
    describeInterconnectLoa<T>(params: DescribeInterconnectLoaInput): Promise<T>;
    describeInterconnects<T>(params: DescribeInterconnectsInput): Promise<T>;
    describeLags<T>(params: DescribeLagsInput): Promise<T>;
    describeLoa<T>(params: DescribeLoaInput): Promise<T>;
    describeLocations<T>(): Promise<T>;
    describeRouterConfiguration<T>(params: DescribeRouterConfigurationInput): Promise<T>;
    describeTags<T>(params: DescribeTagsInput): Promise<T>;
    describeVirtualGateways<T>(): Promise<T>;
    describeVirtualInterfaces<T>(params: DescribeVirtualInterfacesInput): Promise<T>;
    disassociateConnectionFromLag<T>(params: DisassociateConnectionFromLagInput): Promise<T>;
    disassociateMacSecKey<T>(params: DisassociateMacSecKeyInput): Promise<T>;
    listVirtualInterfaceTestHistory<T>(params: ListVirtualInterfaceTestHistoryInput): Promise<T>;
    startBgpFailoverTest<T>(params: StartBgpFailoverTestInput): Promise<T>;
    stopBgpFailoverTest<T>(params: StopBgpFailoverTestInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateConnection<T>(params: UpdateConnectionInput): Promise<T>;
    updateDirectConnectGateway<T>(params: UpdateDirectConnectGatewayInput): Promise<T>;
    updateDirectConnectGatewayAssociation<T>(params: UpdateDirectConnectGatewayAssociationInput): Promise<T>;
    updateLag<T>(params: UpdateLagInput): Promise<T>;
    updateVirtualInterfaceAttributes<T>(params: UpdateVirtualInterfaceAttributesInput): Promise<T>;
}
//# sourceMappingURL=DirectConnect.d.ts.map