Module Smaws_Client_DirectConnect.Types

type nonrec xslt_template_name_for_mac_sec = string
type nonrec xslt_template_name = string
type nonrec owner_account = string
type nonrec virtual_interface_id = string
type nonrec location_code = string
type nonrec connection_id = string
type nonrec virtual_interface_type = string
type nonrec virtual_interface_name = string
type nonrec vla_n = int
type nonrec as_n = int
type nonrec long_asn = Smaws_Lib.CoreTypes.Int64.t
type nonrec bgp_auth_key = string
type nonrec amazon_address = string
type nonrec customer_address = string
type nonrec address_family =
  1. | IPv6
  2. | IPv4
type nonrec virtual_interface_state =
  1. | Unknown
  2. | Rejected
  3. | Deleted
  4. | Deleting
  5. | Testing
  6. | Down
  7. | Available
  8. | Pending
  9. | Verifying
  10. | Confirming
type nonrec router_config = string
type nonrec mt_u = int
type nonrec jumbo_frame_capable = bool
type nonrec virtual_gateway_id = string
type nonrec direct_connect_gateway_id = string
type nonrec cid_r = string
type nonrec route_filter_prefix = {
  1. cidr : cid_r option;
    (*

    The CIDR block for the advertised route. Separate multiple routes using commas. An IPv6 CIDR must use /64 or shorter.

    *)
}

Information about a route filter prefix that a customer can advertise through Border Gateway Protocol (BGP) over a public virtual interface.

type nonrec route_filter_prefix_list = route_filter_prefix list
type nonrec bgp_peer_id = string
type nonrec bgp_peer_state =
  1. | Deleted
  2. | Deleting
  3. | Available
  4. | Pending
  5. | Verifying
type nonrec bgp_status =
  1. | Unknown
  2. | Down
  3. | Up
type nonrec aws_device_v2 = string
type nonrec aws_logical_device_id = string
type nonrec bgp_peer = {
  1. aws_logical_device_id : aws_logical_device_id option;
    (*

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

    *)
  2. aws_device_v2 : aws_device_v2 option;
    (*

    The Direct Connect endpoint that terminates the BGP peer.

    *)
  3. bgp_status : bgp_status option;
    (*

    The status of the BGP peer. The following are the possible values:

    • up: The BGP peer is established. This state does not indicate the state of the routing function. Ensure that you are receiving routes over the BGP session.
    • down: The BGP peer is down.
    • unknown: The BGP peer status is not available.
    *)
  4. bgp_peer_state : bgp_peer_state option;
    (*

    The state of the BGP peer. The following are the possible values:

    • verifying: The BGP peering addresses or ASN require validation before the BGP peer can be created. This state applies only to public virtual interfaces.
    • pending: The BGP peer is created, and remains in this state until it is ready to be established.
    • available: The BGP peer is ready to be established.
    • deleting: The BGP peer is being deleted.
    • deleted: The BGP peer is deleted and cannot be established.
    *)
  5. customer_address : customer_address option;
    (*

    The IP address assigned to the customer interface.

    *)
  6. amazon_address : amazon_address option;
    (*

    The IP address assigned to the Amazon interface.

    *)
  7. address_family : address_family option;
    (*

    The address family for the BGP peer.

    *)
  8. auth_key : bgp_auth_key option;
    (*

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

    *)
  9. asn_long : long_asn option;
    (*

    The long ASN for the BGP peer. The valid range is from 1 to 4294967294 for BGP configuration.

    Note the following limitations when using asnLong:

    • You can use asnLong or asn, but not both. We recommend using asnLong as it supports a greater pool of numbers.
    • asnLong accepts any valid ASN value, regardless if it's 2-byte or 4-byte.
    • When using a 4-byte asnLong, the API response returns 0 for the legacy asn attribute since 4-byte ASN values exceed the maximum supported value of 2,147,483,647.
    • If you are using a 2-byte ASN, the API response will include the 2-byte value for both the asn and asnLong fields.
    • If you provide a value in the same API call for both asn and asnLong, the API will only accept the value for asnLong.
    *)
  10. asn : as_n option;
    (*

    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 asnLong instead.

    • You can use asnLong or asn, but not both. We recommend using asnLong as it supports a greater pool of numbers.
    • If you provide a value in the same API call for both asn and asnLong, the API will only accept the value for asnLong.
    • If you enter a 4-byte ASN for the asn parameter, the API returns an error.
    • If you are using a 2-byte ASN, the API response will include the 2-byte value for both the asn and asnLong fields.
    *)
  11. bgp_peer_id : bgp_peer_id option;
    (*

    The ID of the BGP peer.

    *)
}

Information about a BGP peer.

type nonrec bgp_peer_list = bgp_peer list
type nonrec region = string
type nonrec tag_key = string
type nonrec tag_value = string
type nonrec tag = {
  1. value : tag_value option;
    (*

    The value.

    *)
  2. key : tag_key;
    (*

    The key.

    *)
}

Information about a tag.

type nonrec tag_list = tag list
type nonrec rate_limit = string
type nonrec virtual_interface = {
  1. rate_limit : rate_limit option;
    (*

    The rate limit (bandwidth allocation) applied to the virtual interface. The value must be one of the supported bandwidth values and cannot exceed the bandwidth of the parent connection or LAG. Supported values: 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 600Mbps, 700Mbps, 800Mbps, 900Mbps, 1Gbps, 1.2Gbps, 1.5Gbps, 1.8Gbps, 2Gbps, 2.1Gbps, 2.4Gbps, 2.7Gbps, 3Gbps, 3.2Gbps, 3.6Gbps, 4Gbps, 5Gbps, 6Gbps, 7Gbps, 8Gbps, 9Gbps, 10Gbps, 12Gbps, 15Gbps, 18Gbps, 20Gbps, 21Gbps, 24Gbps, 27Gbps, 30Gbps, 32Gbps, 36Gbps, 40Gbps, 50Gbps, 60Gbps, 70Gbps, 80Gbps, 100Gbps, 120Gbps, 150Gbps, 180Gbps, 200Gbps, 210Gbps, 240Gbps, 270Gbps, 300Gbps, 320Gbps, 360Gbps, 400Gbps, 450Gbps, 480Gbps, 500Gbps, 540Gbps, 600Gbps, 700Gbps, 800Gbps, 900Gbps, 1Tbps, 1.1Tbps, 1.2Tbps, 1.3Tbps, 1.4Tbps, 1.5Tbps, 1.6Tbps.

    *)
  2. tags : tag_list option;
    (*

    The tags associated with the virtual interface.

    *)
  3. aws_logical_device_id : aws_logical_device_id option;
    (*

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

    *)
  4. aws_device_v2 : aws_device_v2 option;
    (*

    The Direct Connect endpoint that terminates the physical connection.

    *)
  5. region : region option;
    (*

    The Amazon Web Services Region where the virtual interface is located.

    *)
  6. bgp_peers : bgp_peer_list option;
    (*

    The BGP peers configured on this virtual interface.

    *)
  7. route_filter_prefixes : route_filter_prefix_list option;
    (*

    The routes to be advertised to the Amazon Web Services network in this Region. Applies to public virtual interfaces.

    *)
  8. direct_connect_gateway_id : direct_connect_gateway_id option;
    (*

    The ID of the Direct Connect gateway.

    *)
  9. virtual_gateway_id : virtual_gateway_id option;
    (*

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

    *)
  10. jumbo_frame_capable : jumbo_frame_capable option;
    (*

    Indicates whether jumbo frames are supported.

    *)
  11. mtu : mt_u option;
    (*

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

    *)
  12. customer_router_config : router_config option;
    (*

    The customer router configuration.

    *)
  13. virtual_interface_state : virtual_interface_state option;
    (*

    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.
    • testing: A virtual interface is in this state immediately after calling StartBgpFailoverTest and remains in this state during the duration of the test.
    • 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.
    *)
  14. address_family : address_family option;
    (*

    The address family for the BGP peer.

    *)
  15. customer_address : customer_address option;
    (*

    The IP address assigned to the customer interface.

    *)
  16. amazon_address : amazon_address option;
    (*

    The IP address assigned to the Amazon interface.

    *)
  17. auth_key : bgp_auth_key option;
    (*

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

    *)
  18. amazon_side_asn : long_asn option;
    (*

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

    *)
  19. asn_long : long_asn option;
    (*

    The long ASN for the virtual interface. The valid range is from 1 to 4294967294 for BGP configuration.

    Note the following limitations when using asnLong:

    • You can use asnLong or asn, but not both. We recommend using asnLong as it supports a greater pool of numbers.
    • asnLong accepts any valid ASN value, regardless if it's 2-byte or 4-byte.
    • When using a 4-byte asnLong, the API response returns 0 for the legacy asn attribute since 4-byte ASN values exceed the maximum supported value of 2,147,483,647.
    • If you are using a 2-byte ASN, the API response will include the 2-byte value for both the asn and asnLong fields.
    • If you provide a value in the same API call for both asn and asnLong, the API will only accept the value for asnLong.
    *)
  20. asn : as_n option;
    (*

    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 asnLong instead.

    • You can use asnLong or asn, but not both. We recommend using asnLong as it supports a greater pool of numbers.
    • If you provide a value in the same API call for both asn and asnLong, the API will only accept the value for asnLong.
    • If you enter a 4-byte ASN for the asn parameter, the API returns an error.
    • If you are using a 2-byte ASN, the API response will include the 2-byte value for both the asn and asnLong fields.
    *)
  21. vlan : vla_n option;
    (*

    The ID of the VLAN.

    *)
  22. virtual_interface_name : virtual_interface_name option;
    (*

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

    *)
  23. virtual_interface_type : virtual_interface_type option;
    (*

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

    *)
  24. connection_id : connection_id option;
    (*

    The ID of the connection.

    *)
  25. location : location_code option;
    (*

    The location of the connection.

    *)
  26. virtual_interface_id : virtual_interface_id option;
    (*

    The ID of the virtual interface.

    *)
  27. owner_account : owner_account option;
    (*

    The ID of the Amazon Web Services account that owns the virtual interface.

    *)
}

Information about a virtual interface.

type nonrec virtual_interface_list = virtual_interface list
type nonrec pagination_token = string
type nonrec virtual_interfaces = {
  1. next_token : pagination_token option;
    (*

    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

    *)
  2. virtual_interfaces : virtual_interface_list option;
    (*

    The virtual interfaces

    *)
}
type nonrec test_id = string
type nonrec bgp_peer_id_list = bgp_peer_id list
type nonrec failure_test_history_status = string
type nonrec test_duration = int
type nonrec start_time = Smaws_Lib.CoreTypes.Timestamp.t
type nonrec end_time = Smaws_Lib.CoreTypes.Timestamp.t
type nonrec virtual_interface_test_history = {
  1. end_time : end_time option;
    (*

    The time that the virtual interface moves out of the DOWN state.

    *)
  2. start_time : start_time option;
    (*

    The time that the virtual interface moves to the DOWN state.

    *)
  3. test_duration_in_minutes : test_duration option;
    (*

    The time that the virtual interface failover test ran in minutes.

    *)
  4. owner_account : owner_account option;
    (*

    The owner ID of the tested virtual interface.

    *)
  5. status : failure_test_history_status option;
    (*

    The status of the virtual interface failover test.

    *)
  6. bgp_peers : bgp_peer_id_list option;
    (*

    The BGP peers that were put in the DOWN state as part of the virtual interface failover test.

    *)
  7. virtual_interface_id : virtual_interface_id option;
    (*

    The ID of the tested virtual interface.

    *)
  8. test_id : test_id option;
    (*

    The ID of the virtual interface failover test.

    *)
}

Information about the virtual interface failover test.

type nonrec virtual_interface_test_history_list = virtual_interface_test_history list
type nonrec virtual_interface_region = string
type nonrec virtual_gateway_state = string
type nonrec virtual_gateway = {
  1. virtual_gateway_state : virtual_gateway_state option;
    (*

    The state of the virtual private gateway. The following are the possible values:

    • pending: Initial state after creating the virtual private gateway.
    • available: Ready for use by a private virtual interface.
    • deleting: Initial state after deleting the virtual private gateway.
    • deleted: The virtual private gateway is deleted. The private virtual interface is unable to send traffic over this gateway.
    *)
  2. virtual_gateway_id : virtual_gateway_id option;
    (*

    The ID of the virtual private gateway.

    *)
}

Information about a virtual private gateway for a private virtual interface.

type nonrec virtual_gateway_list = virtual_gateway list
type nonrec virtual_gateways = {
  1. virtual_gateways : virtual_gateway_list option;
    (*

    The virtual private gateways.

    *)
}
type nonrec virtual_gateway_region = string
type nonrec vendor = string
type nonrec update_virtual_interface_attributes_request = {
  1. rate_limit : rate_limit option;
    (*

    The rate limit (bandwidth allocation) to apply to the virtual interface. Use this to update the bandwidth allocation on an existing virtual interface.

    *)
  2. virtual_interface_name : virtual_interface_name option;
    (*

    The name of the virtual private interface.

    *)
  3. mtu : mt_u option;
    (*

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

    *)
  4. virtual_interface_id : virtual_interface_id;
    (*

    The ID of the virtual private interface.

    *)
}
type nonrec error_message = string
type nonrec direct_connect_server_exception = {
  1. message : error_message option;
}

A server-side error occurred.

type nonrec direct_connect_client_exception = {
  1. message : error_message option;
}

One or more parameters are not valid.

type nonrec lag_id = string
type nonrec lag_name = string
type nonrec count = int
type nonrec encryption_mode = string
type nonrec update_lag_request = {
  1. encryption_mode : encryption_mode option;
    (*

    The LAG MAC Security (MACsec) encryption mode.

    Amazon Web Services applies the value to all connections which are part of the LAG.

    *)
  2. lag_name : lag_name option;
    (*

    The name of the LAG.

    *)
  3. lag_id : lag_id;
    (*

    The ID of the LAG.

    *)
}
type nonrec bandwidth = string
type nonrec lag_state =
  1. | Unknown
  2. | Deleted
  3. | Deleting
  4. | Down
  5. | Available
  6. | Pending
  7. | Requested
type nonrec aws_device = string
type nonrec connection_name = string
type nonrec connection_state =
  1. | Unknown
  2. | Rejected
  3. | Deleted
  4. | Deleting
  5. | Down
  6. | Available
  7. | Pending
  8. | Requested
  9. | Ordering
type nonrec partner_name = string
type nonrec loa_issue_time = Smaws_Lib.CoreTypes.Timestamp.t
type nonrec has_logical_redundancy =
  1. | No
  2. | Yes
  3. | Unknown
type nonrec provider_name = string
type nonrec mac_sec_capable = bool
type nonrec port_encryption_status = string
type nonrec secret_ar_n = string
type nonrec ckn = string
type nonrec state = string
type nonrec start_on_date = string
type nonrec mac_sec_key = {
  1. start_on : start_on_date option;
    (*

    The date that the MAC Security (MACsec) secret key takes effect. The value is displayed in UTC format.

    *)
  2. state : state option;
    (*

    The state of the MAC Security (MACsec) secret key.

    The possible values are:

    • associating: The MAC Security (MACsec) secret key is being validated and not yet associated with the connection or LAG.
    • associated: The MAC Security (MACsec) secret key is validated and associated with the connection or LAG.
    • disassociating: The MAC Security (MACsec) secret key is being disassociated from the connection or LAG
    • disassociated: The MAC Security (MACsec) secret key is no longer associated with the connection or LAG.
    *)
  3. ckn : ckn option;
    (*

    The Connection Key Name (CKN) for the MAC Security secret key.

    *)
  4. secret_ar_n : secret_ar_n option;
    (*

    The Amazon Resource Name (ARN) of the MAC Security (MACsec) secret key.

    *)
}

Information about the MAC Security (MACsec) secret key.

type nonrec mac_sec_key_list = mac_sec_key list
type nonrec rate_limiter_status = {
  1. total_bandwidth : bandwidth option;
    (*

    The total bandwidth allocated across all rate limiters on the connection.

    *)
  2. remaining : count option;
    (*

    The number of rate limiters remaining (available) on the connection.

    *)
  3. in_use : count option;
    (*

    The number of rate limiters currently in use on the connection.

    *)
  4. max_allowed : count option;
    (*

    The maximum number of rate limiters allowed on the connection.

    *)
}

Contains information about the rate limiter status for a connection, including the maximum number of rate limiters allowed, the number currently in use, and the remaining capacity.

type nonrec partner_interconnect_mac_sec_capable = bool
type nonrec connection = {
  1. partner_interconnect_mac_sec_capable : partner_interconnect_mac_sec_capable option;
    (*

    Indicates whether the interconnect hosting this connection supports MAC Security (MACsec).

    *)
  2. rate_limiter_status : rate_limiter_status option;
    (*

    The rate limiter status for the connection, including how many rate limiters are in use and the maximum allowed.

    *)
  3. mac_sec_keys : mac_sec_key_list option;
    (*

    The MAC Security (MACsec) security keys associated with the connection.

    *)
  4. encryption_mode : encryption_mode option;
    (*

    The MAC Security (MACsec) connection encryption mode.

    The valid values are no_encrypt, should_encrypt, and must_encrypt.

    *)
  5. port_encryption_status : port_encryption_status option;
    (*

    The MAC Security (MACsec) port link status of the connection.

    The valid values are Encryption Up, which means that there is an active Connection Key Name, or Encryption Down.

    *)
  6. mac_sec_capable : mac_sec_capable option;
    (*

    Indicates whether the connection supports MAC Security (MACsec).

    *)
  7. provider_name : provider_name option;
    (*

    The name of the service provider associated with the connection.

    *)
  8. tags : tag_list option;
    (*

    The tags associated with the connection.

    *)
  9. has_logical_redundancy : has_logical_redundancy option;
    (*

    Indicates whether the connection supports a secondary BGP peer in the same address family (IPv4/IPv6).

    *)
  10. aws_logical_device_id : aws_logical_device_id option;
    (*

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

    *)
  11. aws_device_v2 : aws_device_v2 option;
    (*

    The Direct Connect endpoint that terminates the physical connection.

    *)
  12. jumbo_frame_capable : jumbo_frame_capable option;
    (*

    Indicates whether jumbo frames are supported.

    *)
  13. aws_device : aws_device option;
    (*

    The Direct Connect endpoint on which the physical connection terminates.

    *)
  14. lag_id : lag_id option;
    (*

    The ID of the LAG.

    *)
  15. loa_issue_time : loa_issue_time option;
    (*

    The time of the most recent call to DescribeLoa for this connection.

    *)
  16. partner_name : partner_name option;
    (*

    The name of the Direct Connect service provider associated with the connection.

    *)
  17. vlan : vla_n option;
    (*

    The ID of the VLAN.

    *)
  18. bandwidth : bandwidth option;
    (*

    The bandwidth of the connection.

    *)
  19. location : location_code option;
    (*

    The location of the connection.

    *)
  20. region : region option;
    (*

    The Amazon Web Services Region where the connection is located.

    *)
  21. connection_state : connection_state option;
    (*

    The state of the connection. The following are the possible values:

    • ordering: The initial state of a hosted connection provisioned on an interconnect. The connection stays in the ordering state until the owner of the hosted connection confirms or declines the connection order.
    • requested: The initial state of a standard connection. The connection stays in the requested state until the Letter of Authorization (LOA) is sent to the customer.
    • pending: The connection has been approved and is being initialized.
    • available: The network link is up and the connection is ready for use.
    • down: The network link is down.
    • deleting: The connection is being deleted.
    • deleted: The connection has been deleted.
    • rejected: A hosted connection in the ordering state enters the rejected state if it is deleted by the customer.
    • unknown: The state of the connection is not available.
    *)
  22. connection_name : connection_name option;
    (*

    The name of the connection.

    *)
  23. connection_id : connection_id option;
    (*

    The ID of the connection.

    *)
  24. owner_account : owner_account option;
    (*

    The ID of the Amazon Web Services account that owns the connection.

    *)
}

Information about an Direct Connect connection.

type nonrec connection_list = connection list
type nonrec boolean_flag = bool
type nonrec lag = {
  1. rate_limiter_status : rate_limiter_status option;
    (*

    The rate limiter status for the LAG, including how many rate limiters are in use and the maximum allowed.

    *)
  2. mac_sec_keys : mac_sec_key_list option;
    (*

    The MAC Security (MACsec) security keys associated with the LAG.

    *)
  3. encryption_mode : encryption_mode option;
    (*

    The LAG MAC Security (MACsec) encryption mode.

    The valid values are no_encrypt, should_encrypt, and must_encrypt.

    *)
  4. mac_sec_capable : mac_sec_capable option;
    (*

    Indicates whether the LAG supports MAC Security (MACsec).

    *)
  5. provider_name : provider_name option;
    (*

    The name of the service provider associated with the LAG.

    *)
  6. tags : tag_list option;
    (*

    The tags associated with the LAG.

    *)
  7. has_logical_redundancy : has_logical_redundancy option;
    (*

    Indicates whether the LAG supports a secondary BGP peer in the same address family (IPv4/IPv6).

    *)
  8. jumbo_frame_capable : jumbo_frame_capable option;
    (*

    Indicates whether jumbo frames are supported.

    *)
  9. allows_hosted_connections : boolean_flag option;
    (*

    Indicates whether the LAG can host other connections.

    *)
  10. connections : connection_list option;
    (*

    The connections bundled by the LAG.

    *)
  11. aws_logical_device_id : aws_logical_device_id option;
    (*

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

    *)
  12. aws_device_v2 : aws_device_v2 option;
    (*

    The Direct Connect endpoint that hosts the LAG.

    *)
  13. aws_device : aws_device option;
    (*

    The Direct Connect endpoint that hosts the LAG.

    *)
  14. region : region option;
    (*

    The Amazon Web Services Region where the connection is located.

    *)
  15. location : location_code option;
    (*

    The location of the LAG.

    *)
  16. lag_state : lag_state option;
    (*

    The state of the LAG. The following are the possible values:

    • requested: The initial state of a LAG. The LAG stays in the requested state until the Letter of Authorization (LOA) is available.
    • pending: The LAG has been approved and is being initialized.
    • available: The network link is established and the LAG is ready for use.
    • down: The network link is down.
    • deleting: The LAG is being deleted.
    • deleted: The LAG is deleted.
    • unknown: The state of the LAG is not available.
    *)
  17. lag_name : lag_name option;
    (*

    The name of the LAG.

    *)
  18. owner_account : owner_account option;
    (*

    The ID of the Amazon Web Services account that owns the LAG.

    *)
  19. lag_id : lag_id option;
    (*

    The ID of the LAG.

    *)
  20. number_of_connections : count option;
    (*

    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 1 Gbps or 10 Gbps, or two when the port speed is 100 Gbps or 400 Gbps.

    *)
  21. connections_bandwidth : bandwidth option;
    (*

    The individual bandwidth of the physical connections bundled by the LAG. The possible values are 1Gbps, 10Gbps, 100Gbps, or 400 Gbps..

    *)
}

Information about a link aggregation group (LAG).

type nonrec direct_connect_gateway_name = string
type nonrec direct_connect_gateway_state =
  1. | Deleted
  2. | Deleting
  3. | Available
  4. | Pending
type nonrec state_change_error = string
type nonrec direct_connect_gateway = {
  1. tags : tag_list option;
    (*

    Information about a tag.

    *)
  2. state_change_error : state_change_error option;
    (*

    The error message if the state of an object failed to advance.

    *)
  3. direct_connect_gateway_state : direct_connect_gateway_state option;
    (*

    The state of the Direct Connect gateway. The following are the possible values:

    • pending: The initial state after calling CreateDirectConnectGateway.
    • available: The Direct Connect gateway is ready for use.
    • deleting: The initial state after calling DeleteDirectConnectGateway.
    • deleted: The Direct Connect gateway is deleted and cannot pass traffic.
    *)
  4. owner_account : owner_account option;
    (*

    The ID of the Amazon Web Services account that owns the Direct Connect gateway.

    *)
  5. amazon_side_asn : long_asn option;
    (*

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

    *)
  6. direct_connect_gateway_name : direct_connect_gateway_name option;
    (*

    The name of the Direct Connect gateway.

    *)
  7. direct_connect_gateway_id : direct_connect_gateway_id option;
    (*

    The ID of the Direct Connect gateway.

    *)
}

Information about a Direct Connect gateway, which enables you to connect virtual interfaces and virtual private gateway or transit gateways.

type nonrec update_direct_connect_gateway_response = {
  1. direct_connect_gateway : direct_connect_gateway option;
    (*

    Informaiton about a Direct Connect gateway, which enables you to connect virtual interfaces and virtual private gateways or transit gateways.

    *)
}
type nonrec update_direct_connect_gateway_request = {
  1. new_direct_connect_gateway_name : direct_connect_gateway_name;
    (*

    The new name for the Direct Connect gateway.

    *)
  2. direct_connect_gateway_id : direct_connect_gateway_id;
    (*

    The ID of the Direct Connect gateway to update.

    *)
}
type nonrec direct_connect_gateway_association_state =
  1. | Updating
  2. | Disassociated
  3. | Disassociating
  4. | Associated
  5. | Associating
type nonrec gateway_identifier = string
type nonrec gateway_type =
  1. | TransitGateway
  2. | VirtualPrivateGateway
type nonrec associated_gateway = {
  1. region : region option;
    (*

    The Region where the associated gateway is located.

    *)
  2. owner_account : owner_account option;
    (*

    The ID of the Amazon Web Services account that owns the associated virtual private gateway or transit gateway.

    *)
  3. type_ : gateway_type option;
    (*

    The type of associated gateway.

    *)
  4. id : gateway_identifier option;
    (*

    The ID of the associated gateway.

    *)
}

Information about the associated gateway.

type nonrec direct_connect_gateway_association_id = string
type nonrec core_network_identifier = string
type nonrec core_network_attachment_id = string
type nonrec associated_core_network = {
  1. attachment_id : core_network_attachment_id option;
    (*

    the ID of the Direct Connect gateway attachment.

    *)
  2. owner_account : owner_account option;
    (*

    The account owner of the Cloud WAN core network.

    *)
  3. id : core_network_identifier option;
    (*

    The ID of the Cloud WAN core network that the Direct Connect gateway is associated to.

    *)
}

The Amazon Web Services Cloud WAN core network that the Direct Connect gateway is associated to. This is only returned when a Direct Connect gateway is associated to a Cloud WAN core network.

type nonrec direct_connect_gateway_association = {
  1. virtual_gateway_owner_account : owner_account option;
    (*

    The ID of the Amazon Web Services account that owns the virtual private gateway.

    *)
  2. virtual_gateway_region : virtual_gateway_region option;
    (*

    The Amazon Web Services Region where the virtual private gateway is located.

    *)
  3. virtual_gateway_id : virtual_gateway_id option;
    (*

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

    *)
  4. associated_core_network : associated_core_network option;
    (*

    The ID of the Cloud WAN core network associated with the Direct Connect gateway attachment.

    *)
  5. allowed_prefixes_to_direct_connect_gateway : route_filter_prefix_list option;
    (*

    The Amazon VPC prefixes to advertise to the Direct Connect gateway.

    *)
  6. association_id : direct_connect_gateway_association_id option;
    (*

    The ID of the Direct Connect gateway association.

    *)
  7. associated_gateway : associated_gateway option;
    (*

    Information about the associated gateway.

    *)
  8. state_change_error : state_change_error option;
    (*

    The error message if the state of an object failed to advance.

    *)
  9. association_state : direct_connect_gateway_association_state option;
    (*

    The state of the association. The following are the possible values:

    • associating: The initial state after calling CreateDirectConnectGatewayAssociation.
    • associated: The Direct Connect gateway and virtual private gateway or transit gateway are successfully associated and ready to pass traffic.
    • disassociating: The initial state after calling DeleteDirectConnectGatewayAssociation.
    • disassociated: The virtual private gateway or transit gateway is disassociated from the Direct Connect gateway. Traffic flow between the Direct Connect gateway and virtual private gateway or transit gateway is stopped.
    • updating: The CIDR blocks for the virtual private gateway or transit gateway are currently being updated. This could be new CIDR blocks added or current CIDR blocks removed.
    *)
  10. direct_connect_gateway_owner_account : owner_account option;
    (*

    The ID of the Amazon Web Services account that owns the associated gateway.

    *)
  11. direct_connect_gateway_id : direct_connect_gateway_id option;
    (*

    The ID of the Direct Connect gateway.

    *)
}

Information about an association between a Direct Connect gateway and a virtual private gateway or transit gateway.

type nonrec update_direct_connect_gateway_association_result = {
  1. direct_connect_gateway_association : direct_connect_gateway_association option;
    (*

    Information about an association between a Direct Connect gateway and a virtual private gateway or transit gateway.

    *)
}
type nonrec update_direct_connect_gateway_association_request = {
  1. remove_allowed_prefixes_to_direct_connect_gateway : route_filter_prefix_list option;
    (*

    The Amazon VPC prefixes to no longer advertise to the Direct Connect gateway.

    *)
  2. add_allowed_prefixes_to_direct_connect_gateway : route_filter_prefix_list option;
    (*

    The Amazon VPC prefixes to advertise to the Direct Connect gateway.

    *)
  3. association_id : direct_connect_gateway_association_id option;
    (*

    The ID of the Direct Connect gateway association.

    *)
}
type nonrec update_connection_request = {
  1. encryption_mode : encryption_mode option;
    (*

    The connection MAC Security (MACsec) encryption mode.

    The valid values are no_encrypt, should_encrypt, and must_encrypt.

    *)
  2. connection_name : connection_name option;
    (*

    The name of the connection.

    *)
  3. connection_id : connection_id;
    (*

    The ID of the connection.

    You can use DescribeConnections to retrieve the connection ID.

    *)
}
type nonrec untag_resource_response = unit
type nonrec resource_arn = string
type nonrec tag_key_list = tag_key list
type nonrec untag_resource_request = {
  1. tag_keys : tag_key_list;
    (*

    The tag keys of the tags to remove.

    *)
  2. resource_arn : resource_arn;
    (*

    The Amazon Resource Name (ARN) of the resource.

    *)
}
type nonrec too_many_tags_exception = {
  1. message : error_message option;
}

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

type nonrec tag_resource_response = unit
type nonrec tag_resource_request = {
  1. tags : tag_list;
    (*

    The tags to add.

    *)
  2. resource_arn : resource_arn;
    (*

    The Amazon Resource Name (ARN) of the resource.

    *)
}
type nonrec duplicate_tag_keys_exception = {
  1. message : error_message option;
}

A tag key was specified more than once.

type nonrec stop_bgp_failover_test_response = {
  1. virtual_interface_test : virtual_interface_test_history option;
    (*

    Information about the virtual interface failover test.

    *)
}
type nonrec stop_bgp_failover_test_request = {
  1. virtual_interface_id : virtual_interface_id;
    (*

    The ID of the virtual interface you no longer want to test.

    *)
}
type nonrec status = string
type nonrec start_bgp_failover_test_response = {
  1. virtual_interface_test : virtual_interface_test_history option;
    (*

    Information about the virtual interface failover test.

    *)
}
type nonrec start_bgp_failover_test_request = {
  1. test_duration_in_minutes : test_duration option;
    (*

    The time in minutes that the virtual interface failover test will last.

    Maximum value: 4,320 minutes (72 hours).

    Default: 180 minutes (3 hours).

    *)
  2. bgp_peers : bgp_peer_id_list option;
    (*

    The BGP peers to place in the DOWN state.

    *)
  3. virtual_interface_id : virtual_interface_id;
    (*

    The ID of the virtual interface you want to test.

    *)
}
type nonrec software = string
type nonrec router_type_identifier = string
type nonrec platform = string
type nonrec router_type = {
  1. router_type_identifier : router_type_identifier option;
    (*

    Identifies the router by a combination of vendor, platform, and software version. For example, CiscoSystemsInc-2900SeriesRouters-IOS124.

    *)
  2. xslt_template_name_for_mac_sec : xslt_template_name_for_mac_sec option;
    (*

    The MAC Security (MACsec) template for the virtual interface's router.

    *)
  3. xslt_template_name : xslt_template_name option;
    (*

    The template for the virtual interface's router.

    *)
  4. software : software option;
    (*

    The router software.

    *)
  5. platform : platform option;
    (*

    The virtual interface router platform.

    *)
  6. vendor : vendor option;
    (*

    The vendor for the virtual interface's router.

    *)
}

Information about the virtual router.

type nonrec resource_tag = {
  1. tags : tag_list option;
    (*

    The tags.

    *)
  2. resource_arn : resource_arn option;
    (*

    The Amazon Resource Name (ARN) of the resource.

    *)
}

Information about a tag associated with an Direct Connect resource.

type nonrec resource_tag_list = resource_tag list
type nonrec resource_arn_list = resource_arn list
type nonrec request_mac_sec = bool
type nonrec provider_list = provider_name list
type nonrec port_speed = string
type nonrec list_virtual_interface_test_history_response = {
  1. next_token : pagination_token option;
    (*

    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

    *)
  2. virtual_interface_test_history : virtual_interface_test_history_list option;
    (*

    The ID of the tested virtual interface.

    *)
}
type nonrec max_result_set_size = int
type nonrec list_virtual_interface_test_history_request = {
  1. next_token : pagination_token option;
    (*

    The token for the next page of results.

    *)
  2. max_results : max_result_set_size option;
    (*

    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 100 results are returned.

    *)
  3. status : failure_test_history_status option;
    (*

    The status of the virtual interface failover test.

    *)
  4. bgp_peers : bgp_peer_id_list option;
    (*

    The BGP peers that were placed in the DOWN state during the virtual interface failover test.

    *)
  5. virtual_interface_id : virtual_interface_id option;
    (*

    The ID of the virtual interface that was tested.

    *)
  6. test_id : test_id option;
    (*

    The ID of the virtual interface failover test.

    *)
}
type nonrec disassociate_mac_sec_key_response = {
  1. mac_sec_keys : mac_sec_key_list option;
    (*

    The MAC Security (MACsec) security keys no longer associated with the connection.

    *)
  2. connection_id : connection_id option;
    (*

    The ID of the dedicated connection (dxcon-xxxx), interconnect (dxcon-xxxx), or LAG (dxlag-xxxx).

    *)
}
type nonrec disassociate_mac_sec_key_request = {
  1. secret_ar_n : secret_ar_n;
    (*

    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.

    *)
  2. connection_id : connection_id;
    (*

    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.

    *)
}
type nonrec disassociate_connection_from_lag_request = {
  1. lag_id : lag_id;
    (*

    The ID of the LAG.

    *)
  2. connection_id : connection_id;
    (*

    The ID of the connection.

    *)
}
type nonrec describe_virtual_interfaces_request = {
  1. next_token : pagination_token option;
    (*

    The token for the next page of results.

    *)
  2. max_results : max_result_set_size option;
    (*

    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 100 results are returned.

    *)
  3. virtual_interface_id : virtual_interface_id option;
    (*

    The ID of the virtual interface.

    *)
  4. connection_id : connection_id option;
    (*

    The ID of the connection.

    *)
}
type nonrec describe_tags_response = {
  1. resource_tags : resource_tag_list option;
    (*

    Information about the tags.

    *)
}
type nonrec describe_tags_request = {
  1. resource_arns : resource_arn_list;
    (*

    The Amazon Resource Names (ARNs) of the resources.

    *)
}
type nonrec describe_router_configuration_response = {
  1. virtual_interface_name : virtual_interface_name option;
    (*

    Provides the details about a virtual interface's router.

    *)
  2. virtual_interface_id : virtual_interface_id option;
    (*

    The ID assigned to the virtual interface.

    *)
  3. router : router_type option;
    (*

    The details about the router.

    *)
  4. customer_router_config : router_config option;
    (*

    The customer router configuration.

    *)
}
type nonrec describe_router_configuration_request = {
  1. router_type_identifier : router_type_identifier option;
    (*

    Identifies the router by a combination of vendor, platform, and software version. For example, CiscoSystemsInc-2900SeriesRouters-IOS124.

    *)
  2. virtual_interface_id : virtual_interface_id;
    (*

    The ID of the virtual interface.

    *)
}

Provides the details about a virtual interface's router.

type nonrec location_name = string
type nonrec available_port_speeds = port_speed list
type nonrec available_mac_sec_port_speeds = port_speed list
type nonrec location = {
  1. available_mac_sec_port_speeds : available_mac_sec_port_speeds option;
    (*

    The available MAC Security (MACsec) port speeds for the location.

    *)
  2. available_providers : provider_list option;
    (*

    The name of the service provider for the location.

    *)
  3. available_port_speeds : available_port_speeds option;
    (*

    The available port speeds for the location.

    *)
  4. region : region option;
    (*

    The Amazon Web Services Region for the location.

    *)
  5. location_name : location_name option;
    (*

    The name of the location. This includes the name of the colocation partner and the physical site of the building.

    *)
  6. location_code : location_code option;
    (*

    The code for the location.

    *)
}

Information about an Direct Connect location.

type nonrec location_list = location list
type nonrec locations = {
  1. locations : location_list option;
    (*

    The locations.

    *)
}
type nonrec loa_content = bytes
type nonrec loa_content_type =
  1. | PDF
type nonrec loa = {
  1. loa_content_type : loa_content_type option;
    (*

    The standard media type for the LOA-CFA document. The only supported value is application/pdf.

    *)
  2. loa_content : loa_content option;
    (*

    The binary contents of the LOA-CFA document.

    *)
}

Information about a Letter of Authorization - Connecting Facility Assignment (LOA-CFA) for a connection.

type nonrec describe_loa_request = {
  1. loa_content_type : loa_content_type option;
    (*

    The standard media type for the LOA-CFA document. The only supported value is application/pdf.

    *)
  2. provider_name : provider_name option;
    (*

    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 cross connect.

    *)
  3. connection_id : connection_id;
    (*

    The ID of a connection, LAG, or interconnect.

    *)
}
type nonrec lag_list = lag list
type nonrec lags = {
  1. next_token : pagination_token option;
    (*

    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

    *)
  2. lags : lag_list option;
    (*

    The LAGs.

    *)
}
type nonrec describe_lags_request = {
  1. next_token : pagination_token option;
    (*

    The token for the next page of results.

    *)
  2. max_results : max_result_set_size option;
    (*

    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 100 results are returned.

    *)
  3. lag_id : lag_id option;
    (*

    The ID of the LAG.

    *)
}
type nonrec interconnect_id = string
type nonrec interconnect_name = string
type nonrec interconnect_state =
  1. | Unknown
  2. | Deleted
  3. | Deleting
  4. | Down
  5. | Available
  6. | Pending
  7. | Requested
type nonrec interconnect = {
  1. mac_sec_keys : mac_sec_key_list option;
    (*

    The MAC Security (MACsec) security keys.

    *)
  2. encryption_mode : encryption_mode option;
    (*

    The MAC Security (MACsec) encryption mode.

    The valid values are no_encrypt, should_encrypt, and must_encrypt.

    *)
  3. port_encryption_status : port_encryption_status option;
    (*

    The MAC Security (MACsec) port link status.

    The valid values are Encryption Up, which means that there is an active Connection Key Name, or Encryption Down.

    *)
  4. mac_sec_capable : mac_sec_capable option;
    (*

    Indicates whether the interconnect supports MAC Security (MACsec).

    *)
  5. provider_name : provider_name option;
    (*

    The name of the service provider associated with the interconnect.

    *)
  6. tags : tag_list option;
    (*

    The tags associated with the interconnect.

    *)
  7. has_logical_redundancy : has_logical_redundancy option;
    (*

    Indicates whether the interconnect supports a secondary BGP in the same address family (IPv4/IPv6).

    *)
  8. aws_logical_device_id : aws_logical_device_id option;
    (*

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

    *)
  9. aws_device_v2 : aws_device_v2 option;
    (*

    The Direct Connect endpoint that terminates the physical connection.

    *)
  10. jumbo_frame_capable : jumbo_frame_capable option;
    (*

    Indicates whether jumbo frames are supported.

    *)
  11. aws_device : aws_device option;
    (*

    The Direct Connect endpoint on which the physical connection terminates.

    *)
  12. lag_id : lag_id option;
    (*

    The ID of the LAG.

    *)
  13. loa_issue_time : loa_issue_time option;
    (*

    The time of the most recent call to DescribeLoa for this connection.

    *)
  14. bandwidth : bandwidth option;
    (*

    The bandwidth of the connection.

    *)
  15. location : location_code option;
    (*

    The location of the connection.

    *)
  16. region : region option;
    (*

    The Amazon Web Services Region where the connection is located.

    *)
  17. interconnect_state : interconnect_state option;
    (*

    The state of the interconnect. The following are the possible values:

    • requested: The initial state of an interconnect. The interconnect stays in the requested state until the Letter of Authorization (LOA) is sent to the customer.
    • pending: The interconnect is approved, and is being initialized.
    • available: The network link is up, and the interconnect is ready for use.
    • down: The network link is down.
    • deleting: The interconnect is being deleted.
    • deleted: The interconnect is deleted.
    • unknown: The state of the interconnect is not available.
    *)
  18. interconnect_name : interconnect_name option;
    (*

    The name of the interconnect.

    *)
  19. interconnect_id : interconnect_id option;
    (*

    The ID of the interconnect.

    *)
}

Information about an interconnect.

type nonrec interconnect_list = interconnect list
type nonrec interconnects = {
  1. next_token : pagination_token option;
    (*

    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

    *)
  2. interconnects : interconnect_list option;
    (*

    The interconnects.

    *)
}
type nonrec describe_interconnects_request = {
  1. next_token : pagination_token option;
    (*

    The token for the next page of results.

    *)
  2. max_results : max_result_set_size option;
    (*

    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 100 results are returned.

    *)
  3. interconnect_id : interconnect_id option;
    (*

    The ID of the interconnect.

    *)
}
type nonrec describe_interconnect_loa_response = {
  1. loa : loa option;
    (*

    The Letter of Authorization - Connecting Facility Assignment (LOA-CFA).

    *)
}
type nonrec describe_interconnect_loa_request = {
  1. loa_content_type : loa_content_type option;
    (*

    The standard media type for the LOA-CFA document. The only supported value is application/pdf.

    *)
  2. provider_name : provider_name option;
    (*

    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 cross connect.

    *)
  3. interconnect_id : interconnect_id;
    (*

    The ID of the interconnect.

    *)
}
type nonrec connections = {
  1. next_token : pagination_token option;
    (*

    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

    *)
  2. connections : connection_list option;
    (*

    The connections.

    *)
}
type nonrec describe_hosted_connections_request = {
  1. next_token : pagination_token option;
    (*

    The token for the next page of results.

    *)
  2. max_results : max_result_set_size option;
    (*

    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 100 results are returned.

    *)
  3. connection_id : connection_id;
    (*

    The ID of the interconnect or LAG.

    *)
}
type nonrec direct_connect_gateway_list = direct_connect_gateway list
type nonrec describe_direct_connect_gateways_result = {
  1. next_token : pagination_token option;
    (*

    The token to retrieve the next page.

    *)
  2. direct_connect_gateways : direct_connect_gateway_list option;
    (*

    The Direct Connect gateways.

    *)
}
type nonrec describe_direct_connect_gateways_request = {
  1. next_token : pagination_token option;
    (*

    The token provided in the previous call to retrieve the next page.

    *)
  2. max_results : max_result_set_size option;
    (*

    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 100 results are returned.

    *)
  3. direct_connect_gateway_id : direct_connect_gateway_id option;
    (*

    The ID of the Direct Connect gateway.

    *)
}
type nonrec direct_connect_gateway_attachment_state =
  1. | Detached
  2. | Detaching
  3. | Attached
  4. | Attaching
type nonrec direct_connect_gateway_attachment_type =
  1. | PrivateVirtualInterface
  2. | TransitVirtualInterface
type nonrec direct_connect_gateway_attachment = {
  1. state_change_error : state_change_error option;
    (*

    The error message if the state of an object failed to advance.

    *)
  2. attachment_type : direct_connect_gateway_attachment_type option;
    (*

    The type of attachment.

    *)
  3. attachment_state : direct_connect_gateway_attachment_state option;
    (*

    The state of the attachment. The following are the possible values:

    • attaching: The initial state after a virtual interface is created using the Direct Connect gateway.
    • attached: The Direct Connect gateway and virtual interface are attached and ready to pass traffic.
    • detaching: The initial state after calling DeleteVirtualInterface.
    • detached: The virtual interface is detached from the Direct Connect gateway. Traffic flow between the Direct Connect gateway and virtual interface is stopped.
    *)
  4. virtual_interface_owner_account : owner_account option;
    (*

    The ID of the Amazon Web Services account that owns the virtual interface.

    *)
  5. virtual_interface_region : virtual_interface_region option;
    (*

    The Amazon Web Services Region where the virtual interface is located.

    *)
  6. virtual_interface_id : virtual_interface_id option;
    (*

    The ID of the virtual interface.

    *)
  7. direct_connect_gateway_id : direct_connect_gateway_id option;
    (*

    The ID of the Direct Connect gateway.

    *)
}

Information about an attachment between a Direct Connect gateway and a virtual interface.

type nonrec direct_connect_gateway_attachment_list = direct_connect_gateway_attachment list
type nonrec describe_direct_connect_gateway_attachments_result = {
  1. next_token : pagination_token option;
    (*

    The token to retrieve the next page.

    *)
  2. direct_connect_gateway_attachments : direct_connect_gateway_attachment_list option;
    (*

    The attachments.

    *)
}
type nonrec describe_direct_connect_gateway_attachments_request = {
  1. next_token : pagination_token option;
    (*

    The token provided in the previous call to retrieve the next page.

    *)
  2. max_results : max_result_set_size option;
    (*

    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 100 results are returned.

    *)
  3. virtual_interface_id : virtual_interface_id option;
    (*

    The ID of the virtual interface.

    *)
  4. direct_connect_gateway_id : direct_connect_gateway_id option;
    (*

    The ID of the Direct Connect gateway.

    *)
}
type nonrec direct_connect_gateway_association_list = direct_connect_gateway_association list
type nonrec describe_direct_connect_gateway_associations_result = {
  1. next_token : pagination_token option;
    (*

    The token to retrieve the next page.

    *)
  2. direct_connect_gateway_associations : direct_connect_gateway_association_list option;
    (*

    Information about the associations.

    *)
}
type nonrec associated_gateway_id = string
type nonrec describe_direct_connect_gateway_associations_request = {
  1. virtual_gateway_id : virtual_gateway_id option;
    (*

    The ID of the virtual private gateway or transit gateway.

    *)
  2. next_token : pagination_token option;
    (*

    The token provided in the previous call to retrieve the next page.

    *)
  3. max_results : max_result_set_size option;
    (*

    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 100 results are returned.

    *)
  4. direct_connect_gateway_id : direct_connect_gateway_id option;
    (*

    The ID of the Direct Connect gateway.

    *)
  5. associated_gateway_id : associated_gateway_id option;
    (*

    The ID of the associated gateway.

    *)
  6. association_id : direct_connect_gateway_association_id option;
    (*

    The ID of the Direct Connect gateway association.

    *)
}
type nonrec direct_connect_gateway_association_proposal_id = string
type nonrec direct_connect_gateway_association_proposal_state =
  1. | Deleted
  2. | Accepted
  3. | Requested
type nonrec direct_connect_gateway_association_proposal = {
  1. requested_allowed_prefixes_to_direct_connect_gateway : route_filter_prefix_list option;
    (*

    The Amazon VPC prefixes to advertise to the Direct Connect gateway.

    *)
  2. existing_allowed_prefixes_to_direct_connect_gateway : route_filter_prefix_list option;
    (*

    The existing Amazon VPC prefixes advertised to the Direct Connect gateway.

    *)
  3. associated_gateway : associated_gateway option;
    (*

    Information about the associated gateway.

    *)
  4. proposal_state : direct_connect_gateway_association_proposal_state option;
    (*

    The state of the proposal. The following are possible values:

    • accepted: The proposal has been accepted. The Direct Connect gateway association is available to use in this state.
    • deleted: The proposal has been deleted by the owner that made the proposal. The Direct Connect gateway association cannot be used in this state.
    • requested: The proposal has been requested. The Direct Connect gateway association cannot be used in this state.
    *)
  5. direct_connect_gateway_owner_account : owner_account option;
    (*

    The ID of the Amazon Web Services account that owns the Direct Connect gateway.

    *)
  6. direct_connect_gateway_id : direct_connect_gateway_id option;
    (*

    The ID of the Direct Connect gateway.

    *)
  7. proposal_id : direct_connect_gateway_association_proposal_id option;
    (*

    The ID of the association proposal.

    *)
}

Information about the proposal request to attach a virtual private gateway to a Direct Connect gateway.

type nonrec direct_connect_gateway_association_proposal_list = direct_connect_gateway_association_proposal list
type nonrec describe_direct_connect_gateway_association_proposals_result = {
  1. next_token : pagination_token option;
    (*

    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

    *)
  2. direct_connect_gateway_association_proposals : direct_connect_gateway_association_proposal_list option;
    (*

    Describes the Direct Connect gateway association proposals.

    *)
}
type nonrec describe_direct_connect_gateway_association_proposals_request = {
  1. next_token : pagination_token option;
    (*

    The token for the next page of results.

    *)
  2. max_results : max_result_set_size option;
    (*

    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 100 results are returned.

    *)
  3. associated_gateway_id : associated_gateway_id option;
    (*

    The ID of the associated gateway.

    *)
  4. proposal_id : direct_connect_gateway_association_proposal_id option;
    (*

    The ID of the proposal.

    *)
  5. direct_connect_gateway_id : direct_connect_gateway_id option;
    (*

    The ID of the Direct Connect gateway.

    *)
}
type nonrec agreement_name = string
type nonrec customer_agreement = {
  1. status : status option;
    (*

    The status of the customer agreement. This will be either signed or unsigned

    *)
  2. agreement_name : agreement_name option;
    (*

    The name of the agreement.

    *)
}

The name and status of a customer agreement.

type nonrec agreement_list = customer_agreement list
type nonrec nni_partner_type =
  1. | NonPartner
  2. | V2
  3. | V1
type nonrec describe_customer_metadata_response = {
  1. nni_partner_type : nni_partner_type option;
    (*

    The type of network-to-network interface (NNI) partner. The partner type will be one of the following:

    • V1: This partner can only allocate 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, or 500Mbps subgigabit connections.
    • V2: This partner can only allocate 1GB, 2GB, 5GB, or 10GB hosted connections.
    • nonPartner: The customer is not a partner.
    *)
  2. agreements : agreement_list option;
    (*

    The list of customer agreements.

    *)
}
type nonrec describe_connections_on_interconnect_request = {
  1. interconnect_id : interconnect_id;
    (*

    The ID of the interconnect.

    *)
}
type nonrec describe_connections_request = {
  1. next_token : pagination_token option;
    (*

    The token for the next page of results.

    *)
  2. max_results : max_result_set_size option;
    (*

    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 100 results are returned.

    *)
  3. connection_id : connection_id option;
    (*

    The ID of the connection.

    *)
}
type nonrec describe_connection_loa_response = {
  1. loa : loa option;
    (*

    The Letter of Authorization - Connecting Facility Assignment (LOA-CFA).

    *)
}
type nonrec describe_connection_loa_request = {
  1. loa_content_type : loa_content_type option;
    (*

    The standard media type for the LOA-CFA document. The only supported value is application/pdf.

    *)
  2. provider_name : provider_name option;
    (*

    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 requester of the cross connect.

    *)
  3. connection_id : connection_id;
    (*

    The ID of the connection.

    *)
}
type nonrec delete_virtual_interface_response = {
  1. virtual_interface_state : virtual_interface_state option;
    (*

    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.
    • testing: A virtual interface is in this state immediately after calling StartBgpFailoverTest and remains in this state during the duration of the test.
    • 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 nonrec delete_virtual_interface_request = {
  1. virtual_interface_id : virtual_interface_id;
    (*

    The ID of the virtual interface.

    *)
}
type nonrec delete_lag_request = {
  1. lag_id : lag_id;
    (*

    The ID of the LAG.

    *)
}
type nonrec delete_interconnect_response = {
  1. interconnect_state : interconnect_state option;
    (*

    The state of the interconnect. The following are the possible values:

    • requested: The initial state of an interconnect. The interconnect stays in the requested state until the Letter of Authorization (LOA) is sent to the customer.
    • pending: The interconnect is approved, and is being initialized.
    • available: The network link is up, and the interconnect is ready for use.
    • down: The network link is down.
    • deleting: The interconnect is being deleted.
    • deleted: The interconnect is deleted.
    • unknown: The state of the interconnect is not available.
    *)
}
type nonrec delete_interconnect_request = {
  1. interconnect_id : interconnect_id;
    (*

    The ID of the interconnect.

    *)
}
type nonrec delete_direct_connect_gateway_association_proposal_result = {
  1. direct_connect_gateway_association_proposal : direct_connect_gateway_association_proposal option;
    (*

    The ID of the associated gateway.

    *)
}
type nonrec delete_direct_connect_gateway_association_proposal_request = {
  1. proposal_id : direct_connect_gateway_association_proposal_id;
    (*

    The ID of the proposal.

    *)
}
type nonrec delete_direct_connect_gateway_association_result = {
  1. direct_connect_gateway_association : direct_connect_gateway_association option;
    (*

    Information about the deleted association.

    *)
}
type nonrec delete_direct_connect_gateway_association_request = {
  1. virtual_gateway_id : virtual_gateway_id option;
    (*

    The ID of the virtual private gateway.

    *)
  2. direct_connect_gateway_id : direct_connect_gateway_id option;
    (*

    The ID of the Direct Connect gateway.

    *)
  3. association_id : direct_connect_gateway_association_id option;
    (*

    The ID of the Direct Connect gateway association.

    *)
}
type nonrec delete_direct_connect_gateway_result = {
  1. direct_connect_gateway : direct_connect_gateway option;
    (*

    The Direct Connect gateway.

    *)
}
type nonrec delete_direct_connect_gateway_request = {
  1. direct_connect_gateway_id : direct_connect_gateway_id;
    (*

    The ID of the Direct Connect gateway.

    *)
}
type nonrec delete_connection_request = {
  1. connection_id : connection_id;
    (*

    The ID of the connection.

    *)
}
type nonrec delete_bgp_peer_response = {
  1. virtual_interface : virtual_interface option;
    (*

    The virtual interface.

    *)
}
type nonrec delete_bgp_peer_request = {
  1. bgp_peer_id : bgp_peer_id option;
    (*

    The ID of the BGP peer.

    *)
  2. customer_address : customer_address option;
    (*

    The IP address assigned to the customer interface.

    *)
  3. asn_long : long_asn option;
    (*

    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.

    Note the following limitations when using asnLong:

    • You can use asnLong or asn, but not both. We recommend using asnLong as it supports a greater pool of numbers.
    • asnLong accepts any valid ASN value, regardless if it's 2-byte or 4-byte.
    • When using a 4-byte asnLong, the API response returns 0 for the legacy asn attribute since 4-byte ASN values exceed the maximum supported value of 2,147,483,647.
    • If you are using a 2-byte ASN, the API response will include the 2-byte value for both the asn and asnLong fields.
    • If you provide a value in the same API call for both asn and asnLong, the API will only accept the value for asnLong.
    *)
  4. asn : as_n option;
    (*

    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 asnLong instead.

    • You can use asnLong or asn, but not both. We recommend using asnLong as it supports a greater pool of numbers.
    • If you provide a value in the same API call for both asn and asnLong, the API will only accept the value for asnLong.
    • If you enter a 4-byte ASN for the asn parameter, the API returns an error.
    • If you are using a 2-byte ASN, the API response will include the 2-byte value for both the asn and asnLong fields.
    *)
  5. virtual_interface_id : virtual_interface_id option;
    (*

    The ID of the virtual interface.

    *)
}
type nonrec limit_exceeded_exception = {
  1. message : error_message option;
}

The rate limiter limit has been exceeded for the connection. You cannot add more rate limiters to virtual interfaces on this connection.

type nonrec create_transit_virtual_interface_result = {
  1. virtual_interface : virtual_interface option;
    (*

    Information about a virtual interface.

    *)
}
type nonrec new_transit_virtual_interface = {
  1. rate_limit : rate_limit option;
    (*

    The rate limit (bandwidth allocation) to apply to the virtual interface. The rate limit restricts the maximum bandwidth that the virtual interface can use on the parent connection.

    *)
  2. tags : tag_list option;
    (*

    The tags associated with the transitive virtual interface.

    *)
  3. direct_connect_gateway_id : direct_connect_gateway_id option;
    (*

    The ID of the Direct Connect gateway.

    *)
  4. address_family : address_family option;
    (*

    The address family for the BGP peer.

    *)
  5. customer_address : customer_address option;
    (*

    The IP address assigned to the customer interface.

    *)
  6. amazon_address : amazon_address option;
    (*

    The IP address assigned to the Amazon interface.

    *)
  7. auth_key : bgp_auth_key option;
    (*

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

    *)
  8. mtu : mt_u option;
    (*

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

    *)
  9. asn_long : long_asn option;
    (*

    The long ASN for a new transit virtual interface.The valid range is from 1 to 4294967294 for BGP configuration.

    Note the following limitations when using asnLong:

    • You can use asnLong or asn, but not both. We recommend using asnLong as it supports a greater pool of numbers.
    • asnLong accepts any valid ASN value, regardless if it's 2-byte or 4-byte.
    • When using a 4-byte asnLong, the API response returns 0 for the legacy asn attribute since 4-byte ASN values exceed the maximum supported value of 2,147,483,647.
    • If you are using a 2-byte ASN, the API response will include the 2-byte value for both the asn and asnLong fields.
    • If you provide a value in the same API call for both asn and asnLong, the API will only accept the value for asnLong.
    *)
  10. asn : as_n option;
    (*

    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 asnLong instead.

    • You can use asnLong or asn, but not both. We recommend using asnLong as it supports a greater pool of numbers.
    • If you provide a value in the same API call for both asn and asnLong, the API will only accept the value for asnLong.
    • If you enter a 4-byte ASN for the asn parameter, the API returns an error.
    • If you are using a 2-byte ASN, the API response will include the 2-byte value for both the asn and asnLong fields.
    *)
  11. vlan : vla_n option;
    (*

    The ID of the VLAN.

    *)
  12. virtual_interface_name : virtual_interface_name option;
    (*

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

    *)
}

Information about a transit virtual interface.

type nonrec create_transit_virtual_interface_request = {
  1. new_transit_virtual_interface : new_transit_virtual_interface;
    (*

    Information about the transit virtual interface.

    *)
  2. connection_id : connection_id;
    (*

    The ID of the connection.

    *)
}
type nonrec new_public_virtual_interface = {
  1. rate_limit : rate_limit option;
    (*

    The rate limit (bandwidth allocation) to apply to the virtual interface. The rate limit restricts the maximum bandwidth that the virtual interface can use on the parent connection.

    *)
  2. tags : tag_list option;
    (*

    The tags associated with the public virtual interface.

    *)
  3. route_filter_prefixes : route_filter_prefix_list option;
    (*

    The routes to be advertised to the Amazon Web Services network in this Region. Applies to public virtual interfaces.

    *)
  4. address_family : address_family option;
    (*

    The address family for the BGP peer.

    *)
  5. customer_address : customer_address option;
    (*

    The IP address assigned to the customer interface.

    *)
  6. amazon_address : amazon_address option;
    (*

    The IP address assigned to the Amazon interface.

    *)
  7. auth_key : bgp_auth_key option;
    (*

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

    *)
  8. asn_long : long_asn option;
    (*

    The long ASN for a new public virtual interface. The valid range is from 1 to 4294967294 for BGP configuration.

    Note the following limitations when using asnLong:

    • You can use asnLong or asn, but not both. We recommend using asnLong as it supports a greater pool of numbers.
    • asnLong accepts any valid ASN value, regardless if it's 2-byte or 4-byte.
    • When using a 4-byte asnLong, the API response returns 0 for the legacy asn attribute since 4-byte ASN values exceed the maximum supported value of 2,147,483,647.
    • If you are using a 2-byte ASN, the API response will include the 2-byte value for both the asn and asnLong fields.
    • If you provide a value in the same API call for both asn and asnLong, the API will only accept the value for asnLong.
    *)
  9. asn : as_n option;
    (*

    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 asnLong instead.

    • You can use asnLong or asn, but not both. We recommend using asnLong as it supports a greater pool of numbers.
    • If you provide a value in the same API call for both asn and asnLong, the API will only accept the value for asnLong.
    • If you enter a 4-byte ASN for the asn parameter, the API returns an error.
    • If you are using a 2-byte ASN, the API response will include the 2-byte value for both the asn and asnLong fields.
    *)
  10. vlan : vla_n;
    (*

    The ID of the VLAN.

    *)
  11. virtual_interface_name : virtual_interface_name;
    (*

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

    *)
}

Information about a public virtual interface.

type nonrec create_public_virtual_interface_request = {
  1. new_public_virtual_interface : new_public_virtual_interface;
    (*

    Information about the public virtual interface.

    *)
  2. connection_id : connection_id;
    (*

    The ID of the connection.

    *)
}
type nonrec new_private_virtual_interface = {
  1. rate_limit : rate_limit option;
    (*

    The rate limit (bandwidth allocation) to apply to the virtual interface. The rate limit restricts the maximum bandwidth that the virtual interface can use on the parent connection.

    *)
  2. tags : tag_list option;
    (*

    The tags associated with the private virtual interface.

    *)
  3. direct_connect_gateway_id : direct_connect_gateway_id option;
    (*

    The ID of the Direct Connect gateway.

    *)
  4. virtual_gateway_id : virtual_gateway_id option;
    (*

    The ID of the virtual private gateway.

    *)
  5. address_family : address_family option;
    (*

    The address family for the BGP peer.

    *)
  6. customer_address : customer_address option;
    (*

    The IP address assigned to the customer interface.

    *)
  7. amazon_address : amazon_address option;
    (*

    The IP address assigned to the Amazon interface.

    *)
  8. auth_key : bgp_auth_key option;
    (*

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

    *)
  9. mtu : mt_u option;
    (*

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

    *)
  10. asn_long : long_asn option;
    (*

    The long ASN for a new private virtual interface. The valid range is from 1 to 4294967294 for BGP configuration.

    Note the following limitations when using asnLong:

    • You can use asnLong or asn, but not both. We recommend using asnLong as it supports a greater pool of numbers.
    • asnLong accepts any valid ASN value, regardless if it's 2-byte or 4-byte.
    • When using a 4-byte asnLong, the API response returns 0 for the legacy asn attribute since 4-byte ASN values exceed the maximum supported value of 2,147,483,647.
    • If you are using a 2-byte ASN, the API response will include the 2-byte value for both the asn and asnLong fields.
    • If you provide a value in the same API call for both asn and asnLong, the API will only accept the value for asnLong.
    *)
  11. asn : as_n option;
    (*

    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 asnLong instead.

    • You can use asnLong or asn, but not both. We recommend using asnLong as it supports a greater pool of numbers.
    • If you provide a value in the same API call for both asn and asnLong, the API will only accept the value for asnLong.
    • If you enter a 4-byte ASN for the asn parameter, the API returns an error.
    • If you are using a 2-byte ASN, the API response will include the 2-byte value for both the asn and asnLong fields.

    The valid values are 1-2147483646.

    *)
  12. vlan : vla_n;
    (*

    The ID of the VLAN.

    *)
  13. virtual_interface_name : virtual_interface_name;
    (*

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

    *)
}

Information about a private virtual interface.

type nonrec create_private_virtual_interface_request = {
  1. new_private_virtual_interface : new_private_virtual_interface;
    (*

    Information about the private virtual interface.

    *)
  2. connection_id : connection_id;
    (*

    The ID of the connection.

    *)
}
type nonrec create_lag_request = {
  1. request_mac_sec : request_mac_sec option;
    (*

    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) prerequisties, see MACsec prerequisties in the Direct Connect User Guide.

    *)
  2. provider_name : provider_name option;
    (*

    The name of the service provider associated with the LAG.

    *)
  3. child_connection_tags : tag_list option;
    (*

    The tags to associate with the automtically created LAGs.

    *)
  4. tags : tag_list option;
    (*

    The tags to associate with the LAG.

    *)
  5. connection_id : connection_id option;
    (*

    The ID of an existing dedicated connection to migrate to the LAG.

    *)
  6. lag_name : lag_name;
    (*

    The name of the LAG.

    *)
  7. connections_bandwidth : bandwidth;
    (*

    The bandwidth of the individual physical dedicated connections bundled by the LAG. The possible values are 1Gbps,10Gbps, 100Gbps, and 400Gbps.

    *)
  8. location : location_code;
    (*

    The location for the LAG.

    *)
  9. number_of_connections : count;
    (*

    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 is 100Gbps or 400Gbps.

    *)
}
type nonrec create_interconnect_request = {
  1. request_mac_sec : request_mac_sec option;
    (*

    Indicates whether you want the interconnect to support MAC Security (MACsec).

    *)
  2. provider_name : provider_name option;
    (*

    The name of the service provider associated with the interconnect.

    *)
  3. tags : tag_list option;
    (*

    The tags to associate with the interconnect.

    *)
  4. lag_id : lag_id option;
    (*

    The ID of the LAG.

    *)
  5. location : location_code;
    (*

    The location of the interconnect.

    *)
  6. bandwidth : bandwidth;
    (*

    The port bandwidth, in Gbps. The possible values are 1, 10, and 100.

    *)
  7. interconnect_name : interconnect_name;
    (*

    The name of the interconnect.

    *)
}
type nonrec create_direct_connect_gateway_association_proposal_result = {
  1. direct_connect_gateway_association_proposal : direct_connect_gateway_association_proposal option;
    (*

    Information about the Direct Connect gateway proposal.

    *)
}
type nonrec gateway_id_to_associate = string
type nonrec create_direct_connect_gateway_association_proposal_request = {
  1. remove_allowed_prefixes_to_direct_connect_gateway : route_filter_prefix_list option;
    (*

    The Amazon VPC prefixes to no longer advertise to the Direct Connect gateway.

    *)
  2. add_allowed_prefixes_to_direct_connect_gateway : route_filter_prefix_list option;
    (*

    The Amazon VPC prefixes to advertise to the Direct Connect gateway.

    *)
  3. gateway_id : gateway_id_to_associate;
    (*

    The ID of the virtual private gateway or transit gateway.

    *)
  4. direct_connect_gateway_owner_account : owner_account;
    (*

    The ID of the Amazon Web Services account that owns the Direct Connect gateway.

    *)
  5. direct_connect_gateway_id : direct_connect_gateway_id;
    (*

    The ID of the Direct Connect gateway.

    *)
}
type nonrec create_direct_connect_gateway_association_result = {
  1. direct_connect_gateway_association : direct_connect_gateway_association option;
    (*

    The association to be created.

    *)
}
type nonrec create_direct_connect_gateway_association_request = {
  1. virtual_gateway_id : virtual_gateway_id option;
    (*

    The ID of the virtual private gateway.

    *)
  2. add_allowed_prefixes_to_direct_connect_gateway : route_filter_prefix_list option;
    (*

    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 Allowed Prefixes in the Direct Connect User Guide.

    *)
  3. gateway_id : gateway_id_to_associate option;
    (*

    The ID of the virtual private gateway or transit gateway.

    *)
  4. direct_connect_gateway_id : direct_connect_gateway_id;
    (*

    The ID of the Direct Connect gateway.

    *)
}
type nonrec create_direct_connect_gateway_result = {
  1. direct_connect_gateway : direct_connect_gateway option;
    (*

    The Direct Connect gateway.

    *)
}
type nonrec create_direct_connect_gateway_request = {
  1. amazon_side_asn : long_asn option;
    (*

    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 4,294,967,294. The default is 64512.

    *)
  2. tags : tag_list option;
    (*

    The key-value pair tags associated with the request.

    *)
  3. direct_connect_gateway_name : direct_connect_gateway_name;
    (*

    The name of the Direct Connect gateway.

    *)
}
type nonrec create_connection_request = {
  1. request_mac_sec : request_mac_sec option;
    (*

    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 MAC Security in Direct Connect in the Direct Connect User Guide.

    *)
  2. provider_name : provider_name option;
    (*

    The name of the service provider associated with the requested connection.

    *)
  3. tags : tag_list option;
    (*

    The tags to associate with the lag.

    *)
  4. lag_id : lag_id option;
    (*

    The ID of the LAG.

    *)
  5. connection_name : connection_name;
    (*

    The name of the connection.

    *)
  6. bandwidth : bandwidth;
    (*

    The bandwidth of the connection.

    *)
  7. location : location_code;
    (*

    The location of the connection.

    *)
}
type nonrec create_bgp_peer_response = {
  1. virtual_interface : virtual_interface option;
    (*

    The virtual interface.

    *)
}
type nonrec new_bgp_peer = {
  1. customer_address : customer_address option;
    (*

    The IP address assigned to the customer interface.

    *)
  2. amazon_address : amazon_address option;
    (*

    The IP address assigned to the Amazon interface.

    *)
  3. address_family : address_family option;
    (*

    The address family for the BGP peer.

    *)
  4. auth_key : bgp_auth_key option;
    (*

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

    *)
  5. asn_long : long_asn option;
    (*

    The long ASN for a new BGP peer. The valid range is from 1 to 4294967294.

    *)
  6. asn : as_n option;
    (*

    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 asnLong instead.

    *)
}

Information about a new BGP peer.

type nonrec create_bgp_peer_request = {
  1. new_bgp_peer : new_bgp_peer option;
    (*

    Information about the BGP peer.

    *)
  2. virtual_interface_id : virtual_interface_id option;
    (*

    The ID of the virtual interface.

    *)
}
type nonrec confirm_transit_virtual_interface_response = {
  1. virtual_interface_state : virtual_interface_state option;
    (*

    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.
    • testing: A virtual interface is in this state immediately after calling StartBgpFailoverTest and remains in this state during the duration of the test.
    • 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 nonrec confirm_transit_virtual_interface_request = {
  1. direct_connect_gateway_id : direct_connect_gateway_id;
    (*

    The ID of the Direct Connect gateway.

    *)
  2. virtual_interface_id : virtual_interface_id;
    (*

    The ID of the virtual interface.

    *)
}
type nonrec confirm_public_virtual_interface_response = {
  1. virtual_interface_state : virtual_interface_state option;
    (*

    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.
    • testing: A virtual interface is in this state immediately after calling StartBgpFailoverTest and remains in this state during the duration of the test.
    • 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 nonrec confirm_public_virtual_interface_request = {
  1. virtual_interface_id : virtual_interface_id;
    (*

    The ID of the virtual interface.

    *)
}
type nonrec confirm_private_virtual_interface_response = {
  1. virtual_interface_state : virtual_interface_state option;
    (*

    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.
    • testing: A virtual interface is in this state immediately after calling StartBgpFailoverTest and remains in this state during the duration of the test.
    • 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 nonrec confirm_private_virtual_interface_request = {
  1. direct_connect_gateway_id : direct_connect_gateway_id option;
    (*

    The ID of the Direct Connect gateway.

    *)
  2. virtual_gateway_id : virtual_gateway_id option;
    (*

    The ID of the virtual private gateway.

    *)
  3. virtual_interface_id : virtual_interface_id;
    (*

    The ID of the virtual interface.

    *)
}
type nonrec confirm_customer_agreement_response = {
  1. status : status option;
    (*

    The status of the customer agreement when the connection was created. This will be either signed or unsigned.

    *)
}
type nonrec confirm_customer_agreement_request = {
  1. agreement_name : agreement_name option;
    (*

    The name of the customer agreement.

    *)
}
type nonrec confirm_connection_response = {
  1. connection_state : connection_state option;
    (*

    The state of the connection. The following are the possible values:

    • ordering: The initial state of a hosted connection provisioned on an interconnect. The connection stays in the ordering state until the owner of the hosted connection confirms or declines the connection order.
    • requested: The initial state of a standard connection. The connection stays in the requested state until the Letter of Authorization (LOA) is sent to the customer.
    • pending: The connection has been approved and is being initialized.
    • available: The network link is up and the connection is ready for use.
    • down: The network link is down.
    • deleting: The connection is being deleted.
    • deleted: The connection has been deleted.
    • rejected: A hosted connection in the ordering state enters the rejected state if it is deleted by the customer.
    • unknown: The state of the connection is not available.
    *)
}
type nonrec confirm_connection_request = {
  1. connection_id : connection_id;
    (*

    The ID of the hosted connection.

    *)
}
type nonrec associate_virtual_interface_request = {
  1. connection_id : connection_id;
    (*

    The ID of the LAG or connection.

    *)
  2. virtual_interface_id : virtual_interface_id;
    (*

    The ID of the virtual interface.

    *)
}
type nonrec associate_mac_sec_key_response = {
  1. mac_sec_keys : mac_sec_key_list option;
    (*

    The MAC Security (MACsec) security keys associated with the connection.

    *)
  2. connection_id : connection_id option;
    (*

    The ID of the dedicated connection (dxcon-xxxx), interconnect (dxcon-xxxx), or LAG (dxlag-xxxx).

    *)
}
type nonrec cak = string
type nonrec associate_mac_sec_key_request = {
  1. cak : cak option;
    (*

    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 this request parameter, you must use the ckn request parameter and not use the secretARN request parameter.

    *)
  2. ckn : ckn option;
    (*

    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 this request parameter, you must use the cak request parameter and not use the secretARN request parameter.

    *)
  3. secret_ar_n : secret_ar_n option;
    (*

    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 key.

    If you use this request parameter, you do not use the ckn and cak request parameters.

    *)
  4. connection_id : connection_id;
    (*

    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.

    *)
}
type nonrec associate_hosted_connection_request = {
  1. parent_connection_id : connection_id;
    (*

    The ID of the interconnect or the LAG.

    *)
  2. connection_id : connection_id;
    (*

    The ID of the hosted connection.

    *)
}
type nonrec associate_connection_with_lag_request = {
  1. lag_id : lag_id;
    (*

    The ID of the LAG with which to associate the connection.

    *)
  2. connection_id : connection_id;
    (*

    The ID of the connection.

    *)
}
type nonrec allocate_transit_virtual_interface_result = {
  1. virtual_interface : virtual_interface option;
    (*

    Information about the transit virtual interface.

    *)
}
type nonrec new_transit_virtual_interface_allocation = {
  1. rate_limit : rate_limit option;
    (*

    The rate limit (bandwidth allocation) to apply to the virtual interface. The rate limit restricts the maximum bandwidth that the virtual interface can use on the parent connection.

    *)
  2. tags : tag_list option;
    (*

    The tags associated with the transitive virtual interface.

    *)
  3. address_family : address_family option;
    (*

    The address family for the BGP peer.

    *)
  4. customer_address : customer_address option;
    (*

    The IP address assigned to the customer interface.

    *)
  5. amazon_address : amazon_address option;
    (*

    The IP address assigned to the Amazon interface.

    *)
  6. auth_key : bgp_auth_key option;
    (*

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

    *)
  7. mtu : mt_u option;
    (*

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

    *)
  8. asn_long : long_asn option;
    (*

    The ASN when allocating a new transit virtual interface. The valid range is from 1 to 4294967294 for BGP configuration.

    Note the following limitations when using asnLong:

    • You can use asnLong or asn, but not both. We recommend using asnLong as it supports a greater pool of numbers.
    • asnLong accepts any valid ASN value, regardless if it's 2-byte or 4-byte.
    • When using a 4-byte asnLong, the API response returns 0 for the legacy asn attribute since 4-byte ASN values exceed the maximum supported value of 2,147,483,647.
    • If you are using a 2-byte ASN, the API response will include the 2-byte value for both the asn and asnLong fields.
    • If you provide a value in the same API call for both asn and asnLong, the API will only accept the value for asnLong.
    *)
  9. asn : as_n option;
    (*

    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 asnLong instead.

    • You can use asnLong or asn, but not both. We recommend using asnLong as it supports a greater pool of numbers.
    • If you provide a value in the same API call for both asn and asnLong, the API will only accept the value for asnLong.
    • If you enter a 4-byte ASN for the asn parameter, the API returns an error.
    • If you are using a 2-byte ASN, the API response will include the 2-byte value for both the asn and asnLong fields.

    The valid values are 1-2147483646.

    *)
  10. vlan : vla_n option;
    (*

    The ID of the VLAN.

    *)
  11. virtual_interface_name : virtual_interface_name option;
    (*

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

    *)
}

Information about a transit virtual interface to be provisioned on a connection.

type nonrec allocate_transit_virtual_interface_request = {
  1. new_transit_virtual_interface_allocation : new_transit_virtual_interface_allocation;
    (*

    Information about the transit virtual interface.

    *)
  2. owner_account : owner_account;
    (*

    The ID of the Amazon Web Services account that owns the transit virtual interface.

    *)
  3. connection_id : connection_id;
    (*

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

    *)
}
type nonrec new_public_virtual_interface_allocation = {
  1. rate_limit : rate_limit option;
    (*

    The rate limit (bandwidth allocation) to apply to the virtual interface. The rate limit restricts the maximum bandwidth that the virtual interface can use on the parent connection.

    *)
  2. tags : tag_list option;
    (*

    The tags associated with the public virtual interface.

    *)
  3. route_filter_prefixes : route_filter_prefix_list option;
    (*

    The routes to be advertised to the Amazon Web Services network in this Region. Applies to public virtual interfaces.

    *)
  4. address_family : address_family option;
    (*

    The address family for the BGP peer.

    *)
  5. customer_address : customer_address option;
    (*

    The IP address assigned to the customer interface.

    *)
  6. amazon_address : amazon_address option;
    (*

    The IP address assigned to the Amazon interface.

    *)
  7. auth_key : bgp_auth_key option;
    (*

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

    *)
  8. asn_long : long_asn option;
    (*

    The ASN when allocating a new public virtual interface. The valid range is from 1 to 4294967294 for BGP configuration.

    Note the following limitations when using asnLong:

    • You can use asnLong or asn, but not both. We recommend using asnLong as it supports a greater pool of numbers.
    • asnLong accepts any valid ASN value, regardless if it's 2-byte or 4-byte.
    • When using a 4-byte asnLong, the API response returns 0 for the legacy asn attribute since 4-byte ASN values exceed the maximum supported value of 2,147,483,647.
    • If you are using a 2-byte ASN, the API response will include the 2-byte value for both the asn and asnLong fields.
    • If you provide a value in the same API call for both asn and asnLong, the API will only accept the value for asnLong.
    *)
  9. asn : as_n option;
    (*

    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 asnLong instead.

    • You can use asnLong or asn, but not both. We recommend using asnLong as it supports a greater pool of numbers.
    • If you provide a value in the same API call for both asn and asnLong, the API will only accept the value for asnLong.
    • If you enter a 4-byte ASN for the asn parameter, the API returns an error.
    • If you are using a 2-byte ASN, the API response will include the 2-byte value for both the asn and asnLong fields.

    The valid values are 1-2147483646.

    *)
  10. vlan : vla_n;
    (*

    The ID of the VLAN.

    *)
  11. virtual_interface_name : virtual_interface_name;
    (*

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

    *)
}

Information about a public virtual interface to be provisioned on a connection.

type nonrec allocate_public_virtual_interface_request = {
  1. new_public_virtual_interface_allocation : new_public_virtual_interface_allocation;
    (*

    Information about the public virtual interface.

    *)
  2. owner_account : owner_account;
    (*

    The ID of the Amazon Web Services account that owns the public virtual interface.

    *)
  3. connection_id : connection_id;
    (*

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

    *)
}
type nonrec new_private_virtual_interface_allocation = {
  1. rate_limit : rate_limit option;
    (*

    The rate limit (bandwidth allocation) to apply to the virtual interface. The rate limit restricts the maximum bandwidth that the virtual interface can use on the parent connection.

    *)
  2. tags : tag_list option;
    (*

    The tags associated with the private virtual interface.

    *)
  3. customer_address : customer_address option;
    (*

    The IP address assigned to the customer interface.

    *)
  4. address_family : address_family option;
    (*

    The address family for the BGP peer.

    *)
  5. amazon_address : amazon_address option;
    (*

    The IP address assigned to the Amazon interface.

    *)
  6. auth_key : bgp_auth_key option;
    (*

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

    *)
  7. mtu : mt_u option;
    (*

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

    *)
  8. asn_long : long_asn option;
    (*

    The ASN when allocating a new private virtual interface. The valid range is from 1 to 4294967294 for BGP configuration.

    Note the following limitations when using asnLong:

    • You can use asnLong or asn, but not both. We recommend using asnLong as it supports a greater pool of numbers.
    • asnLong accepts any valid ASN value, regardless if it's 2-byte or 4-byte.
    • When using a 4-byte asnLong, the API response returns 0 for the legacy asn attribute since 4-byte ASN values exceed the maximum supported value of 2,147,483,647.
    • If you are using a 2-byte ASN, the API response will include the 2-byte value for both the asn and asnLong fields.
    • If you provide a value in the same API call for both asn and asnLong, the API will only accept the value for asnLong.
    *)
  9. asn : as_n option;
    (*

    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 asnLong instead.

    • You can use asnLong or asn, but not both. We recommend using asnLong as it supports a greater pool of numbers.
    • If you provide a value in the same API call for both asn and asnLong, the API will only accept the value for asnLong.
    • If you enter a 4-byte ASN for the asn parameter, the API returns an error.
    • If you are using a 2-byte ASN, the API response will include the 2-byte value for both the asn and asnLong fields.

    The valid values are 1-2147483646.

    *)
  10. vlan : vla_n;
    (*

    The ID of the VLAN.

    *)
  11. virtual_interface_name : virtual_interface_name;
    (*

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

    *)
}

Information about a private virtual interface to be provisioned on a connection.

type nonrec allocate_private_virtual_interface_request = {
  1. new_private_virtual_interface_allocation : new_private_virtual_interface_allocation;
    (*

    Information about the private virtual interface.

    *)
  2. owner_account : owner_account;
    (*

    The ID of the Amazon Web Services account that owns the virtual private interface.

    *)
  3. connection_id : connection_id;
    (*

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

    *)
}
type nonrec allocate_hosted_connection_request = {
  1. tags : tag_list option;
    (*

    The tags associated with the connection.

    *)
  2. vlan : vla_n;
    (*

    The dedicated VLAN provisioned to the hosted connection.

    *)
  3. connection_name : connection_name;
    (*

    The name of the hosted connection.

    *)
  4. bandwidth : bandwidth;
    (*

    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 have met specific requirements are allowed to create a 1Gbps, 2Gbps, 5Gbps, 10Gbps, or 25Gbps hosted connection.

    *)
  5. owner_account : owner_account;
    (*

    The ID of the Amazon Web Services account ID of the customer for the connection.

    *)
  6. connection_id : connection_id;
    (*

    The ID of the interconnect or LAG.

    *)
}
type nonrec allocate_connection_on_interconnect_request = {
  1. vlan : vla_n;
    (*

    The dedicated VLAN provisioned to the connection.

    *)
  2. interconnect_id : interconnect_id;
    (*

    The ID of the interconnect on which the connection will be provisioned.

    *)
  3. owner_account : owner_account;
    (*

    The ID of the Amazon Web Services account of the customer for whom the connection will be provisioned.

    *)
  4. connection_name : connection_name;
    (*

    The name of the provisioned connection.

    *)
  5. bandwidth : bandwidth;
    (*

    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 specific requirements are allowed to create a 1Gbps, 2Gbps, 5Gbps or 10Gbps hosted connection.

    *)
}
type nonrec accept_direct_connect_gateway_association_proposal_result = {
  1. direct_connect_gateway_association : direct_connect_gateway_association option;
    (*

    Information about an association between a Direct Connect gateway and a virtual gateway or transit gateway.

    *)
}
type nonrec accept_direct_connect_gateway_association_proposal_request = {
  1. override_allowed_prefixes_to_direct_connect_gateway : route_filter_prefix_list option;
    (*

    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.

    *)
  2. associated_gateway_owner_account : owner_account;
    (*

    The ID of the Amazon Web Services account that owns the virtual private gateway or transit gateway.

    *)
  3. proposal_id : direct_connect_gateway_association_proposal_id;
    (*

    The ID of the request proposal.

    *)
  4. direct_connect_gateway_id : direct_connect_gateway_id;
    (*

    The ID of the Direct Connect gateway.

    *)
}