// ================================================================= // // * WARNING * // // This file is generated! // // Changes made to this file will be overwritten. If changes are // required to the generated code, the service_crategen project // must be updated to generate the changes. // // ================================================================= use std::error::Error; use std::fmt; use async_trait::async_trait; use rusoto_core::credential::ProvideAwsCredentials; use rusoto_core::region; use rusoto_core::request::{BufferedHttpResponse, DispatchSignedRequest}; use rusoto_core::{Client, RusotoError}; use rusoto_core::proto; use rusoto_core::request::HttpResponse; use rusoto_core::signature::SignedRequest; #[allow(unused_imports)] use serde::{Deserialize, Serialize}; impl DirectConnectClient { fn new_signed_request(&self, http_method: &str, request_uri: &str) -> SignedRequest { let mut request = SignedRequest::new(http_method, "directconnect", &self.region, request_uri); request.set_content_type("application/x-amz-json-1.1".to_owned()); request } async fn sign_and_dispatch( &self, request: SignedRequest, from_response: fn(BufferedHttpResponse) -> RusotoError, ) -> Result> { let mut response = self.client.sign_and_dispatch(request).await?; if !response.status.is_success() { let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; return Err(from_response(response)); } Ok(response) } } use serde_json; #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct AcceptDirectConnectGatewayAssociationProposalRequest { ///

The ID of the AWS account that owns the virtual private gateway or transit gateway.

#[serde(rename = "associatedGatewayOwnerAccount")] pub associated_gateway_owner_account: String, ///

The ID of the Direct Connect gateway.

#[serde(rename = "directConnectGatewayId")] pub direct_connect_gateway_id: String, ///

Overrides the Amazon VPC prefixes advertised to the Direct Connect gateway.

For information about how to set the prefixes, see Allowed Prefixes in the AWS Direct Connect User Guide.

#[serde(rename = "overrideAllowedPrefixesToDirectConnectGateway")] #[serde(skip_serializing_if = "Option::is_none")] pub override_allowed_prefixes_to_direct_connect_gateway: Option>, ///

The ID of the request proposal.

#[serde(rename = "proposalId")] pub proposal_id: String, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct AcceptDirectConnectGatewayAssociationProposalResult { #[serde(rename = "directConnectGatewayAssociation")] #[serde(skip_serializing_if = "Option::is_none")] pub direct_connect_gateway_association: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct AllocateConnectionOnInterconnectRequest { ///

The bandwidth of the connection. The possible values are 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, and 10Gbps. Note that only those AWS Direct Connect Partners who have met specific requirements are allowed to create a 1Gbps, 2Gbps, 5Gbps or 10Gbps hosted connection.

#[serde(rename = "bandwidth")] pub bandwidth: String, ///

The name of the provisioned connection.

#[serde(rename = "connectionName")] pub connection_name: String, ///

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

#[serde(rename = "interconnectId")] pub interconnect_id: String, ///

The ID of the AWS account of the customer for whom the connection will be provisioned.

#[serde(rename = "ownerAccount")] pub owner_account: String, ///

The dedicated VLAN provisioned to the connection.

#[serde(rename = "vlan")] pub vlan: i64, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct AllocateHostedConnectionRequest { ///

The bandwidth of the connection. The possible values are 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, and 10Gbps. Note that only those AWS Direct Connect Partners who have met specific requirements are allowed to create a 1Gbps, 2Gbps, 5Gbps or 10Gbps hosted connection.

#[serde(rename = "bandwidth")] pub bandwidth: String, ///

The ID of the interconnect or LAG.

#[serde(rename = "connectionId")] pub connection_id: String, ///

The name of the hosted connection.

#[serde(rename = "connectionName")] pub connection_name: String, ///

The ID of the AWS account ID of the customer for the connection.

#[serde(rename = "ownerAccount")] pub owner_account: String, ///

The tags associated with the connection.

#[serde(rename = "tags")] #[serde(skip_serializing_if = "Option::is_none")] pub tags: Option>, ///

The dedicated VLAN provisioned to the hosted connection.

#[serde(rename = "vlan")] pub vlan: i64, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct AllocatePrivateVirtualInterfaceRequest { ///

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

#[serde(rename = "connectionId")] pub connection_id: String, ///

Information about the private virtual interface.

#[serde(rename = "newPrivateVirtualInterfaceAllocation")] pub new_private_virtual_interface_allocation: NewPrivateVirtualInterfaceAllocation, ///

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

#[serde(rename = "ownerAccount")] pub owner_account: String, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct AllocatePublicVirtualInterfaceRequest { ///

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

#[serde(rename = "connectionId")] pub connection_id: String, ///

Information about the public virtual interface.

#[serde(rename = "newPublicVirtualInterfaceAllocation")] pub new_public_virtual_interface_allocation: NewPublicVirtualInterfaceAllocation, ///

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

#[serde(rename = "ownerAccount")] pub owner_account: String, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct AllocateTransitVirtualInterfaceRequest { ///

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

#[serde(rename = "connectionId")] pub connection_id: String, ///

Information about the transit virtual interface.

#[serde(rename = "newTransitVirtualInterfaceAllocation")] pub new_transit_virtual_interface_allocation: NewTransitVirtualInterfaceAllocation, ///

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

#[serde(rename = "ownerAccount")] pub owner_account: String, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct AllocateTransitVirtualInterfaceResult { #[serde(rename = "virtualInterface")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_interface: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct AssociateConnectionWithLagRequest { ///

The ID of the connection.

#[serde(rename = "connectionId")] pub connection_id: String, ///

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

#[serde(rename = "lagId")] pub lag_id: String, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct AssociateHostedConnectionRequest { ///

The ID of the hosted connection.

#[serde(rename = "connectionId")] pub connection_id: String, ///

The ID of the interconnect or the LAG.

#[serde(rename = "parentConnectionId")] pub parent_connection_id: String, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct AssociateMacSecKeyRequest { ///

The MAC Security (MACsec) CAK to associate with the dedicated 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.

#[serde(rename = "cak")] #[serde(skip_serializing_if = "Option::is_none")] pub cak: Option, ///

The MAC Security (MACsec) CKN to associate with the dedicated 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.

#[serde(rename = "ckn")] #[serde(skip_serializing_if = "Option::is_none")] pub ckn: Option, ///

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

You can use DescribeConnections or DescribeLags to retrieve connection ID.

#[serde(rename = "connectionId")] pub connection_id: String, ///

The Amazon Resource Name (ARN) of the MAC Security (MACsec) secret key to associate with the dedicated 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.

#[serde(rename = "secretARN")] #[serde(skip_serializing_if = "Option::is_none")] pub secret_arn: Option, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct AssociateMacSecKeyResponse { ///

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

#[serde(rename = "connectionId")] #[serde(skip_serializing_if = "Option::is_none")] pub connection_id: Option, ///

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

#[serde(rename = "macSecKeys")] #[serde(skip_serializing_if = "Option::is_none")] pub mac_sec_keys: Option>, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct AssociateVirtualInterfaceRequest { ///

The ID of the LAG or connection.

#[serde(rename = "connectionId")] pub connection_id: String, ///

The ID of the virtual interface.

#[serde(rename = "virtualInterfaceId")] pub virtual_interface_id: String, } ///

Information about the associated gateway.

#[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct AssociatedGateway { ///

The ID of the associated gateway.

#[serde(rename = "id")] #[serde(skip_serializing_if = "Option::is_none")] pub id: Option, ///

The ID of the AWS account that owns the associated virtual private gateway or transit gateway.

#[serde(rename = "ownerAccount")] #[serde(skip_serializing_if = "Option::is_none")] pub owner_account: Option, ///

The Region where the associated gateway is located.

#[serde(rename = "region")] #[serde(skip_serializing_if = "Option::is_none")] pub region: Option, ///

The type of associated gateway.

#[serde(rename = "type")] #[serde(skip_serializing_if = "Option::is_none")] pub type_: Option, } ///

Information about a BGP peer.

#[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct BGPPeer { ///

The address family for the BGP peer.

#[serde(rename = "addressFamily")] #[serde(skip_serializing_if = "Option::is_none")] pub address_family: Option, ///

The IP address assigned to the Amazon interface.

#[serde(rename = "amazonAddress")] #[serde(skip_serializing_if = "Option::is_none")] pub amazon_address: Option, ///

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

#[serde(rename = "asn")] #[serde(skip_serializing_if = "Option::is_none")] pub asn: Option, ///

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

#[serde(rename = "authKey")] #[serde(skip_serializing_if = "Option::is_none")] pub auth_key: Option, ///

The Direct Connect endpoint on which the BGP peer terminates.

#[serde(rename = "awsDeviceV2")] #[serde(skip_serializing_if = "Option::is_none")] pub aws_device_v2: Option, ///

The ID of the BGP peer.

#[serde(rename = "bgpPeerId")] #[serde(skip_serializing_if = "Option::is_none")] pub bgp_peer_id: 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.

#[serde(rename = "bgpPeerState")] #[serde(skip_serializing_if = "Option::is_none")] pub bgp_peer_state: 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.

#[serde(rename = "bgpStatus")] #[serde(skip_serializing_if = "Option::is_none")] pub bgp_status: Option, ///

The IP address assigned to the customer interface.

#[serde(rename = "customerAddress")] #[serde(skip_serializing_if = "Option::is_none")] pub customer_address: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct ConfirmConnectionRequest { ///

The ID of the hosted connection.

#[serde(rename = "connectionId")] pub connection_id: String, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ConfirmConnectionResponse { ///

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.

#[serde(rename = "connectionState")] #[serde(skip_serializing_if = "Option::is_none")] pub connection_state: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct ConfirmPrivateVirtualInterfaceRequest { ///

The ID of the Direct Connect gateway.

#[serde(rename = "directConnectGatewayId")] #[serde(skip_serializing_if = "Option::is_none")] pub direct_connect_gateway_id: Option, ///

The ID of the virtual private gateway.

#[serde(rename = "virtualGatewayId")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_gateway_id: Option, ///

The ID of the virtual interface.

#[serde(rename = "virtualInterfaceId")] pub virtual_interface_id: String, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ConfirmPrivateVirtualInterfaceResponse { ///

The state of the virtual interface. The following are the possible values:

  • confirming: The creation of the virtual interface is pending confirmation from the virtual interface owner. If the owner of the virtual interface is different from the owner of the connection on which it is provisioned, then the virtual interface will remain in this state until it is confirmed by the virtual interface owner.

  • verifying: This state only applies to public virtual interfaces. Each public virtual interface needs validation before the virtual interface can be created.

  • pending: A virtual interface is in this state from the time that it is created until the virtual interface is ready to forward traffic.

  • available: A virtual interface that is able to forward traffic.

  • down: A virtual interface that is BGP down.

  • deleting: A virtual interface is in this state immediately after calling DeleteVirtualInterface until it can no longer forward traffic.

  • deleted: A virtual interface that cannot forward traffic.

  • rejected: The virtual interface owner has declined creation of the virtual interface. If a virtual interface in the Confirming state is deleted by the virtual interface owner, the virtual interface enters the Rejected state.

  • unknown: The state of the virtual interface is not available.

#[serde(rename = "virtualInterfaceState")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_interface_state: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct ConfirmPublicVirtualInterfaceRequest { ///

The ID of the virtual interface.

#[serde(rename = "virtualInterfaceId")] pub virtual_interface_id: String, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ConfirmPublicVirtualInterfaceResponse { ///

The state of the virtual interface. The following are the possible values:

  • confirming: The creation of the virtual interface is pending confirmation from the virtual interface owner. If the owner of the virtual interface is different from the owner of the connection on which it is provisioned, then the virtual interface will remain in this state until it is confirmed by the virtual interface owner.

  • verifying: This state only applies to public virtual interfaces. Each public virtual interface needs validation before the virtual interface can be created.

  • pending: A virtual interface is in this state from the time that it is created until the virtual interface is ready to forward traffic.

  • available: A virtual interface that is able to forward traffic.

  • down: A virtual interface that is BGP down.

  • deleting: A virtual interface is in this state immediately after calling DeleteVirtualInterface until it can no longer forward traffic.

  • deleted: A virtual interface that cannot forward traffic.

  • rejected: The virtual interface owner has declined creation of the virtual interface. If a virtual interface in the Confirming state is deleted by the virtual interface owner, the virtual interface enters the Rejected state.

  • unknown: The state of the virtual interface is not available.

#[serde(rename = "virtualInterfaceState")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_interface_state: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct ConfirmTransitVirtualInterfaceRequest { ///

The ID of the Direct Connect gateway.

#[serde(rename = "directConnectGatewayId")] pub direct_connect_gateway_id: String, ///

The ID of the virtual interface.

#[serde(rename = "virtualInterfaceId")] pub virtual_interface_id: String, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ConfirmTransitVirtualInterfaceResponse { ///

The state of the virtual interface. The following are the possible values:

  • confirming: The creation of the virtual interface is pending confirmation from the virtual interface owner. If the owner of the virtual interface is different from the owner of the connection on which it is provisioned, then the virtual interface will remain in this state until it is confirmed by the virtual interface owner.

  • verifying: This state only applies to public virtual interfaces. Each public virtual interface needs validation before the virtual interface can be created.

  • pending: A virtual interface is in this state from the time that it is created until the virtual interface is ready to forward traffic.

  • available: A virtual interface that is able to forward traffic.

  • down: A virtual interface that is BGP down.

  • deleting: A virtual interface is in this state immediately after calling DeleteVirtualInterface until it can no longer forward traffic.

  • deleted: A virtual interface that cannot forward traffic.

  • rejected: The virtual interface owner has declined creation of the virtual interface. If a virtual interface in the Confirming state is deleted by the virtual interface owner, the virtual interface enters the Rejected state.

  • unknown: The state of the virtual interface is not available.

#[serde(rename = "virtualInterfaceState")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_interface_state: Option, } ///

Information about an AWS Direct Connect connection.

#[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct Connection { ///

The Direct Connect endpoint on which the physical connection terminates.

#[serde(rename = "awsDevice")] #[serde(skip_serializing_if = "Option::is_none")] pub aws_device: Option, ///

The Direct Connect endpoint on which the physical connection terminates.

#[serde(rename = "awsDeviceV2")] #[serde(skip_serializing_if = "Option::is_none")] pub aws_device_v2: Option, ///

The bandwidth of the connection.

#[serde(rename = "bandwidth")] #[serde(skip_serializing_if = "Option::is_none")] pub bandwidth: Option, ///

The ID of the connection.

#[serde(rename = "connectionId")] #[serde(skip_serializing_if = "Option::is_none")] pub connection_id: Option, ///

The name of the connection.

#[serde(rename = "connectionName")] #[serde(skip_serializing_if = "Option::is_none")] pub connection_name: 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.

#[serde(rename = "connectionState")] #[serde(skip_serializing_if = "Option::is_none")] pub connection_state: Option, ///

The MAC Security (MACsec) connection encryption mode.

The valid values are no_encrypt, should_encrypt, and must_encrypt.

#[serde(rename = "encryptionMode")] #[serde(skip_serializing_if = "Option::is_none")] pub encryption_mode: Option, ///

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

#[serde(rename = "hasLogicalRedundancy")] #[serde(skip_serializing_if = "Option::is_none")] pub has_logical_redundancy: Option, ///

Indicates whether jumbo frames (9001 MTU) are supported.

#[serde(rename = "jumboFrameCapable")] #[serde(skip_serializing_if = "Option::is_none")] pub jumbo_frame_capable: Option, ///

The ID of the LAG.

#[serde(rename = "lagId")] #[serde(skip_serializing_if = "Option::is_none")] pub lag_id: Option, ///

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

#[serde(rename = "loaIssueTime")] #[serde(skip_serializing_if = "Option::is_none")] pub loa_issue_time: Option, ///

The location of the connection.

#[serde(rename = "location")] #[serde(skip_serializing_if = "Option::is_none")] pub location: Option, ///

Indicates whether the connection supports MAC Security (MACsec).

#[serde(rename = "macSecCapable")] #[serde(skip_serializing_if = "Option::is_none")] pub mac_sec_capable: Option, ///

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

#[serde(rename = "macSecKeys")] #[serde(skip_serializing_if = "Option::is_none")] pub mac_sec_keys: Option>, ///

The ID of the AWS account that owns the connection.

#[serde(rename = "ownerAccount")] #[serde(skip_serializing_if = "Option::is_none")] pub owner_account: Option, ///

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

#[serde(rename = "partnerName")] #[serde(skip_serializing_if = "Option::is_none")] pub partner_name: 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.

#[serde(rename = "portEncryptionStatus")] #[serde(skip_serializing_if = "Option::is_none")] pub port_encryption_status: Option, ///

The name of the service provider associated with the connection.

#[serde(rename = "providerName")] #[serde(skip_serializing_if = "Option::is_none")] pub provider_name: Option, ///

The AWS Region where the connection is located.

#[serde(rename = "region")] #[serde(skip_serializing_if = "Option::is_none")] pub region: Option, ///

The tags associated with the connection.

#[serde(rename = "tags")] #[serde(skip_serializing_if = "Option::is_none")] pub tags: Option>, ///

The ID of the VLAN.

#[serde(rename = "vlan")] #[serde(skip_serializing_if = "Option::is_none")] pub vlan: Option, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct Connections { ///

The connections.

#[serde(rename = "connections")] #[serde(skip_serializing_if = "Option::is_none")] pub connections: Option>, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct CreateBGPPeerRequest { ///

Information about the BGP peer.

#[serde(rename = "newBGPPeer")] #[serde(skip_serializing_if = "Option::is_none")] pub new_bgp_peer: Option, ///

The ID of the virtual interface.

#[serde(rename = "virtualInterfaceId")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_interface_id: Option, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct CreateBGPPeerResponse { ///

The virtual interface.

#[serde(rename = "virtualInterface")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_interface: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct CreateConnectionRequest { ///

The bandwidth of the connection.

#[serde(rename = "bandwidth")] pub bandwidth: String, ///

The name of the connection.

#[serde(rename = "connectionName")] pub connection_name: String, ///

The ID of the LAG.

#[serde(rename = "lagId")] #[serde(skip_serializing_if = "Option::is_none")] pub lag_id: Option, ///

The location of the connection.

#[serde(rename = "location")] pub location: String, ///

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

#[serde(rename = "providerName")] #[serde(skip_serializing_if = "Option::is_none")] pub provider_name: Option, ///

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

MAC Security (MACsec) is only available on dedicated connections. For information about MAC Security (MACsec) prerequisties, see MACsec prerequisties in the AWS Direct Connect User Guide.

#[serde(rename = "requestMACSec")] #[serde(skip_serializing_if = "Option::is_none")] pub request_mac_sec: Option, ///

The tags to associate with the lag.

#[serde(rename = "tags")] #[serde(skip_serializing_if = "Option::is_none")] pub tags: Option>, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct CreateDirectConnectGatewayAssociationProposalRequest { ///

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

#[serde(rename = "addAllowedPrefixesToDirectConnectGateway")] #[serde(skip_serializing_if = "Option::is_none")] pub add_allowed_prefixes_to_direct_connect_gateway: Option>, ///

The ID of the Direct Connect gateway.

#[serde(rename = "directConnectGatewayId")] pub direct_connect_gateway_id: String, ///

The ID of the AWS account that owns the Direct Connect gateway.

#[serde(rename = "directConnectGatewayOwnerAccount")] pub direct_connect_gateway_owner_account: String, ///

The ID of the virtual private gateway or transit gateway.

#[serde(rename = "gatewayId")] pub gateway_id: String, ///

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

#[serde(rename = "removeAllowedPrefixesToDirectConnectGateway")] #[serde(skip_serializing_if = "Option::is_none")] pub remove_allowed_prefixes_to_direct_connect_gateway: Option>, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct CreateDirectConnectGatewayAssociationProposalResult { ///

Information about the Direct Connect gateway proposal.

#[serde(rename = "directConnectGatewayAssociationProposal")] #[serde(skip_serializing_if = "Option::is_none")] pub direct_connect_gateway_association_proposal: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct CreateDirectConnectGatewayAssociationRequest { ///

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 AWS Direct Connect User Guide.

#[serde(rename = "addAllowedPrefixesToDirectConnectGateway")] #[serde(skip_serializing_if = "Option::is_none")] pub add_allowed_prefixes_to_direct_connect_gateway: Option>, ///

The ID of the Direct Connect gateway.

#[serde(rename = "directConnectGatewayId")] pub direct_connect_gateway_id: String, ///

The ID of the virtual private gateway or transit gateway.

#[serde(rename = "gatewayId")] #[serde(skip_serializing_if = "Option::is_none")] pub gateway_id: Option, ///

The ID of the virtual private gateway.

#[serde(rename = "virtualGatewayId")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_gateway_id: Option, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct CreateDirectConnectGatewayAssociationResult { ///

The association to be created.

#[serde(rename = "directConnectGatewayAssociation")] #[serde(skip_serializing_if = "Option::is_none")] pub direct_connect_gateway_association: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct CreateDirectConnectGatewayRequest { ///

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.

#[serde(rename = "amazonSideAsn")] #[serde(skip_serializing_if = "Option::is_none")] pub amazon_side_asn: Option, ///

The name of the Direct Connect gateway.

#[serde(rename = "directConnectGatewayName")] pub direct_connect_gateway_name: String, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct CreateDirectConnectGatewayResult { ///

The Direct Connect gateway.

#[serde(rename = "directConnectGateway")] #[serde(skip_serializing_if = "Option::is_none")] pub direct_connect_gateway: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct CreateInterconnectRequest { ///

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

#[serde(rename = "bandwidth")] pub bandwidth: String, ///

The name of the interconnect.

#[serde(rename = "interconnectName")] pub interconnect_name: String, ///

The ID of the LAG.

#[serde(rename = "lagId")] #[serde(skip_serializing_if = "Option::is_none")] pub lag_id: Option, ///

The location of the interconnect.

#[serde(rename = "location")] pub location: String, ///

The name of the service provider associated with the interconnect.

#[serde(rename = "providerName")] #[serde(skip_serializing_if = "Option::is_none")] pub provider_name: Option, ///

The tags to associate with the interconnect.

#[serde(rename = "tags")] #[serde(skip_serializing_if = "Option::is_none")] pub tags: Option>, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct CreateLagRequest { ///

The tags to associate with the automtically created LAGs.

#[serde(rename = "childConnectionTags")] #[serde(skip_serializing_if = "Option::is_none")] pub child_connection_tags: Option>, ///

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

#[serde(rename = "connectionId")] #[serde(skip_serializing_if = "Option::is_none")] pub connection_id: Option, ///

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

#[serde(rename = "connectionsBandwidth")] pub connections_bandwidth: String, ///

The name of the LAG.

#[serde(rename = "lagName")] pub lag_name: String, ///

The location for the LAG.

#[serde(rename = "location")] pub location: String, ///

The number of physical dedicated connections initially provisioned and bundled by the LAG.

#[serde(rename = "numberOfConnections")] pub number_of_connections: i64, ///

The name of the service provider associated with the LAG.

#[serde(rename = "providerName")] #[serde(skip_serializing_if = "Option::is_none")] pub provider_name: 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 AWS Direct Connect User Guide.

#[serde(rename = "requestMACSec")] #[serde(skip_serializing_if = "Option::is_none")] pub request_mac_sec: Option, ///

The tags to associate with the LAG.

#[serde(rename = "tags")] #[serde(skip_serializing_if = "Option::is_none")] pub tags: Option>, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct CreatePrivateVirtualInterfaceRequest { ///

The ID of the connection.

#[serde(rename = "connectionId")] pub connection_id: String, ///

Information about the private virtual interface.

#[serde(rename = "newPrivateVirtualInterface")] pub new_private_virtual_interface: NewPrivateVirtualInterface, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct CreatePublicVirtualInterfaceRequest { ///

The ID of the connection.

#[serde(rename = "connectionId")] pub connection_id: String, ///

Information about the public virtual interface.

#[serde(rename = "newPublicVirtualInterface")] pub new_public_virtual_interface: NewPublicVirtualInterface, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct CreateTransitVirtualInterfaceRequest { ///

The ID of the connection.

#[serde(rename = "connectionId")] pub connection_id: String, ///

Information about the transit virtual interface.

#[serde(rename = "newTransitVirtualInterface")] pub new_transit_virtual_interface: NewTransitVirtualInterface, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct CreateTransitVirtualInterfaceResult { #[serde(rename = "virtualInterface")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_interface: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct DeleteBGPPeerRequest { ///

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

#[serde(rename = "asn")] #[serde(skip_serializing_if = "Option::is_none")] pub asn: Option, ///

The ID of the BGP peer.

#[serde(rename = "bgpPeerId")] #[serde(skip_serializing_if = "Option::is_none")] pub bgp_peer_id: Option, ///

The IP address assigned to the customer interface.

#[serde(rename = "customerAddress")] #[serde(skip_serializing_if = "Option::is_none")] pub customer_address: Option, ///

The ID of the virtual interface.

#[serde(rename = "virtualInterfaceId")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_interface_id: Option, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DeleteBGPPeerResponse { ///

The virtual interface.

#[serde(rename = "virtualInterface")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_interface: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct DeleteConnectionRequest { ///

The ID of the connection.

#[serde(rename = "connectionId")] pub connection_id: String, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct DeleteDirectConnectGatewayAssociationProposalRequest { ///

The ID of the proposal.

#[serde(rename = "proposalId")] pub proposal_id: String, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DeleteDirectConnectGatewayAssociationProposalResult { ///

The ID of the associated gateway.

#[serde(rename = "directConnectGatewayAssociationProposal")] #[serde(skip_serializing_if = "Option::is_none")] pub direct_connect_gateway_association_proposal: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct DeleteDirectConnectGatewayAssociationRequest { ///

The ID of the Direct Connect gateway association.

#[serde(rename = "associationId")] #[serde(skip_serializing_if = "Option::is_none")] pub association_id: Option, ///

The ID of the Direct Connect gateway.

#[serde(rename = "directConnectGatewayId")] #[serde(skip_serializing_if = "Option::is_none")] pub direct_connect_gateway_id: Option, ///

The ID of the virtual private gateway.

#[serde(rename = "virtualGatewayId")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_gateway_id: Option, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DeleteDirectConnectGatewayAssociationResult { ///

Information about the deleted association.

#[serde(rename = "directConnectGatewayAssociation")] #[serde(skip_serializing_if = "Option::is_none")] pub direct_connect_gateway_association: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct DeleteDirectConnectGatewayRequest { ///

The ID of the Direct Connect gateway.

#[serde(rename = "directConnectGatewayId")] pub direct_connect_gateway_id: String, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DeleteDirectConnectGatewayResult { ///

The Direct Connect gateway.

#[serde(rename = "directConnectGateway")] #[serde(skip_serializing_if = "Option::is_none")] pub direct_connect_gateway: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct DeleteInterconnectRequest { ///

The ID of the interconnect.

#[serde(rename = "interconnectId")] pub interconnect_id: String, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DeleteInterconnectResponse { ///

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.

#[serde(rename = "interconnectState")] #[serde(skip_serializing_if = "Option::is_none")] pub interconnect_state: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct DeleteLagRequest { ///

The ID of the LAG.

#[serde(rename = "lagId")] pub lag_id: String, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct DeleteVirtualInterfaceRequest { ///

The ID of the virtual interface.

#[serde(rename = "virtualInterfaceId")] pub virtual_interface_id: String, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DeleteVirtualInterfaceResponse { ///

The state of the virtual interface. The following are the possible values:

  • confirming: The creation of the virtual interface is pending confirmation from the virtual interface owner. If the owner of the virtual interface is different from the owner of the connection on which it is provisioned, then the virtual interface will remain in this state until it is confirmed by the virtual interface owner.

  • verifying: This state only applies to public virtual interfaces. Each public virtual interface needs validation before the virtual interface can be created.

  • pending: A virtual interface is in this state from the time that it is created until the virtual interface is ready to forward traffic.

  • available: A virtual interface that is able to forward traffic.

  • down: A virtual interface that is BGP down.

  • deleting: A virtual interface is in this state immediately after calling DeleteVirtualInterface until it can no longer forward traffic.

  • deleted: A virtual interface that cannot forward traffic.

  • rejected: The virtual interface owner has declined creation of the virtual interface. If a virtual interface in the Confirming state is deleted by the virtual interface owner, the virtual interface enters the Rejected state.

  • unknown: The state of the virtual interface is not available.

#[serde(rename = "virtualInterfaceState")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_interface_state: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct DescribeConnectionLoaRequest { ///

The ID of the connection.

#[serde(rename = "connectionId")] pub connection_id: String, ///

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

#[serde(rename = "loaContentType")] #[serde(skip_serializing_if = "Option::is_none")] pub loa_content_type: 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.

#[serde(rename = "providerName")] #[serde(skip_serializing_if = "Option::is_none")] pub provider_name: Option, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DescribeConnectionLoaResponse { ///

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

#[serde(rename = "loa")] #[serde(skip_serializing_if = "Option::is_none")] pub loa: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct DescribeConnectionsOnInterconnectRequest { ///

The ID of the interconnect.

#[serde(rename = "interconnectId")] pub interconnect_id: String, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct DescribeConnectionsRequest { ///

The ID of the connection.

#[serde(rename = "connectionId")] #[serde(skip_serializing_if = "Option::is_none")] pub connection_id: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct DescribeDirectConnectGatewayAssociationProposalsRequest { ///

The ID of the associated gateway.

#[serde(rename = "associatedGatewayId")] #[serde(skip_serializing_if = "Option::is_none")] pub associated_gateway_id: Option, ///

The ID of the Direct Connect gateway.

#[serde(rename = "directConnectGatewayId")] #[serde(skip_serializing_if = "Option::is_none")] pub direct_connect_gateway_id: 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.

#[serde(rename = "maxResults")] #[serde(skip_serializing_if = "Option::is_none")] pub max_results: Option, ///

The token for the next page of results.

#[serde(rename = "nextToken")] #[serde(skip_serializing_if = "Option::is_none")] pub next_token: Option, ///

The ID of the proposal.

#[serde(rename = "proposalId")] #[serde(skip_serializing_if = "Option::is_none")] pub proposal_id: Option, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DescribeDirectConnectGatewayAssociationProposalsResult { ///

Describes the Direct Connect gateway association proposals.

#[serde(rename = "directConnectGatewayAssociationProposals")] #[serde(skip_serializing_if = "Option::is_none")] pub direct_connect_gateway_association_proposals: Option>, ///

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

#[serde(rename = "nextToken")] #[serde(skip_serializing_if = "Option::is_none")] pub next_token: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct DescribeDirectConnectGatewayAssociationsRequest { ///

The ID of the associated gateway.

#[serde(rename = "associatedGatewayId")] #[serde(skip_serializing_if = "Option::is_none")] pub associated_gateway_id: Option, ///

The ID of the Direct Connect gateway association.

#[serde(rename = "associationId")] #[serde(skip_serializing_if = "Option::is_none")] pub association_id: Option, ///

The ID of the Direct Connect gateway.

#[serde(rename = "directConnectGatewayId")] #[serde(skip_serializing_if = "Option::is_none")] pub direct_connect_gateway_id: 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.

#[serde(rename = "maxResults")] #[serde(skip_serializing_if = "Option::is_none")] pub max_results: Option, ///

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

#[serde(rename = "nextToken")] #[serde(skip_serializing_if = "Option::is_none")] pub next_token: Option, ///

The ID of the virtual private gateway or transit gateway.

#[serde(rename = "virtualGatewayId")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_gateway_id: Option, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DescribeDirectConnectGatewayAssociationsResult { ///

Information about the associations.

#[serde(rename = "directConnectGatewayAssociations")] #[serde(skip_serializing_if = "Option::is_none")] pub direct_connect_gateway_associations: Option>, ///

The token to retrieve the next page.

#[serde(rename = "nextToken")] #[serde(skip_serializing_if = "Option::is_none")] pub next_token: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct DescribeDirectConnectGatewayAttachmentsRequest { ///

The ID of the Direct Connect gateway.

#[serde(rename = "directConnectGatewayId")] #[serde(skip_serializing_if = "Option::is_none")] pub direct_connect_gateway_id: 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.

#[serde(rename = "maxResults")] #[serde(skip_serializing_if = "Option::is_none")] pub max_results: Option, ///

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

#[serde(rename = "nextToken")] #[serde(skip_serializing_if = "Option::is_none")] pub next_token: Option, ///

The ID of the virtual interface.

#[serde(rename = "virtualInterfaceId")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_interface_id: Option, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DescribeDirectConnectGatewayAttachmentsResult { ///

The attachments.

#[serde(rename = "directConnectGatewayAttachments")] #[serde(skip_serializing_if = "Option::is_none")] pub direct_connect_gateway_attachments: Option>, ///

The token to retrieve the next page.

#[serde(rename = "nextToken")] #[serde(skip_serializing_if = "Option::is_none")] pub next_token: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct DescribeDirectConnectGatewaysRequest { ///

The ID of the Direct Connect gateway.

#[serde(rename = "directConnectGatewayId")] #[serde(skip_serializing_if = "Option::is_none")] pub direct_connect_gateway_id: 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.

#[serde(rename = "maxResults")] #[serde(skip_serializing_if = "Option::is_none")] pub max_results: Option, ///

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

#[serde(rename = "nextToken")] #[serde(skip_serializing_if = "Option::is_none")] pub next_token: Option, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DescribeDirectConnectGatewaysResult { ///

The Direct Connect gateways.

#[serde(rename = "directConnectGateways")] #[serde(skip_serializing_if = "Option::is_none")] pub direct_connect_gateways: Option>, ///

The token to retrieve the next page.

#[serde(rename = "nextToken")] #[serde(skip_serializing_if = "Option::is_none")] pub next_token: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct DescribeHostedConnectionsRequest { ///

The ID of the interconnect or LAG.

#[serde(rename = "connectionId")] pub connection_id: String, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct DescribeInterconnectLoaRequest { ///

The ID of the interconnect.

#[serde(rename = "interconnectId")] pub interconnect_id: String, ///

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

#[serde(rename = "loaContentType")] #[serde(skip_serializing_if = "Option::is_none")] pub loa_content_type: 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.

#[serde(rename = "providerName")] #[serde(skip_serializing_if = "Option::is_none")] pub provider_name: Option, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DescribeInterconnectLoaResponse { ///

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

#[serde(rename = "loa")] #[serde(skip_serializing_if = "Option::is_none")] pub loa: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct DescribeInterconnectsRequest { ///

The ID of the interconnect.

#[serde(rename = "interconnectId")] #[serde(skip_serializing_if = "Option::is_none")] pub interconnect_id: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct DescribeLagsRequest { ///

The ID of the LAG.

#[serde(rename = "lagId")] #[serde(skip_serializing_if = "Option::is_none")] pub lag_id: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct DescribeLoaRequest { ///

The ID of a connection, LAG, or interconnect.

#[serde(rename = "connectionId")] pub connection_id: String, ///

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

#[serde(rename = "loaContentType")] #[serde(skip_serializing_if = "Option::is_none")] pub loa_content_type: 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.

#[serde(rename = "providerName")] #[serde(skip_serializing_if = "Option::is_none")] pub provider_name: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct DescribeTagsRequest { ///

The Amazon Resource Names (ARNs) of the resources.

#[serde(rename = "resourceArns")] pub resource_arns: Vec, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DescribeTagsResponse { ///

Information about the tags.

#[serde(rename = "resourceTags")] #[serde(skip_serializing_if = "Option::is_none")] pub resource_tags: Option>, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct DescribeVirtualInterfacesRequest { ///

The ID of the connection.

#[serde(rename = "connectionId")] #[serde(skip_serializing_if = "Option::is_none")] pub connection_id: Option, ///

The ID of the virtual interface.

#[serde(rename = "virtualInterfaceId")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_interface_id: Option, } ///

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

#[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DirectConnectGateway { ///

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

#[serde(rename = "amazonSideAsn")] #[serde(skip_serializing_if = "Option::is_none")] pub amazon_side_asn: Option, ///

The ID of the Direct Connect gateway.

#[serde(rename = "directConnectGatewayId")] #[serde(skip_serializing_if = "Option::is_none")] pub direct_connect_gateway_id: Option, ///

The name of the Direct Connect gateway.

#[serde(rename = "directConnectGatewayName")] #[serde(skip_serializing_if = "Option::is_none")] pub direct_connect_gateway_name: 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.

#[serde(rename = "directConnectGatewayState")] #[serde(skip_serializing_if = "Option::is_none")] pub direct_connect_gateway_state: Option, ///

The ID of the AWS account that owns the Direct Connect gateway.

#[serde(rename = "ownerAccount")] #[serde(skip_serializing_if = "Option::is_none")] pub owner_account: Option, ///

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

#[serde(rename = "stateChangeError")] #[serde(skip_serializing_if = "Option::is_none")] pub state_change_error: Option, } ///

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

#[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DirectConnectGatewayAssociation { ///

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

#[serde(rename = "allowedPrefixesToDirectConnectGateway")] #[serde(skip_serializing_if = "Option::is_none")] pub allowed_prefixes_to_direct_connect_gateway: Option>, ///

Information about the associated gateway.

#[serde(rename = "associatedGateway")] #[serde(skip_serializing_if = "Option::is_none")] pub associated_gateway: Option, ///

The ID of the Direct Connect gateway association.

#[serde(rename = "associationId")] #[serde(skip_serializing_if = "Option::is_none")] pub association_id: 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.

#[serde(rename = "associationState")] #[serde(skip_serializing_if = "Option::is_none")] pub association_state: Option, ///

The ID of the Direct Connect gateway.

#[serde(rename = "directConnectGatewayId")] #[serde(skip_serializing_if = "Option::is_none")] pub direct_connect_gateway_id: Option, ///

The ID of the AWS account that owns the associated gateway.

#[serde(rename = "directConnectGatewayOwnerAccount")] #[serde(skip_serializing_if = "Option::is_none")] pub direct_connect_gateway_owner_account: Option, ///

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

#[serde(rename = "stateChangeError")] #[serde(skip_serializing_if = "Option::is_none")] pub state_change_error: Option, ///

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

#[serde(rename = "virtualGatewayId")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_gateway_id: Option, ///

The ID of the AWS account that owns the virtual private gateway.

#[serde(rename = "virtualGatewayOwnerAccount")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_gateway_owner_account: Option, ///

The AWS Region where the virtual private gateway is located.

#[serde(rename = "virtualGatewayRegion")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_gateway_region: Option, } ///

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

#[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DirectConnectGatewayAssociationProposal { ///

Information about the associated gateway.

#[serde(rename = "associatedGateway")] #[serde(skip_serializing_if = "Option::is_none")] pub associated_gateway: Option, ///

The ID of the Direct Connect gateway.

#[serde(rename = "directConnectGatewayId")] #[serde(skip_serializing_if = "Option::is_none")] pub direct_connect_gateway_id: Option, ///

The ID of the AWS account that owns the Direct Connect gateway.

#[serde(rename = "directConnectGatewayOwnerAccount")] #[serde(skip_serializing_if = "Option::is_none")] pub direct_connect_gateway_owner_account: Option, ///

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

#[serde(rename = "existingAllowedPrefixesToDirectConnectGateway")] #[serde(skip_serializing_if = "Option::is_none")] pub existing_allowed_prefixes_to_direct_connect_gateway: Option>, ///

The ID of the association proposal.

#[serde(rename = "proposalId")] #[serde(skip_serializing_if = "Option::is_none")] pub proposal_id: 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.

#[serde(rename = "proposalState")] #[serde(skip_serializing_if = "Option::is_none")] pub proposal_state: Option, ///

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

#[serde(rename = "requestedAllowedPrefixesToDirectConnectGateway")] #[serde(skip_serializing_if = "Option::is_none")] pub requested_allowed_prefixes_to_direct_connect_gateway: Option>, } ///

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

#[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DirectConnectGatewayAttachment { ///

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.

#[serde(rename = "attachmentState")] #[serde(skip_serializing_if = "Option::is_none")] pub attachment_state: Option, ///

The type of attachment.

#[serde(rename = "attachmentType")] #[serde(skip_serializing_if = "Option::is_none")] pub attachment_type: Option, ///

The ID of the Direct Connect gateway.

#[serde(rename = "directConnectGatewayId")] #[serde(skip_serializing_if = "Option::is_none")] pub direct_connect_gateway_id: Option, ///

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

#[serde(rename = "stateChangeError")] #[serde(skip_serializing_if = "Option::is_none")] pub state_change_error: Option, ///

The ID of the virtual interface.

#[serde(rename = "virtualInterfaceId")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_interface_id: Option, ///

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

#[serde(rename = "virtualInterfaceOwnerAccount")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_interface_owner_account: Option, ///

The AWS Region where the virtual interface is located.

#[serde(rename = "virtualInterfaceRegion")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_interface_region: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct DisassociateConnectionFromLagRequest { ///

The ID of the connection.

#[serde(rename = "connectionId")] pub connection_id: String, ///

The ID of the LAG.

#[serde(rename = "lagId")] pub lag_id: String, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct DisassociateMacSecKeyRequest { ///

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

You can use DescribeConnections or DescribeLags to retrieve connection ID.

#[serde(rename = "connectionId")] pub connection_id: String, ///

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

You can use DescribeConnections to retrieve the ARN of the MAC Security (MACsec) secret key.

#[serde(rename = "secretARN")] pub secret_arn: String, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct DisassociateMacSecKeyResponse { ///

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

#[serde(rename = "connectionId")] #[serde(skip_serializing_if = "Option::is_none")] pub connection_id: Option, ///

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

#[serde(rename = "macSecKeys")] #[serde(skip_serializing_if = "Option::is_none")] pub mac_sec_keys: Option>, } ///

Information about an interconnect.

#[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct Interconnect { ///

The Direct Connect endpoint on which the physical connection terminates.

#[serde(rename = "awsDevice")] #[serde(skip_serializing_if = "Option::is_none")] pub aws_device: Option, ///

The Direct Connect endpoint on which the physical connection terminates.

#[serde(rename = "awsDeviceV2")] #[serde(skip_serializing_if = "Option::is_none")] pub aws_device_v2: Option, ///

The bandwidth of the connection.

#[serde(rename = "bandwidth")] #[serde(skip_serializing_if = "Option::is_none")] pub bandwidth: Option, ///

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

#[serde(rename = "hasLogicalRedundancy")] #[serde(skip_serializing_if = "Option::is_none")] pub has_logical_redundancy: Option, ///

The ID of the interconnect.

#[serde(rename = "interconnectId")] #[serde(skip_serializing_if = "Option::is_none")] pub interconnect_id: Option, ///

The name of the interconnect.

#[serde(rename = "interconnectName")] #[serde(skip_serializing_if = "Option::is_none")] pub interconnect_name: 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.

#[serde(rename = "interconnectState")] #[serde(skip_serializing_if = "Option::is_none")] pub interconnect_state: Option, ///

Indicates whether jumbo frames (9001 MTU) are supported.

#[serde(rename = "jumboFrameCapable")] #[serde(skip_serializing_if = "Option::is_none")] pub jumbo_frame_capable: Option, ///

The ID of the LAG.

#[serde(rename = "lagId")] #[serde(skip_serializing_if = "Option::is_none")] pub lag_id: Option, ///

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

#[serde(rename = "loaIssueTime")] #[serde(skip_serializing_if = "Option::is_none")] pub loa_issue_time: Option, ///

The location of the connection.

#[serde(rename = "location")] #[serde(skip_serializing_if = "Option::is_none")] pub location: Option, ///

The name of the service provider associated with the interconnect.

#[serde(rename = "providerName")] #[serde(skip_serializing_if = "Option::is_none")] pub provider_name: Option, ///

The AWS Region where the connection is located.

#[serde(rename = "region")] #[serde(skip_serializing_if = "Option::is_none")] pub region: Option, ///

The tags associated with the interconnect.

#[serde(rename = "tags")] #[serde(skip_serializing_if = "Option::is_none")] pub tags: Option>, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct Interconnects { ///

The interconnects.

#[serde(rename = "interconnects")] #[serde(skip_serializing_if = "Option::is_none")] pub interconnects: Option>, } ///

Information about a link aggregation group (LAG).

#[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct Lag { ///

Indicates whether the LAG can host other connections.

#[serde(rename = "allowsHostedConnections")] #[serde(skip_serializing_if = "Option::is_none")] pub allows_hosted_connections: Option, ///

The AWS Direct Connect endpoint that hosts the LAG.

#[serde(rename = "awsDevice")] #[serde(skip_serializing_if = "Option::is_none")] pub aws_device: Option, ///

The AWS Direct Connect endpoint that hosts the LAG.

#[serde(rename = "awsDeviceV2")] #[serde(skip_serializing_if = "Option::is_none")] pub aws_device_v2: Option, ///

The connections bundled by the LAG.

#[serde(rename = "connections")] #[serde(skip_serializing_if = "Option::is_none")] pub connections: Option>, ///

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

#[serde(rename = "connectionsBandwidth")] #[serde(skip_serializing_if = "Option::is_none")] pub connections_bandwidth: Option, ///

The LAG MAC Security (MACsec) encryption mode.

The valid values are no_encrypt, should_encrypt, and must_encrypt.

#[serde(rename = "encryptionMode")] #[serde(skip_serializing_if = "Option::is_none")] pub encryption_mode: Option, ///

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

#[serde(rename = "hasLogicalRedundancy")] #[serde(skip_serializing_if = "Option::is_none")] pub has_logical_redundancy: Option, ///

Indicates whether jumbo frames (9001 MTU) are supported.

#[serde(rename = "jumboFrameCapable")] #[serde(skip_serializing_if = "Option::is_none")] pub jumbo_frame_capable: Option, ///

The ID of the LAG.

#[serde(rename = "lagId")] #[serde(skip_serializing_if = "Option::is_none")] pub lag_id: Option, ///

The name of the LAG.

#[serde(rename = "lagName")] #[serde(skip_serializing_if = "Option::is_none")] pub lag_name: 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.

#[serde(rename = "lagState")] #[serde(skip_serializing_if = "Option::is_none")] pub lag_state: Option, ///

The location of the LAG.

#[serde(rename = "location")] #[serde(skip_serializing_if = "Option::is_none")] pub location: Option, ///

Indicates whether the LAG supports MAC Security (MACsec).

#[serde(rename = "macSecCapable")] #[serde(skip_serializing_if = "Option::is_none")] pub mac_sec_capable: Option, ///

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

#[serde(rename = "macSecKeys")] #[serde(skip_serializing_if = "Option::is_none")] pub mac_sec_keys: Option>, ///

The minimum number of physical dedicated connections that must be operational for the LAG itself to be operational.

#[serde(rename = "minimumLinks")] #[serde(skip_serializing_if = "Option::is_none")] pub minimum_links: Option, ///

The number of physical dedicated connections bundled by the LAG, up to a maximum of 10.

#[serde(rename = "numberOfConnections")] #[serde(skip_serializing_if = "Option::is_none")] pub number_of_connections: Option, ///

The ID of the AWS account that owns the LAG.

#[serde(rename = "ownerAccount")] #[serde(skip_serializing_if = "Option::is_none")] pub owner_account: Option, ///

The name of the service provider associated with the LAG.

#[serde(rename = "providerName")] #[serde(skip_serializing_if = "Option::is_none")] pub provider_name: Option, ///

The AWS Region where the connection is located.

#[serde(rename = "region")] #[serde(skip_serializing_if = "Option::is_none")] pub region: Option, ///

The tags associated with the LAG.

#[serde(rename = "tags")] #[serde(skip_serializing_if = "Option::is_none")] pub tags: Option>, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct Lags { ///

The LAGs.

#[serde(rename = "lags")] #[serde(skip_serializing_if = "Option::is_none")] pub lags: Option>, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct ListVirtualInterfaceTestHistoryRequest { ///

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

#[serde(rename = "bgpPeers")] #[serde(skip_serializing_if = "Option::is_none")] pub bgp_peers: 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.

#[serde(rename = "maxResults")] #[serde(skip_serializing_if = "Option::is_none")] pub max_results: Option, ///

The token for the next page of results.

#[serde(rename = "nextToken")] #[serde(skip_serializing_if = "Option::is_none")] pub next_token: Option, ///

The status of the virtual interface failover test.

#[serde(rename = "status")] #[serde(skip_serializing_if = "Option::is_none")] pub status: Option, ///

The ID of the virtual interface failover test.

#[serde(rename = "testId")] #[serde(skip_serializing_if = "Option::is_none")] pub test_id: Option, ///

The ID of the virtual interface that was tested.

#[serde(rename = "virtualInterfaceId")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_interface_id: Option, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ListVirtualInterfaceTestHistoryResponse { ///

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

#[serde(rename = "nextToken")] #[serde(skip_serializing_if = "Option::is_none")] pub next_token: Option, ///

The ID of the tested virtual interface.

#[serde(rename = "virtualInterfaceTestHistory")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_interface_test_history: Option>, } ///

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

#[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct Loa { ///

The binary contents of the LOA-CFA document.

#[serde(rename = "loaContent")] #[serde( deserialize_with = "::rusoto_core::serialization::SerdeBlob::deserialize_blob", serialize_with = "::rusoto_core::serialization::SerdeBlob::serialize_blob", default )] #[serde(skip_serializing_if = "Option::is_none")] pub loa_content: Option, ///

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

#[serde(rename = "loaContentType")] #[serde(skip_serializing_if = "Option::is_none")] pub loa_content_type: Option, } ///

Information about an AWS Direct Connect location.

#[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct Location { ///

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

#[serde(rename = "availableMacSecPortSpeeds")] #[serde(skip_serializing_if = "Option::is_none")] pub available_mac_sec_port_speeds: Option>, ///

The available port speeds for the location.

#[serde(rename = "availablePortSpeeds")] #[serde(skip_serializing_if = "Option::is_none")] pub available_port_speeds: Option>, ///

The name of the service provider for the location.

#[serde(rename = "availableProviders")] #[serde(skip_serializing_if = "Option::is_none")] pub available_providers: Option>, ///

The code for the location.

#[serde(rename = "locationCode")] #[serde(skip_serializing_if = "Option::is_none")] pub location_code: Option, ///

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

#[serde(rename = "locationName")] #[serde(skip_serializing_if = "Option::is_none")] pub location_name: Option, ///

The AWS Region for the location.

#[serde(rename = "region")] #[serde(skip_serializing_if = "Option::is_none")] pub region: Option, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct Locations { ///

The locations.

#[serde(rename = "locations")] #[serde(skip_serializing_if = "Option::is_none")] pub locations: Option>, } ///

Information about the MAC Security (MACsec) secret key.

#[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct MacSecKey { ///

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

#[serde(rename = "ckn")] #[serde(skip_serializing_if = "Option::is_none")] pub ckn: Option, ///

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

#[serde(rename = "secretARN")] #[serde(skip_serializing_if = "Option::is_none")] pub secret_arn: Option, ///

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

#[serde(rename = "startOn")] #[serde(skip_serializing_if = "Option::is_none")] pub start_on: 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.

#[serde(rename = "state")] #[serde(skip_serializing_if = "Option::is_none")] pub state: Option, } ///

Information about a new BGP peer.

#[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct NewBGPPeer { ///

The address family for the BGP peer.

#[serde(rename = "addressFamily")] #[serde(skip_serializing_if = "Option::is_none")] pub address_family: Option, ///

The IP address assigned to the Amazon interface.

#[serde(rename = "amazonAddress")] #[serde(skip_serializing_if = "Option::is_none")] pub amazon_address: Option, ///

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

#[serde(rename = "asn")] #[serde(skip_serializing_if = "Option::is_none")] pub asn: Option, ///

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

#[serde(rename = "authKey")] #[serde(skip_serializing_if = "Option::is_none")] pub auth_key: Option, ///

The IP address assigned to the customer interface.

#[serde(rename = "customerAddress")] #[serde(skip_serializing_if = "Option::is_none")] pub customer_address: Option, } ///

Information about a private virtual interface.

#[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct NewPrivateVirtualInterface { ///

The address family for the BGP peer.

#[serde(rename = "addressFamily")] #[serde(skip_serializing_if = "Option::is_none")] pub address_family: Option, ///

The IP address assigned to the Amazon interface.

#[serde(rename = "amazonAddress")] #[serde(skip_serializing_if = "Option::is_none")] pub amazon_address: Option, ///

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

The valid values are 1-2147483647.

#[serde(rename = "asn")] pub asn: i64, ///

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

#[serde(rename = "authKey")] #[serde(skip_serializing_if = "Option::is_none")] pub auth_key: Option, ///

The IP address assigned to the customer interface.

#[serde(rename = "customerAddress")] #[serde(skip_serializing_if = "Option::is_none")] pub customer_address: Option, ///

The ID of the Direct Connect gateway.

#[serde(rename = "directConnectGatewayId")] #[serde(skip_serializing_if = "Option::is_none")] pub direct_connect_gateway_id: Option, ///

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

#[serde(rename = "mtu")] #[serde(skip_serializing_if = "Option::is_none")] pub mtu: Option, ///

The tags associated with the private virtual interface.

#[serde(rename = "tags")] #[serde(skip_serializing_if = "Option::is_none")] pub tags: Option>, ///

The ID of the virtual private gateway.

#[serde(rename = "virtualGatewayId")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_gateway_id: 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 (-).

#[serde(rename = "virtualInterfaceName")] pub virtual_interface_name: String, ///

The ID of the VLAN.

#[serde(rename = "vlan")] pub vlan: i64, } ///

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

#[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct NewPrivateVirtualInterfaceAllocation { ///

The address family for the BGP peer.

#[serde(rename = "addressFamily")] #[serde(skip_serializing_if = "Option::is_none")] pub address_family: Option, ///

The IP address assigned to the Amazon interface.

#[serde(rename = "amazonAddress")] #[serde(skip_serializing_if = "Option::is_none")] pub amazon_address: Option, ///

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

The valid values are 1-2147483647.

#[serde(rename = "asn")] pub asn: i64, ///

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

#[serde(rename = "authKey")] #[serde(skip_serializing_if = "Option::is_none")] pub auth_key: Option, ///

The IP address assigned to the customer interface.

#[serde(rename = "customerAddress")] #[serde(skip_serializing_if = "Option::is_none")] pub customer_address: Option, ///

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

#[serde(rename = "mtu")] #[serde(skip_serializing_if = "Option::is_none")] pub mtu: Option, ///

The tags associated with the private virtual interface.

#[serde(rename = "tags")] #[serde(skip_serializing_if = "Option::is_none")] pub tags: 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 (-).

#[serde(rename = "virtualInterfaceName")] pub virtual_interface_name: String, ///

The ID of the VLAN.

#[serde(rename = "vlan")] pub vlan: i64, } ///

Information about a public virtual interface.

#[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct NewPublicVirtualInterface { ///

The address family for the BGP peer.

#[serde(rename = "addressFamily")] #[serde(skip_serializing_if = "Option::is_none")] pub address_family: Option, ///

The IP address assigned to the Amazon interface.

#[serde(rename = "amazonAddress")] #[serde(skip_serializing_if = "Option::is_none")] pub amazon_address: Option, ///

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

The valid values are 1-2147483647.

#[serde(rename = "asn")] pub asn: i64, ///

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

#[serde(rename = "authKey")] #[serde(skip_serializing_if = "Option::is_none")] pub auth_key: Option, ///

The IP address assigned to the customer interface.

#[serde(rename = "customerAddress")] #[serde(skip_serializing_if = "Option::is_none")] pub customer_address: Option, ///

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

#[serde(rename = "routeFilterPrefixes")] #[serde(skip_serializing_if = "Option::is_none")] pub route_filter_prefixes: Option>, ///

The tags associated with the public virtual interface.

#[serde(rename = "tags")] #[serde(skip_serializing_if = "Option::is_none")] pub tags: 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 (-).

#[serde(rename = "virtualInterfaceName")] pub virtual_interface_name: String, ///

The ID of the VLAN.

#[serde(rename = "vlan")] pub vlan: i64, } ///

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

#[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct NewPublicVirtualInterfaceAllocation { ///

The address family for the BGP peer.

#[serde(rename = "addressFamily")] #[serde(skip_serializing_if = "Option::is_none")] pub address_family: Option, ///

The IP address assigned to the Amazon interface.

#[serde(rename = "amazonAddress")] #[serde(skip_serializing_if = "Option::is_none")] pub amazon_address: Option, ///

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

The valid values are 1-2147483647.

#[serde(rename = "asn")] pub asn: i64, ///

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

#[serde(rename = "authKey")] #[serde(skip_serializing_if = "Option::is_none")] pub auth_key: Option, ///

The IP address assigned to the customer interface.

#[serde(rename = "customerAddress")] #[serde(skip_serializing_if = "Option::is_none")] pub customer_address: Option, ///

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

#[serde(rename = "routeFilterPrefixes")] #[serde(skip_serializing_if = "Option::is_none")] pub route_filter_prefixes: Option>, ///

The tags associated with the public virtual interface.

#[serde(rename = "tags")] #[serde(skip_serializing_if = "Option::is_none")] pub tags: 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 (-).

#[serde(rename = "virtualInterfaceName")] pub virtual_interface_name: String, ///

The ID of the VLAN.

#[serde(rename = "vlan")] pub vlan: i64, } ///

Information about a transit virtual interface.

#[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct NewTransitVirtualInterface { ///

The address family for the BGP peer.

#[serde(rename = "addressFamily")] #[serde(skip_serializing_if = "Option::is_none")] pub address_family: Option, ///

The IP address assigned to the Amazon interface.

#[serde(rename = "amazonAddress")] #[serde(skip_serializing_if = "Option::is_none")] pub amazon_address: Option, ///

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

The valid values are 1-2147483647.

#[serde(rename = "asn")] #[serde(skip_serializing_if = "Option::is_none")] pub asn: Option, ///

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

#[serde(rename = "authKey")] #[serde(skip_serializing_if = "Option::is_none")] pub auth_key: Option, ///

The IP address assigned to the customer interface.

#[serde(rename = "customerAddress")] #[serde(skip_serializing_if = "Option::is_none")] pub customer_address: Option, ///

The ID of the Direct Connect gateway.

#[serde(rename = "directConnectGatewayId")] #[serde(skip_serializing_if = "Option::is_none")] pub direct_connect_gateway_id: Option, ///

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

#[serde(rename = "mtu")] #[serde(skip_serializing_if = "Option::is_none")] pub mtu: Option, ///

The tags associated with the transitive virtual interface.

#[serde(rename = "tags")] #[serde(skip_serializing_if = "Option::is_none")] pub tags: 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 (-).

#[serde(rename = "virtualInterfaceName")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_interface_name: Option, ///

The ID of the VLAN.

#[serde(rename = "vlan")] #[serde(skip_serializing_if = "Option::is_none")] pub vlan: Option, } ///

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

#[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct NewTransitVirtualInterfaceAllocation { ///

The address family for the BGP peer.

#[serde(rename = "addressFamily")] #[serde(skip_serializing_if = "Option::is_none")] pub address_family: Option, ///

The IP address assigned to the Amazon interface.

#[serde(rename = "amazonAddress")] #[serde(skip_serializing_if = "Option::is_none")] pub amazon_address: Option, ///

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

The valid values are 1-2147483647.

#[serde(rename = "asn")] #[serde(skip_serializing_if = "Option::is_none")] pub asn: Option, ///

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

#[serde(rename = "authKey")] #[serde(skip_serializing_if = "Option::is_none")] pub auth_key: Option, ///

The IP address assigned to the customer interface.

#[serde(rename = "customerAddress")] #[serde(skip_serializing_if = "Option::is_none")] pub customer_address: Option, ///

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

#[serde(rename = "mtu")] #[serde(skip_serializing_if = "Option::is_none")] pub mtu: Option, ///

The tags associated with the transitive virtual interface.

#[serde(rename = "tags")] #[serde(skip_serializing_if = "Option::is_none")] pub tags: 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 (-).

#[serde(rename = "virtualInterfaceName")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_interface_name: Option, ///

The ID of the VLAN.

#[serde(rename = "vlan")] #[serde(skip_serializing_if = "Option::is_none")] pub vlan: Option, } ///

Information about a tag associated with an AWS Direct Connect resource.

#[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct ResourceTag { ///

The Amazon Resource Name (ARN) of the resource.

#[serde(rename = "resourceArn")] #[serde(skip_serializing_if = "Option::is_none")] pub resource_arn: Option, ///

The tags.

#[serde(rename = "tags")] #[serde(skip_serializing_if = "Option::is_none")] pub tags: Option>, } ///

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

#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)] pub struct RouteFilterPrefix { ///

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

#[serde(rename = "cidr")] #[serde(skip_serializing_if = "Option::is_none")] pub cidr: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct StartBgpFailoverTestRequest { ///

The BGP peers to place in the DOWN state.

#[serde(rename = "bgpPeers")] #[serde(skip_serializing_if = "Option::is_none")] pub bgp_peers: Option>, ///

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

Maximum value: 180 minutes (3 hours).

Default: 180 minutes (3 hours).

#[serde(rename = "testDurationInMinutes")] #[serde(skip_serializing_if = "Option::is_none")] pub test_duration_in_minutes: Option, ///

The ID of the virtual interface you want to test.

#[serde(rename = "virtualInterfaceId")] pub virtual_interface_id: String, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct StartBgpFailoverTestResponse { ///

Information about the virtual interface failover test.

#[serde(rename = "virtualInterfaceTest")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_interface_test: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct StopBgpFailoverTestRequest { ///

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

#[serde(rename = "virtualInterfaceId")] pub virtual_interface_id: String, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct StopBgpFailoverTestResponse { ///

Information about the virtual interface failover test.

#[serde(rename = "virtualInterfaceTest")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_interface_test: Option, } ///

Information about a tag.

#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)] pub struct Tag { ///

The key.

#[serde(rename = "key")] pub key: String, ///

The value.

#[serde(rename = "value")] #[serde(skip_serializing_if = "Option::is_none")] pub value: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct TagResourceRequest { ///

The Amazon Resource Name (ARN) of the resource.

#[serde(rename = "resourceArn")] pub resource_arn: String, ///

The tags to add.

#[serde(rename = "tags")] pub tags: Vec, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct TagResourceResponse {} #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct UntagResourceRequest { ///

The Amazon Resource Name (ARN) of the resource.

#[serde(rename = "resourceArn")] pub resource_arn: String, ///

The tag keys of the tags to remove.

#[serde(rename = "tagKeys")] pub tag_keys: Vec, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct UntagResourceResponse {} #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct UpdateConnectionRequest { ///

The ID of the dedicated connection.

You can use DescribeConnections to retrieve the connection ID.

#[serde(rename = "connectionId")] pub connection_id: String, ///

The name of the connection.

#[serde(rename = "connectionName")] #[serde(skip_serializing_if = "Option::is_none")] pub connection_name: Option, ///

The connection MAC Security (MACsec) encryption mode.

The valid values are no_encrypt, should_encrypt, and must_encrypt.

#[serde(rename = "encryptionMode")] #[serde(skip_serializing_if = "Option::is_none")] pub encryption_mode: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct UpdateDirectConnectGatewayAssociationRequest { ///

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

#[serde(rename = "addAllowedPrefixesToDirectConnectGateway")] #[serde(skip_serializing_if = "Option::is_none")] pub add_allowed_prefixes_to_direct_connect_gateway: Option>, ///

The ID of the Direct Connect gateway association.

#[serde(rename = "associationId")] #[serde(skip_serializing_if = "Option::is_none")] pub association_id: Option, ///

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

#[serde(rename = "removeAllowedPrefixesToDirectConnectGateway")] #[serde(skip_serializing_if = "Option::is_none")] pub remove_allowed_prefixes_to_direct_connect_gateway: Option>, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct UpdateDirectConnectGatewayAssociationResult { #[serde(rename = "directConnectGatewayAssociation")] #[serde(skip_serializing_if = "Option::is_none")] pub direct_connect_gateway_association: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct UpdateLagRequest { ///

The LAG MAC Security (MACsec) encryption mode.

AWS applies the value to all connections which are part of the LAG.

#[serde(rename = "encryptionMode")] #[serde(skip_serializing_if = "Option::is_none")] pub encryption_mode: Option, ///

The ID of the LAG.

#[serde(rename = "lagId")] pub lag_id: String, ///

The name of the LAG.

#[serde(rename = "lagName")] #[serde(skip_serializing_if = "Option::is_none")] pub lag_name: Option, ///

The minimum number of physical connections that must be operational for the LAG itself to be operational.

#[serde(rename = "minimumLinks")] #[serde(skip_serializing_if = "Option::is_none")] pub minimum_links: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize)] #[cfg_attr(feature = "deserialize_structs", derive(Deserialize))] pub struct UpdateVirtualInterfaceAttributesRequest { ///

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

#[serde(rename = "mtu")] #[serde(skip_serializing_if = "Option::is_none")] pub mtu: Option, ///

The ID of the virtual private interface.

#[serde(rename = "virtualInterfaceId")] pub virtual_interface_id: String, } ///

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

#[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct VirtualGateway { ///

The ID of the virtual private gateway.

#[serde(rename = "virtualGatewayId")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_gateway_id: 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.

#[serde(rename = "virtualGatewayState")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_gateway_state: Option, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct VirtualGateways { ///

The virtual private gateways.

#[serde(rename = "virtualGateways")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_gateways: Option>, } ///

Information about a virtual interface.

#[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct VirtualInterface { ///

The address family for the BGP peer.

#[serde(rename = "addressFamily")] #[serde(skip_serializing_if = "Option::is_none")] pub address_family: Option, ///

The IP address assigned to the Amazon interface.

#[serde(rename = "amazonAddress")] #[serde(skip_serializing_if = "Option::is_none")] pub amazon_address: Option, ///

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

#[serde(rename = "amazonSideAsn")] #[serde(skip_serializing_if = "Option::is_none")] pub amazon_side_asn: Option, ///

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

The valid values are 1-2147483647.

#[serde(rename = "asn")] #[serde(skip_serializing_if = "Option::is_none")] pub asn: Option, ///

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

#[serde(rename = "authKey")] #[serde(skip_serializing_if = "Option::is_none")] pub auth_key: Option, ///

The Direct Connect endpoint on which the virtual interface terminates.

#[serde(rename = "awsDeviceV2")] #[serde(skip_serializing_if = "Option::is_none")] pub aws_device_v2: Option, ///

The BGP peers configured on this virtual interface.

#[serde(rename = "bgpPeers")] #[serde(skip_serializing_if = "Option::is_none")] pub bgp_peers: Option>, ///

The ID of the connection.

#[serde(rename = "connectionId")] #[serde(skip_serializing_if = "Option::is_none")] pub connection_id: Option, ///

The IP address assigned to the customer interface.

#[serde(rename = "customerAddress")] #[serde(skip_serializing_if = "Option::is_none")] pub customer_address: Option, ///

The customer router configuration.

#[serde(rename = "customerRouterConfig")] #[serde(skip_serializing_if = "Option::is_none")] pub customer_router_config: Option, ///

The ID of the Direct Connect gateway.

#[serde(rename = "directConnectGatewayId")] #[serde(skip_serializing_if = "Option::is_none")] pub direct_connect_gateway_id: Option, ///

Indicates whether jumbo frames (9001 MTU) are supported.

#[serde(rename = "jumboFrameCapable")] #[serde(skip_serializing_if = "Option::is_none")] pub jumbo_frame_capable: Option, ///

The location of the connection.

#[serde(rename = "location")] #[serde(skip_serializing_if = "Option::is_none")] pub location: Option, ///

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

#[serde(rename = "mtu")] #[serde(skip_serializing_if = "Option::is_none")] pub mtu: Option, ///

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

#[serde(rename = "ownerAccount")] #[serde(skip_serializing_if = "Option::is_none")] pub owner_account: Option, ///

The AWS Region where the virtual interface is located.

#[serde(rename = "region")] #[serde(skip_serializing_if = "Option::is_none")] pub region: Option, ///

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

#[serde(rename = "routeFilterPrefixes")] #[serde(skip_serializing_if = "Option::is_none")] pub route_filter_prefixes: Option>, ///

The tags associated with the virtual interface.

#[serde(rename = "tags")] #[serde(skip_serializing_if = "Option::is_none")] pub tags: Option>, ///

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

#[serde(rename = "virtualGatewayId")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_gateway_id: Option, ///

The ID of the virtual interface.

#[serde(rename = "virtualInterfaceId")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_interface_id: 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 (-).

#[serde(rename = "virtualInterfaceName")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_interface_name: 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.

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

#[serde(rename = "virtualInterfaceState")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_interface_state: Option, ///

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

#[serde(rename = "virtualInterfaceType")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_interface_type: Option, ///

The ID of the VLAN.

#[serde(rename = "vlan")] #[serde(skip_serializing_if = "Option::is_none")] pub vlan: Option, } ///

Information about the virtual interface failover test.

#[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct VirtualInterfaceTestHistory { ///

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

#[serde(rename = "bgpPeers")] #[serde(skip_serializing_if = "Option::is_none")] pub bgp_peers: Option>, ///

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

#[serde(rename = "endTime")] #[serde(skip_serializing_if = "Option::is_none")] pub end_time: Option, ///

The owner ID of the tested virtual interface.

#[serde(rename = "ownerAccount")] #[serde(skip_serializing_if = "Option::is_none")] pub owner_account: Option, ///

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

#[serde(rename = "startTime")] #[serde(skip_serializing_if = "Option::is_none")] pub start_time: Option, ///

The status of the virtual interface failover test.

#[serde(rename = "status")] #[serde(skip_serializing_if = "Option::is_none")] pub status: Option, ///

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

#[serde(rename = "testDurationInMinutes")] #[serde(skip_serializing_if = "Option::is_none")] pub test_duration_in_minutes: Option, ///

The ID of the virtual interface failover test.

#[serde(rename = "testId")] #[serde(skip_serializing_if = "Option::is_none")] pub test_id: Option, ///

The ID of the tested virtual interface.

#[serde(rename = "virtualInterfaceId")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_interface_id: Option, } #[derive(Clone, Debug, Default, Deserialize, PartialEq)] #[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))] pub struct VirtualInterfaces { ///

The virtual interfaces

#[serde(rename = "virtualInterfaces")] #[serde(skip_serializing_if = "Option::is_none")] pub virtual_interfaces: Option>, } /// Errors returned by AcceptDirectConnectGatewayAssociationProposal #[derive(Debug, PartialEq)] pub enum AcceptDirectConnectGatewayAssociationProposalError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl AcceptDirectConnectGatewayAssociationProposalError { pub fn from_response( res: BufferedHttpResponse, ) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( AcceptDirectConnectGatewayAssociationProposalError::DirectConnectClient( err.msg, ), ) } "DirectConnectServerException" => { return RusotoError::Service( AcceptDirectConnectGatewayAssociationProposalError::DirectConnectServer( err.msg, ), ) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for AcceptDirectConnectGatewayAssociationProposalError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { AcceptDirectConnectGatewayAssociationProposalError::DirectConnectClient(ref cause) => { write!(f, "{}", cause) } AcceptDirectConnectGatewayAssociationProposalError::DirectConnectServer(ref cause) => { write!(f, "{}", cause) } } } } impl Error for AcceptDirectConnectGatewayAssociationProposalError {} /// Errors returned by AllocateConnectionOnInterconnect #[derive(Debug, PartialEq)] pub enum AllocateConnectionOnInterconnectError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl AllocateConnectionOnInterconnectError { pub fn from_response( res: BufferedHttpResponse, ) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( AllocateConnectionOnInterconnectError::DirectConnectClient(err.msg), ) } "DirectConnectServerException" => { return RusotoError::Service( AllocateConnectionOnInterconnectError::DirectConnectServer(err.msg), ) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for AllocateConnectionOnInterconnectError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { AllocateConnectionOnInterconnectError::DirectConnectClient(ref cause) => { write!(f, "{}", cause) } AllocateConnectionOnInterconnectError::DirectConnectServer(ref cause) => { write!(f, "{}", cause) } } } } impl Error for AllocateConnectionOnInterconnectError {} /// Errors returned by AllocateHostedConnection #[derive(Debug, PartialEq)] pub enum AllocateHostedConnectionError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), ///

A tag key was specified more than once.

DuplicateTagKeys(String), ///

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

TooManyTags(String), } impl AllocateHostedConnectionError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( AllocateHostedConnectionError::DirectConnectClient(err.msg), ) } "DirectConnectServerException" => { return RusotoError::Service( AllocateHostedConnectionError::DirectConnectServer(err.msg), ) } "DuplicateTagKeysException" => { return RusotoError::Service(AllocateHostedConnectionError::DuplicateTagKeys( err.msg, )) } "TooManyTagsException" => { return RusotoError::Service(AllocateHostedConnectionError::TooManyTags( err.msg, )) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for AllocateHostedConnectionError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { AllocateHostedConnectionError::DirectConnectClient(ref cause) => write!(f, "{}", cause), AllocateHostedConnectionError::DirectConnectServer(ref cause) => write!(f, "{}", cause), AllocateHostedConnectionError::DuplicateTagKeys(ref cause) => write!(f, "{}", cause), AllocateHostedConnectionError::TooManyTags(ref cause) => write!(f, "{}", cause), } } } impl Error for AllocateHostedConnectionError {} /// Errors returned by AllocatePrivateVirtualInterface #[derive(Debug, PartialEq)] pub enum AllocatePrivateVirtualInterfaceError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), ///

A tag key was specified more than once.

DuplicateTagKeys(String), ///

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

TooManyTags(String), } impl AllocatePrivateVirtualInterfaceError { pub fn from_response( res: BufferedHttpResponse, ) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( AllocatePrivateVirtualInterfaceError::DirectConnectClient(err.msg), ) } "DirectConnectServerException" => { return RusotoError::Service( AllocatePrivateVirtualInterfaceError::DirectConnectServer(err.msg), ) } "DuplicateTagKeysException" => { return RusotoError::Service( AllocatePrivateVirtualInterfaceError::DuplicateTagKeys(err.msg), ) } "TooManyTagsException" => { return RusotoError::Service(AllocatePrivateVirtualInterfaceError::TooManyTags( err.msg, )) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for AllocatePrivateVirtualInterfaceError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { AllocatePrivateVirtualInterfaceError::DirectConnectClient(ref cause) => { write!(f, "{}", cause) } AllocatePrivateVirtualInterfaceError::DirectConnectServer(ref cause) => { write!(f, "{}", cause) } AllocatePrivateVirtualInterfaceError::DuplicateTagKeys(ref cause) => { write!(f, "{}", cause) } AllocatePrivateVirtualInterfaceError::TooManyTags(ref cause) => write!(f, "{}", cause), } } } impl Error for AllocatePrivateVirtualInterfaceError {} /// Errors returned by AllocatePublicVirtualInterface #[derive(Debug, PartialEq)] pub enum AllocatePublicVirtualInterfaceError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), ///

A tag key was specified more than once.

DuplicateTagKeys(String), ///

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

TooManyTags(String), } impl AllocatePublicVirtualInterfaceError { pub fn from_response( res: BufferedHttpResponse, ) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( AllocatePublicVirtualInterfaceError::DirectConnectClient(err.msg), ) } "DirectConnectServerException" => { return RusotoError::Service( AllocatePublicVirtualInterfaceError::DirectConnectServer(err.msg), ) } "DuplicateTagKeysException" => { return RusotoError::Service( AllocatePublicVirtualInterfaceError::DuplicateTagKeys(err.msg), ) } "TooManyTagsException" => { return RusotoError::Service(AllocatePublicVirtualInterfaceError::TooManyTags( err.msg, )) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for AllocatePublicVirtualInterfaceError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { AllocatePublicVirtualInterfaceError::DirectConnectClient(ref cause) => { write!(f, "{}", cause) } AllocatePublicVirtualInterfaceError::DirectConnectServer(ref cause) => { write!(f, "{}", cause) } AllocatePublicVirtualInterfaceError::DuplicateTagKeys(ref cause) => { write!(f, "{}", cause) } AllocatePublicVirtualInterfaceError::TooManyTags(ref cause) => write!(f, "{}", cause), } } } impl Error for AllocatePublicVirtualInterfaceError {} /// Errors returned by AllocateTransitVirtualInterface #[derive(Debug, PartialEq)] pub enum AllocateTransitVirtualInterfaceError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), ///

A tag key was specified more than once.

DuplicateTagKeys(String), ///

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

TooManyTags(String), } impl AllocateTransitVirtualInterfaceError { pub fn from_response( res: BufferedHttpResponse, ) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( AllocateTransitVirtualInterfaceError::DirectConnectClient(err.msg), ) } "DirectConnectServerException" => { return RusotoError::Service( AllocateTransitVirtualInterfaceError::DirectConnectServer(err.msg), ) } "DuplicateTagKeysException" => { return RusotoError::Service( AllocateTransitVirtualInterfaceError::DuplicateTagKeys(err.msg), ) } "TooManyTagsException" => { return RusotoError::Service(AllocateTransitVirtualInterfaceError::TooManyTags( err.msg, )) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for AllocateTransitVirtualInterfaceError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { AllocateTransitVirtualInterfaceError::DirectConnectClient(ref cause) => { write!(f, "{}", cause) } AllocateTransitVirtualInterfaceError::DirectConnectServer(ref cause) => { write!(f, "{}", cause) } AllocateTransitVirtualInterfaceError::DuplicateTagKeys(ref cause) => { write!(f, "{}", cause) } AllocateTransitVirtualInterfaceError::TooManyTags(ref cause) => write!(f, "{}", cause), } } } impl Error for AllocateTransitVirtualInterfaceError {} /// Errors returned by AssociateConnectionWithLag #[derive(Debug, PartialEq)] pub enum AssociateConnectionWithLagError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl AssociateConnectionWithLagError { pub fn from_response( res: BufferedHttpResponse, ) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( AssociateConnectionWithLagError::DirectConnectClient(err.msg), ) } "DirectConnectServerException" => { return RusotoError::Service( AssociateConnectionWithLagError::DirectConnectServer(err.msg), ) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for AssociateConnectionWithLagError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { AssociateConnectionWithLagError::DirectConnectClient(ref cause) => { write!(f, "{}", cause) } AssociateConnectionWithLagError::DirectConnectServer(ref cause) => { write!(f, "{}", cause) } } } } impl Error for AssociateConnectionWithLagError {} /// Errors returned by AssociateHostedConnection #[derive(Debug, PartialEq)] pub enum AssociateHostedConnectionError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl AssociateHostedConnectionError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( AssociateHostedConnectionError::DirectConnectClient(err.msg), ) } "DirectConnectServerException" => { return RusotoError::Service( AssociateHostedConnectionError::DirectConnectServer(err.msg), ) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for AssociateHostedConnectionError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { AssociateHostedConnectionError::DirectConnectClient(ref cause) => { write!(f, "{}", cause) } AssociateHostedConnectionError::DirectConnectServer(ref cause) => { write!(f, "{}", cause) } } } } impl Error for AssociateHostedConnectionError {} /// Errors returned by AssociateMacSecKey #[derive(Debug, PartialEq)] pub enum AssociateMacSecKeyError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl AssociateMacSecKeyError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service(AssociateMacSecKeyError::DirectConnectClient( err.msg, )) } "DirectConnectServerException" => { return RusotoError::Service(AssociateMacSecKeyError::DirectConnectServer( err.msg, )) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for AssociateMacSecKeyError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { AssociateMacSecKeyError::DirectConnectClient(ref cause) => write!(f, "{}", cause), AssociateMacSecKeyError::DirectConnectServer(ref cause) => write!(f, "{}", cause), } } } impl Error for AssociateMacSecKeyError {} /// Errors returned by AssociateVirtualInterface #[derive(Debug, PartialEq)] pub enum AssociateVirtualInterfaceError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl AssociateVirtualInterfaceError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( AssociateVirtualInterfaceError::DirectConnectClient(err.msg), ) } "DirectConnectServerException" => { return RusotoError::Service( AssociateVirtualInterfaceError::DirectConnectServer(err.msg), ) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for AssociateVirtualInterfaceError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { AssociateVirtualInterfaceError::DirectConnectClient(ref cause) => { write!(f, "{}", cause) } AssociateVirtualInterfaceError::DirectConnectServer(ref cause) => { write!(f, "{}", cause) } } } } impl Error for AssociateVirtualInterfaceError {} /// Errors returned by ConfirmConnection #[derive(Debug, PartialEq)] pub enum ConfirmConnectionError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl ConfirmConnectionError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service(ConfirmConnectionError::DirectConnectClient( err.msg, )) } "DirectConnectServerException" => { return RusotoError::Service(ConfirmConnectionError::DirectConnectServer( err.msg, )) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for ConfirmConnectionError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { ConfirmConnectionError::DirectConnectClient(ref cause) => write!(f, "{}", cause), ConfirmConnectionError::DirectConnectServer(ref cause) => write!(f, "{}", cause), } } } impl Error for ConfirmConnectionError {} /// Errors returned by ConfirmPrivateVirtualInterface #[derive(Debug, PartialEq)] pub enum ConfirmPrivateVirtualInterfaceError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl ConfirmPrivateVirtualInterfaceError { pub fn from_response( res: BufferedHttpResponse, ) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( ConfirmPrivateVirtualInterfaceError::DirectConnectClient(err.msg), ) } "DirectConnectServerException" => { return RusotoError::Service( ConfirmPrivateVirtualInterfaceError::DirectConnectServer(err.msg), ) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for ConfirmPrivateVirtualInterfaceError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { ConfirmPrivateVirtualInterfaceError::DirectConnectClient(ref cause) => { write!(f, "{}", cause) } ConfirmPrivateVirtualInterfaceError::DirectConnectServer(ref cause) => { write!(f, "{}", cause) } } } } impl Error for ConfirmPrivateVirtualInterfaceError {} /// Errors returned by ConfirmPublicVirtualInterface #[derive(Debug, PartialEq)] pub enum ConfirmPublicVirtualInterfaceError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl ConfirmPublicVirtualInterfaceError { pub fn from_response( res: BufferedHttpResponse, ) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( ConfirmPublicVirtualInterfaceError::DirectConnectClient(err.msg), ) } "DirectConnectServerException" => { return RusotoError::Service( ConfirmPublicVirtualInterfaceError::DirectConnectServer(err.msg), ) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for ConfirmPublicVirtualInterfaceError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { ConfirmPublicVirtualInterfaceError::DirectConnectClient(ref cause) => { write!(f, "{}", cause) } ConfirmPublicVirtualInterfaceError::DirectConnectServer(ref cause) => { write!(f, "{}", cause) } } } } impl Error for ConfirmPublicVirtualInterfaceError {} /// Errors returned by ConfirmTransitVirtualInterface #[derive(Debug, PartialEq)] pub enum ConfirmTransitVirtualInterfaceError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl ConfirmTransitVirtualInterfaceError { pub fn from_response( res: BufferedHttpResponse, ) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( ConfirmTransitVirtualInterfaceError::DirectConnectClient(err.msg), ) } "DirectConnectServerException" => { return RusotoError::Service( ConfirmTransitVirtualInterfaceError::DirectConnectServer(err.msg), ) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for ConfirmTransitVirtualInterfaceError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { ConfirmTransitVirtualInterfaceError::DirectConnectClient(ref cause) => { write!(f, "{}", cause) } ConfirmTransitVirtualInterfaceError::DirectConnectServer(ref cause) => { write!(f, "{}", cause) } } } } impl Error for ConfirmTransitVirtualInterfaceError {} /// Errors returned by CreateBGPPeer #[derive(Debug, PartialEq)] pub enum CreateBGPPeerError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl CreateBGPPeerError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service(CreateBGPPeerError::DirectConnectClient(err.msg)) } "DirectConnectServerException" => { return RusotoError::Service(CreateBGPPeerError::DirectConnectServer(err.msg)) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for CreateBGPPeerError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { CreateBGPPeerError::DirectConnectClient(ref cause) => write!(f, "{}", cause), CreateBGPPeerError::DirectConnectServer(ref cause) => write!(f, "{}", cause), } } } impl Error for CreateBGPPeerError {} /// Errors returned by CreateConnection #[derive(Debug, PartialEq)] pub enum CreateConnectionError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), ///

A tag key was specified more than once.

DuplicateTagKeys(String), ///

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

TooManyTags(String), } impl CreateConnectionError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service(CreateConnectionError::DirectConnectClient( err.msg, )) } "DirectConnectServerException" => { return RusotoError::Service(CreateConnectionError::DirectConnectServer( err.msg, )) } "DuplicateTagKeysException" => { return RusotoError::Service(CreateConnectionError::DuplicateTagKeys(err.msg)) } "TooManyTagsException" => { return RusotoError::Service(CreateConnectionError::TooManyTags(err.msg)) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for CreateConnectionError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { CreateConnectionError::DirectConnectClient(ref cause) => write!(f, "{}", cause), CreateConnectionError::DirectConnectServer(ref cause) => write!(f, "{}", cause), CreateConnectionError::DuplicateTagKeys(ref cause) => write!(f, "{}", cause), CreateConnectionError::TooManyTags(ref cause) => write!(f, "{}", cause), } } } impl Error for CreateConnectionError {} /// Errors returned by CreateDirectConnectGateway #[derive(Debug, PartialEq)] pub enum CreateDirectConnectGatewayError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl CreateDirectConnectGatewayError { pub fn from_response( res: BufferedHttpResponse, ) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( CreateDirectConnectGatewayError::DirectConnectClient(err.msg), ) } "DirectConnectServerException" => { return RusotoError::Service( CreateDirectConnectGatewayError::DirectConnectServer(err.msg), ) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for CreateDirectConnectGatewayError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { CreateDirectConnectGatewayError::DirectConnectClient(ref cause) => { write!(f, "{}", cause) } CreateDirectConnectGatewayError::DirectConnectServer(ref cause) => { write!(f, "{}", cause) } } } } impl Error for CreateDirectConnectGatewayError {} /// Errors returned by CreateDirectConnectGatewayAssociation #[derive(Debug, PartialEq)] pub enum CreateDirectConnectGatewayAssociationError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl CreateDirectConnectGatewayAssociationError { pub fn from_response( res: BufferedHttpResponse, ) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( CreateDirectConnectGatewayAssociationError::DirectConnectClient(err.msg), ) } "DirectConnectServerException" => { return RusotoError::Service( CreateDirectConnectGatewayAssociationError::DirectConnectServer(err.msg), ) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for CreateDirectConnectGatewayAssociationError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { CreateDirectConnectGatewayAssociationError::DirectConnectClient(ref cause) => { write!(f, "{}", cause) } CreateDirectConnectGatewayAssociationError::DirectConnectServer(ref cause) => { write!(f, "{}", cause) } } } } impl Error for CreateDirectConnectGatewayAssociationError {} /// Errors returned by CreateDirectConnectGatewayAssociationProposal #[derive(Debug, PartialEq)] pub enum CreateDirectConnectGatewayAssociationProposalError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl CreateDirectConnectGatewayAssociationProposalError { pub fn from_response( res: BufferedHttpResponse, ) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( CreateDirectConnectGatewayAssociationProposalError::DirectConnectClient( err.msg, ), ) } "DirectConnectServerException" => { return RusotoError::Service( CreateDirectConnectGatewayAssociationProposalError::DirectConnectServer( err.msg, ), ) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for CreateDirectConnectGatewayAssociationProposalError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { CreateDirectConnectGatewayAssociationProposalError::DirectConnectClient(ref cause) => { write!(f, "{}", cause) } CreateDirectConnectGatewayAssociationProposalError::DirectConnectServer(ref cause) => { write!(f, "{}", cause) } } } } impl Error for CreateDirectConnectGatewayAssociationProposalError {} /// Errors returned by CreateInterconnect #[derive(Debug, PartialEq)] pub enum CreateInterconnectError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), ///

A tag key was specified more than once.

DuplicateTagKeys(String), ///

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

TooManyTags(String), } impl CreateInterconnectError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service(CreateInterconnectError::DirectConnectClient( err.msg, )) } "DirectConnectServerException" => { return RusotoError::Service(CreateInterconnectError::DirectConnectServer( err.msg, )) } "DuplicateTagKeysException" => { return RusotoError::Service(CreateInterconnectError::DuplicateTagKeys(err.msg)) } "TooManyTagsException" => { return RusotoError::Service(CreateInterconnectError::TooManyTags(err.msg)) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for CreateInterconnectError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { CreateInterconnectError::DirectConnectClient(ref cause) => write!(f, "{}", cause), CreateInterconnectError::DirectConnectServer(ref cause) => write!(f, "{}", cause), CreateInterconnectError::DuplicateTagKeys(ref cause) => write!(f, "{}", cause), CreateInterconnectError::TooManyTags(ref cause) => write!(f, "{}", cause), } } } impl Error for CreateInterconnectError {} /// Errors returned by CreateLag #[derive(Debug, PartialEq)] pub enum CreateLagError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), ///

A tag key was specified more than once.

DuplicateTagKeys(String), ///

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

TooManyTags(String), } impl CreateLagError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service(CreateLagError::DirectConnectClient(err.msg)) } "DirectConnectServerException" => { return RusotoError::Service(CreateLagError::DirectConnectServer(err.msg)) } "DuplicateTagKeysException" => { return RusotoError::Service(CreateLagError::DuplicateTagKeys(err.msg)) } "TooManyTagsException" => { return RusotoError::Service(CreateLagError::TooManyTags(err.msg)) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for CreateLagError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { CreateLagError::DirectConnectClient(ref cause) => write!(f, "{}", cause), CreateLagError::DirectConnectServer(ref cause) => write!(f, "{}", cause), CreateLagError::DuplicateTagKeys(ref cause) => write!(f, "{}", cause), CreateLagError::TooManyTags(ref cause) => write!(f, "{}", cause), } } } impl Error for CreateLagError {} /// Errors returned by CreatePrivateVirtualInterface #[derive(Debug, PartialEq)] pub enum CreatePrivateVirtualInterfaceError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), ///

A tag key was specified more than once.

DuplicateTagKeys(String), ///

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

TooManyTags(String), } impl CreatePrivateVirtualInterfaceError { pub fn from_response( res: BufferedHttpResponse, ) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( CreatePrivateVirtualInterfaceError::DirectConnectClient(err.msg), ) } "DirectConnectServerException" => { return RusotoError::Service( CreatePrivateVirtualInterfaceError::DirectConnectServer(err.msg), ) } "DuplicateTagKeysException" => { return RusotoError::Service( CreatePrivateVirtualInterfaceError::DuplicateTagKeys(err.msg), ) } "TooManyTagsException" => { return RusotoError::Service(CreatePrivateVirtualInterfaceError::TooManyTags( err.msg, )) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for CreatePrivateVirtualInterfaceError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { CreatePrivateVirtualInterfaceError::DirectConnectClient(ref cause) => { write!(f, "{}", cause) } CreatePrivateVirtualInterfaceError::DirectConnectServer(ref cause) => { write!(f, "{}", cause) } CreatePrivateVirtualInterfaceError::DuplicateTagKeys(ref cause) => { write!(f, "{}", cause) } CreatePrivateVirtualInterfaceError::TooManyTags(ref cause) => write!(f, "{}", cause), } } } impl Error for CreatePrivateVirtualInterfaceError {} /// Errors returned by CreatePublicVirtualInterface #[derive(Debug, PartialEq)] pub enum CreatePublicVirtualInterfaceError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), ///

A tag key was specified more than once.

DuplicateTagKeys(String), ///

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

TooManyTags(String), } impl CreatePublicVirtualInterfaceError { pub fn from_response( res: BufferedHttpResponse, ) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( CreatePublicVirtualInterfaceError::DirectConnectClient(err.msg), ) } "DirectConnectServerException" => { return RusotoError::Service( CreatePublicVirtualInterfaceError::DirectConnectServer(err.msg), ) } "DuplicateTagKeysException" => { return RusotoError::Service( CreatePublicVirtualInterfaceError::DuplicateTagKeys(err.msg), ) } "TooManyTagsException" => { return RusotoError::Service(CreatePublicVirtualInterfaceError::TooManyTags( err.msg, )) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for CreatePublicVirtualInterfaceError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { CreatePublicVirtualInterfaceError::DirectConnectClient(ref cause) => { write!(f, "{}", cause) } CreatePublicVirtualInterfaceError::DirectConnectServer(ref cause) => { write!(f, "{}", cause) } CreatePublicVirtualInterfaceError::DuplicateTagKeys(ref cause) => { write!(f, "{}", cause) } CreatePublicVirtualInterfaceError::TooManyTags(ref cause) => write!(f, "{}", cause), } } } impl Error for CreatePublicVirtualInterfaceError {} /// Errors returned by CreateTransitVirtualInterface #[derive(Debug, PartialEq)] pub enum CreateTransitVirtualInterfaceError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), ///

A tag key was specified more than once.

DuplicateTagKeys(String), ///

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

TooManyTags(String), } impl CreateTransitVirtualInterfaceError { pub fn from_response( res: BufferedHttpResponse, ) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( CreateTransitVirtualInterfaceError::DirectConnectClient(err.msg), ) } "DirectConnectServerException" => { return RusotoError::Service( CreateTransitVirtualInterfaceError::DirectConnectServer(err.msg), ) } "DuplicateTagKeysException" => { return RusotoError::Service( CreateTransitVirtualInterfaceError::DuplicateTagKeys(err.msg), ) } "TooManyTagsException" => { return RusotoError::Service(CreateTransitVirtualInterfaceError::TooManyTags( err.msg, )) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for CreateTransitVirtualInterfaceError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { CreateTransitVirtualInterfaceError::DirectConnectClient(ref cause) => { write!(f, "{}", cause) } CreateTransitVirtualInterfaceError::DirectConnectServer(ref cause) => { write!(f, "{}", cause) } CreateTransitVirtualInterfaceError::DuplicateTagKeys(ref cause) => { write!(f, "{}", cause) } CreateTransitVirtualInterfaceError::TooManyTags(ref cause) => write!(f, "{}", cause), } } } impl Error for CreateTransitVirtualInterfaceError {} /// Errors returned by DeleteBGPPeer #[derive(Debug, PartialEq)] pub enum DeleteBGPPeerError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl DeleteBGPPeerError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service(DeleteBGPPeerError::DirectConnectClient(err.msg)) } "DirectConnectServerException" => { return RusotoError::Service(DeleteBGPPeerError::DirectConnectServer(err.msg)) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for DeleteBGPPeerError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { DeleteBGPPeerError::DirectConnectClient(ref cause) => write!(f, "{}", cause), DeleteBGPPeerError::DirectConnectServer(ref cause) => write!(f, "{}", cause), } } } impl Error for DeleteBGPPeerError {} /// Errors returned by DeleteConnection #[derive(Debug, PartialEq)] pub enum DeleteConnectionError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl DeleteConnectionError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service(DeleteConnectionError::DirectConnectClient( err.msg, )) } "DirectConnectServerException" => { return RusotoError::Service(DeleteConnectionError::DirectConnectServer( err.msg, )) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for DeleteConnectionError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { DeleteConnectionError::DirectConnectClient(ref cause) => write!(f, "{}", cause), DeleteConnectionError::DirectConnectServer(ref cause) => write!(f, "{}", cause), } } } impl Error for DeleteConnectionError {} /// Errors returned by DeleteDirectConnectGateway #[derive(Debug, PartialEq)] pub enum DeleteDirectConnectGatewayError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl DeleteDirectConnectGatewayError { pub fn from_response( res: BufferedHttpResponse, ) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( DeleteDirectConnectGatewayError::DirectConnectClient(err.msg), ) } "DirectConnectServerException" => { return RusotoError::Service( DeleteDirectConnectGatewayError::DirectConnectServer(err.msg), ) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for DeleteDirectConnectGatewayError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { DeleteDirectConnectGatewayError::DirectConnectClient(ref cause) => { write!(f, "{}", cause) } DeleteDirectConnectGatewayError::DirectConnectServer(ref cause) => { write!(f, "{}", cause) } } } } impl Error for DeleteDirectConnectGatewayError {} /// Errors returned by DeleteDirectConnectGatewayAssociation #[derive(Debug, PartialEq)] pub enum DeleteDirectConnectGatewayAssociationError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl DeleteDirectConnectGatewayAssociationError { pub fn from_response( res: BufferedHttpResponse, ) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( DeleteDirectConnectGatewayAssociationError::DirectConnectClient(err.msg), ) } "DirectConnectServerException" => { return RusotoError::Service( DeleteDirectConnectGatewayAssociationError::DirectConnectServer(err.msg), ) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for DeleteDirectConnectGatewayAssociationError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { DeleteDirectConnectGatewayAssociationError::DirectConnectClient(ref cause) => { write!(f, "{}", cause) } DeleteDirectConnectGatewayAssociationError::DirectConnectServer(ref cause) => { write!(f, "{}", cause) } } } } impl Error for DeleteDirectConnectGatewayAssociationError {} /// Errors returned by DeleteDirectConnectGatewayAssociationProposal #[derive(Debug, PartialEq)] pub enum DeleteDirectConnectGatewayAssociationProposalError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl DeleteDirectConnectGatewayAssociationProposalError { pub fn from_response( res: BufferedHttpResponse, ) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( DeleteDirectConnectGatewayAssociationProposalError::DirectConnectClient( err.msg, ), ) } "DirectConnectServerException" => { return RusotoError::Service( DeleteDirectConnectGatewayAssociationProposalError::DirectConnectServer( err.msg, ), ) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for DeleteDirectConnectGatewayAssociationProposalError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { DeleteDirectConnectGatewayAssociationProposalError::DirectConnectClient(ref cause) => { write!(f, "{}", cause) } DeleteDirectConnectGatewayAssociationProposalError::DirectConnectServer(ref cause) => { write!(f, "{}", cause) } } } } impl Error for DeleteDirectConnectGatewayAssociationProposalError {} /// Errors returned by DeleteInterconnect #[derive(Debug, PartialEq)] pub enum DeleteInterconnectError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl DeleteInterconnectError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service(DeleteInterconnectError::DirectConnectClient( err.msg, )) } "DirectConnectServerException" => { return RusotoError::Service(DeleteInterconnectError::DirectConnectServer( err.msg, )) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for DeleteInterconnectError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { DeleteInterconnectError::DirectConnectClient(ref cause) => write!(f, "{}", cause), DeleteInterconnectError::DirectConnectServer(ref cause) => write!(f, "{}", cause), } } } impl Error for DeleteInterconnectError {} /// Errors returned by DeleteLag #[derive(Debug, PartialEq)] pub enum DeleteLagError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl DeleteLagError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service(DeleteLagError::DirectConnectClient(err.msg)) } "DirectConnectServerException" => { return RusotoError::Service(DeleteLagError::DirectConnectServer(err.msg)) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for DeleteLagError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { DeleteLagError::DirectConnectClient(ref cause) => write!(f, "{}", cause), DeleteLagError::DirectConnectServer(ref cause) => write!(f, "{}", cause), } } } impl Error for DeleteLagError {} /// Errors returned by DeleteVirtualInterface #[derive(Debug, PartialEq)] pub enum DeleteVirtualInterfaceError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl DeleteVirtualInterfaceError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service(DeleteVirtualInterfaceError::DirectConnectClient( err.msg, )) } "DirectConnectServerException" => { return RusotoError::Service(DeleteVirtualInterfaceError::DirectConnectServer( err.msg, )) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for DeleteVirtualInterfaceError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { DeleteVirtualInterfaceError::DirectConnectClient(ref cause) => write!(f, "{}", cause), DeleteVirtualInterfaceError::DirectConnectServer(ref cause) => write!(f, "{}", cause), } } } impl Error for DeleteVirtualInterfaceError {} /// Errors returned by DescribeConnectionLoa #[derive(Debug, PartialEq)] pub enum DescribeConnectionLoaError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl DescribeConnectionLoaError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service(DescribeConnectionLoaError::DirectConnectClient( err.msg, )) } "DirectConnectServerException" => { return RusotoError::Service(DescribeConnectionLoaError::DirectConnectServer( err.msg, )) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for DescribeConnectionLoaError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { DescribeConnectionLoaError::DirectConnectClient(ref cause) => write!(f, "{}", cause), DescribeConnectionLoaError::DirectConnectServer(ref cause) => write!(f, "{}", cause), } } } impl Error for DescribeConnectionLoaError {} /// Errors returned by DescribeConnections #[derive(Debug, PartialEq)] pub enum DescribeConnectionsError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl DescribeConnectionsError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service(DescribeConnectionsError::DirectConnectClient( err.msg, )) } "DirectConnectServerException" => { return RusotoError::Service(DescribeConnectionsError::DirectConnectServer( err.msg, )) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for DescribeConnectionsError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { DescribeConnectionsError::DirectConnectClient(ref cause) => write!(f, "{}", cause), DescribeConnectionsError::DirectConnectServer(ref cause) => write!(f, "{}", cause), } } } impl Error for DescribeConnectionsError {} /// Errors returned by DescribeConnectionsOnInterconnect #[derive(Debug, PartialEq)] pub enum DescribeConnectionsOnInterconnectError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl DescribeConnectionsOnInterconnectError { pub fn from_response( res: BufferedHttpResponse, ) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( DescribeConnectionsOnInterconnectError::DirectConnectClient(err.msg), ) } "DirectConnectServerException" => { return RusotoError::Service( DescribeConnectionsOnInterconnectError::DirectConnectServer(err.msg), ) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for DescribeConnectionsOnInterconnectError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { DescribeConnectionsOnInterconnectError::DirectConnectClient(ref cause) => { write!(f, "{}", cause) } DescribeConnectionsOnInterconnectError::DirectConnectServer(ref cause) => { write!(f, "{}", cause) } } } } impl Error for DescribeConnectionsOnInterconnectError {} /// Errors returned by DescribeDirectConnectGatewayAssociationProposals #[derive(Debug, PartialEq)] pub enum DescribeDirectConnectGatewayAssociationProposalsError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl DescribeDirectConnectGatewayAssociationProposalsError { pub fn from_response( res: BufferedHttpResponse, ) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( DescribeDirectConnectGatewayAssociationProposalsError::DirectConnectClient( err.msg, ), ) } "DirectConnectServerException" => { return RusotoError::Service( DescribeDirectConnectGatewayAssociationProposalsError::DirectConnectServer( err.msg, ), ) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for DescribeDirectConnectGatewayAssociationProposalsError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { DescribeDirectConnectGatewayAssociationProposalsError::DirectConnectClient( ref cause, ) => write!(f, "{}", cause), DescribeDirectConnectGatewayAssociationProposalsError::DirectConnectServer( ref cause, ) => write!(f, "{}", cause), } } } impl Error for DescribeDirectConnectGatewayAssociationProposalsError {} /// Errors returned by DescribeDirectConnectGatewayAssociations #[derive(Debug, PartialEq)] pub enum DescribeDirectConnectGatewayAssociationsError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl DescribeDirectConnectGatewayAssociationsError { pub fn from_response( res: BufferedHttpResponse, ) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( DescribeDirectConnectGatewayAssociationsError::DirectConnectClient(err.msg), ) } "DirectConnectServerException" => { return RusotoError::Service( DescribeDirectConnectGatewayAssociationsError::DirectConnectServer(err.msg), ) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for DescribeDirectConnectGatewayAssociationsError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { DescribeDirectConnectGatewayAssociationsError::DirectConnectClient(ref cause) => { write!(f, "{}", cause) } DescribeDirectConnectGatewayAssociationsError::DirectConnectServer(ref cause) => { write!(f, "{}", cause) } } } } impl Error for DescribeDirectConnectGatewayAssociationsError {} /// Errors returned by DescribeDirectConnectGatewayAttachments #[derive(Debug, PartialEq)] pub enum DescribeDirectConnectGatewayAttachmentsError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl DescribeDirectConnectGatewayAttachmentsError { pub fn from_response( res: BufferedHttpResponse, ) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( DescribeDirectConnectGatewayAttachmentsError::DirectConnectClient(err.msg), ) } "DirectConnectServerException" => { return RusotoError::Service( DescribeDirectConnectGatewayAttachmentsError::DirectConnectServer(err.msg), ) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for DescribeDirectConnectGatewayAttachmentsError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { DescribeDirectConnectGatewayAttachmentsError::DirectConnectClient(ref cause) => { write!(f, "{}", cause) } DescribeDirectConnectGatewayAttachmentsError::DirectConnectServer(ref cause) => { write!(f, "{}", cause) } } } } impl Error for DescribeDirectConnectGatewayAttachmentsError {} /// Errors returned by DescribeDirectConnectGateways #[derive(Debug, PartialEq)] pub enum DescribeDirectConnectGatewaysError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl DescribeDirectConnectGatewaysError { pub fn from_response( res: BufferedHttpResponse, ) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( DescribeDirectConnectGatewaysError::DirectConnectClient(err.msg), ) } "DirectConnectServerException" => { return RusotoError::Service( DescribeDirectConnectGatewaysError::DirectConnectServer(err.msg), ) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for DescribeDirectConnectGatewaysError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { DescribeDirectConnectGatewaysError::DirectConnectClient(ref cause) => { write!(f, "{}", cause) } DescribeDirectConnectGatewaysError::DirectConnectServer(ref cause) => { write!(f, "{}", cause) } } } } impl Error for DescribeDirectConnectGatewaysError {} /// Errors returned by DescribeHostedConnections #[derive(Debug, PartialEq)] pub enum DescribeHostedConnectionsError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl DescribeHostedConnectionsError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( DescribeHostedConnectionsError::DirectConnectClient(err.msg), ) } "DirectConnectServerException" => { return RusotoError::Service( DescribeHostedConnectionsError::DirectConnectServer(err.msg), ) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for DescribeHostedConnectionsError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { DescribeHostedConnectionsError::DirectConnectClient(ref cause) => { write!(f, "{}", cause) } DescribeHostedConnectionsError::DirectConnectServer(ref cause) => { write!(f, "{}", cause) } } } } impl Error for DescribeHostedConnectionsError {} /// Errors returned by DescribeInterconnectLoa #[derive(Debug, PartialEq)] pub enum DescribeInterconnectLoaError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl DescribeInterconnectLoaError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service(DescribeInterconnectLoaError::DirectConnectClient( err.msg, )) } "DirectConnectServerException" => { return RusotoError::Service(DescribeInterconnectLoaError::DirectConnectServer( err.msg, )) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for DescribeInterconnectLoaError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { DescribeInterconnectLoaError::DirectConnectClient(ref cause) => write!(f, "{}", cause), DescribeInterconnectLoaError::DirectConnectServer(ref cause) => write!(f, "{}", cause), } } } impl Error for DescribeInterconnectLoaError {} /// Errors returned by DescribeInterconnects #[derive(Debug, PartialEq)] pub enum DescribeInterconnectsError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl DescribeInterconnectsError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service(DescribeInterconnectsError::DirectConnectClient( err.msg, )) } "DirectConnectServerException" => { return RusotoError::Service(DescribeInterconnectsError::DirectConnectServer( err.msg, )) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for DescribeInterconnectsError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { DescribeInterconnectsError::DirectConnectClient(ref cause) => write!(f, "{}", cause), DescribeInterconnectsError::DirectConnectServer(ref cause) => write!(f, "{}", cause), } } } impl Error for DescribeInterconnectsError {} /// Errors returned by DescribeLags #[derive(Debug, PartialEq)] pub enum DescribeLagsError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl DescribeLagsError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service(DescribeLagsError::DirectConnectClient(err.msg)) } "DirectConnectServerException" => { return RusotoError::Service(DescribeLagsError::DirectConnectServer(err.msg)) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for DescribeLagsError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { DescribeLagsError::DirectConnectClient(ref cause) => write!(f, "{}", cause), DescribeLagsError::DirectConnectServer(ref cause) => write!(f, "{}", cause), } } } impl Error for DescribeLagsError {} /// Errors returned by DescribeLoa #[derive(Debug, PartialEq)] pub enum DescribeLoaError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl DescribeLoaError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service(DescribeLoaError::DirectConnectClient(err.msg)) } "DirectConnectServerException" => { return RusotoError::Service(DescribeLoaError::DirectConnectServer(err.msg)) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for DescribeLoaError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { DescribeLoaError::DirectConnectClient(ref cause) => write!(f, "{}", cause), DescribeLoaError::DirectConnectServer(ref cause) => write!(f, "{}", cause), } } } impl Error for DescribeLoaError {} /// Errors returned by DescribeLocations #[derive(Debug, PartialEq)] pub enum DescribeLocationsError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl DescribeLocationsError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service(DescribeLocationsError::DirectConnectClient( err.msg, )) } "DirectConnectServerException" => { return RusotoError::Service(DescribeLocationsError::DirectConnectServer( err.msg, )) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for DescribeLocationsError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { DescribeLocationsError::DirectConnectClient(ref cause) => write!(f, "{}", cause), DescribeLocationsError::DirectConnectServer(ref cause) => write!(f, "{}", cause), } } } impl Error for DescribeLocationsError {} /// Errors returned by DescribeTags #[derive(Debug, PartialEq)] pub enum DescribeTagsError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl DescribeTagsError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service(DescribeTagsError::DirectConnectClient(err.msg)) } "DirectConnectServerException" => { return RusotoError::Service(DescribeTagsError::DirectConnectServer(err.msg)) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for DescribeTagsError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { DescribeTagsError::DirectConnectClient(ref cause) => write!(f, "{}", cause), DescribeTagsError::DirectConnectServer(ref cause) => write!(f, "{}", cause), } } } impl Error for DescribeTagsError {} /// Errors returned by DescribeVirtualGateways #[derive(Debug, PartialEq)] pub enum DescribeVirtualGatewaysError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl DescribeVirtualGatewaysError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service(DescribeVirtualGatewaysError::DirectConnectClient( err.msg, )) } "DirectConnectServerException" => { return RusotoError::Service(DescribeVirtualGatewaysError::DirectConnectServer( err.msg, )) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for DescribeVirtualGatewaysError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { DescribeVirtualGatewaysError::DirectConnectClient(ref cause) => write!(f, "{}", cause), DescribeVirtualGatewaysError::DirectConnectServer(ref cause) => write!(f, "{}", cause), } } } impl Error for DescribeVirtualGatewaysError {} /// Errors returned by DescribeVirtualInterfaces #[derive(Debug, PartialEq)] pub enum DescribeVirtualInterfacesError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl DescribeVirtualInterfacesError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( DescribeVirtualInterfacesError::DirectConnectClient(err.msg), ) } "DirectConnectServerException" => { return RusotoError::Service( DescribeVirtualInterfacesError::DirectConnectServer(err.msg), ) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for DescribeVirtualInterfacesError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { DescribeVirtualInterfacesError::DirectConnectClient(ref cause) => { write!(f, "{}", cause) } DescribeVirtualInterfacesError::DirectConnectServer(ref cause) => { write!(f, "{}", cause) } } } } impl Error for DescribeVirtualInterfacesError {} /// Errors returned by DisassociateConnectionFromLag #[derive(Debug, PartialEq)] pub enum DisassociateConnectionFromLagError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl DisassociateConnectionFromLagError { pub fn from_response( res: BufferedHttpResponse, ) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( DisassociateConnectionFromLagError::DirectConnectClient(err.msg), ) } "DirectConnectServerException" => { return RusotoError::Service( DisassociateConnectionFromLagError::DirectConnectServer(err.msg), ) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for DisassociateConnectionFromLagError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { DisassociateConnectionFromLagError::DirectConnectClient(ref cause) => { write!(f, "{}", cause) } DisassociateConnectionFromLagError::DirectConnectServer(ref cause) => { write!(f, "{}", cause) } } } } impl Error for DisassociateConnectionFromLagError {} /// Errors returned by DisassociateMacSecKey #[derive(Debug, PartialEq)] pub enum DisassociateMacSecKeyError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl DisassociateMacSecKeyError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service(DisassociateMacSecKeyError::DirectConnectClient( err.msg, )) } "DirectConnectServerException" => { return RusotoError::Service(DisassociateMacSecKeyError::DirectConnectServer( err.msg, )) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for DisassociateMacSecKeyError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { DisassociateMacSecKeyError::DirectConnectClient(ref cause) => write!(f, "{}", cause), DisassociateMacSecKeyError::DirectConnectServer(ref cause) => write!(f, "{}", cause), } } } impl Error for DisassociateMacSecKeyError {} /// Errors returned by ListVirtualInterfaceTestHistory #[derive(Debug, PartialEq)] pub enum ListVirtualInterfaceTestHistoryError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl ListVirtualInterfaceTestHistoryError { pub fn from_response( res: BufferedHttpResponse, ) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( ListVirtualInterfaceTestHistoryError::DirectConnectClient(err.msg), ) } "DirectConnectServerException" => { return RusotoError::Service( ListVirtualInterfaceTestHistoryError::DirectConnectServer(err.msg), ) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for ListVirtualInterfaceTestHistoryError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { ListVirtualInterfaceTestHistoryError::DirectConnectClient(ref cause) => { write!(f, "{}", cause) } ListVirtualInterfaceTestHistoryError::DirectConnectServer(ref cause) => { write!(f, "{}", cause) } } } } impl Error for ListVirtualInterfaceTestHistoryError {} /// Errors returned by StartBgpFailoverTest #[derive(Debug, PartialEq)] pub enum StartBgpFailoverTestError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl StartBgpFailoverTestError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service(StartBgpFailoverTestError::DirectConnectClient( err.msg, )) } "DirectConnectServerException" => { return RusotoError::Service(StartBgpFailoverTestError::DirectConnectServer( err.msg, )) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for StartBgpFailoverTestError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { StartBgpFailoverTestError::DirectConnectClient(ref cause) => write!(f, "{}", cause), StartBgpFailoverTestError::DirectConnectServer(ref cause) => write!(f, "{}", cause), } } } impl Error for StartBgpFailoverTestError {} /// Errors returned by StopBgpFailoverTest #[derive(Debug, PartialEq)] pub enum StopBgpFailoverTestError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl StopBgpFailoverTestError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service(StopBgpFailoverTestError::DirectConnectClient( err.msg, )) } "DirectConnectServerException" => { return RusotoError::Service(StopBgpFailoverTestError::DirectConnectServer( err.msg, )) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for StopBgpFailoverTestError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { StopBgpFailoverTestError::DirectConnectClient(ref cause) => write!(f, "{}", cause), StopBgpFailoverTestError::DirectConnectServer(ref cause) => write!(f, "{}", cause), } } } impl Error for StopBgpFailoverTestError {} /// Errors returned by TagResource #[derive(Debug, PartialEq)] pub enum TagResourceError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), ///

A tag key was specified more than once.

DuplicateTagKeys(String), ///

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

TooManyTags(String), } impl TagResourceError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service(TagResourceError::DirectConnectClient(err.msg)) } "DirectConnectServerException" => { return RusotoError::Service(TagResourceError::DirectConnectServer(err.msg)) } "DuplicateTagKeysException" => { return RusotoError::Service(TagResourceError::DuplicateTagKeys(err.msg)) } "TooManyTagsException" => { return RusotoError::Service(TagResourceError::TooManyTags(err.msg)) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for TagResourceError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { TagResourceError::DirectConnectClient(ref cause) => write!(f, "{}", cause), TagResourceError::DirectConnectServer(ref cause) => write!(f, "{}", cause), TagResourceError::DuplicateTagKeys(ref cause) => write!(f, "{}", cause), TagResourceError::TooManyTags(ref cause) => write!(f, "{}", cause), } } } impl Error for TagResourceError {} /// Errors returned by UntagResource #[derive(Debug, PartialEq)] pub enum UntagResourceError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl UntagResourceError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service(UntagResourceError::DirectConnectClient(err.msg)) } "DirectConnectServerException" => { return RusotoError::Service(UntagResourceError::DirectConnectServer(err.msg)) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for UntagResourceError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { UntagResourceError::DirectConnectClient(ref cause) => write!(f, "{}", cause), UntagResourceError::DirectConnectServer(ref cause) => write!(f, "{}", cause), } } } impl Error for UntagResourceError {} /// Errors returned by UpdateConnection #[derive(Debug, PartialEq)] pub enum UpdateConnectionError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl UpdateConnectionError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service(UpdateConnectionError::DirectConnectClient( err.msg, )) } "DirectConnectServerException" => { return RusotoError::Service(UpdateConnectionError::DirectConnectServer( err.msg, )) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for UpdateConnectionError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { UpdateConnectionError::DirectConnectClient(ref cause) => write!(f, "{}", cause), UpdateConnectionError::DirectConnectServer(ref cause) => write!(f, "{}", cause), } } } impl Error for UpdateConnectionError {} /// Errors returned by UpdateDirectConnectGatewayAssociation #[derive(Debug, PartialEq)] pub enum UpdateDirectConnectGatewayAssociationError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl UpdateDirectConnectGatewayAssociationError { pub fn from_response( res: BufferedHttpResponse, ) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( UpdateDirectConnectGatewayAssociationError::DirectConnectClient(err.msg), ) } "DirectConnectServerException" => { return RusotoError::Service( UpdateDirectConnectGatewayAssociationError::DirectConnectServer(err.msg), ) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for UpdateDirectConnectGatewayAssociationError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { UpdateDirectConnectGatewayAssociationError::DirectConnectClient(ref cause) => { write!(f, "{}", cause) } UpdateDirectConnectGatewayAssociationError::DirectConnectServer(ref cause) => { write!(f, "{}", cause) } } } } impl Error for UpdateDirectConnectGatewayAssociationError {} /// Errors returned by UpdateLag #[derive(Debug, PartialEq)] pub enum UpdateLagError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl UpdateLagError { pub fn from_response(res: BufferedHttpResponse) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service(UpdateLagError::DirectConnectClient(err.msg)) } "DirectConnectServerException" => { return RusotoError::Service(UpdateLagError::DirectConnectServer(err.msg)) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for UpdateLagError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { UpdateLagError::DirectConnectClient(ref cause) => write!(f, "{}", cause), UpdateLagError::DirectConnectServer(ref cause) => write!(f, "{}", cause), } } } impl Error for UpdateLagError {} /// Errors returned by UpdateVirtualInterfaceAttributes #[derive(Debug, PartialEq)] pub enum UpdateVirtualInterfaceAttributesError { ///

One or more parameters are not valid.

DirectConnectClient(String), ///

A server-side error occurred.

DirectConnectServer(String), } impl UpdateVirtualInterfaceAttributesError { pub fn from_response( res: BufferedHttpResponse, ) -> RusotoError { if let Some(err) = proto::json::Error::parse(&res) { match err.typ.as_str() { "DirectConnectClientException" => { return RusotoError::Service( UpdateVirtualInterfaceAttributesError::DirectConnectClient(err.msg), ) } "DirectConnectServerException" => { return RusotoError::Service( UpdateVirtualInterfaceAttributesError::DirectConnectServer(err.msg), ) } "ValidationException" => return RusotoError::Validation(err.msg), _ => {} } } RusotoError::Unknown(res) } } impl fmt::Display for UpdateVirtualInterfaceAttributesError { #[allow(unused_variables)] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { UpdateVirtualInterfaceAttributesError::DirectConnectClient(ref cause) => { write!(f, "{}", cause) } UpdateVirtualInterfaceAttributesError::DirectConnectServer(ref cause) => { write!(f, "{}", cause) } } } } impl Error for UpdateVirtualInterfaceAttributesError {} /// Trait representing the capabilities of the AWS Direct Connect API. AWS Direct Connect clients implement this trait. #[async_trait] pub trait DirectConnect { ///

Accepts a proposal request to attach a virtual private gateway or transit gateway to a Direct Connect gateway.

async fn accept_direct_connect_gateway_association_proposal( &self, input: AcceptDirectConnectGatewayAssociationProposalRequest, ) -> Result< AcceptDirectConnectGatewayAssociationProposalResult, RusotoError, >; ///

Deprecated. Use AllocateHostedConnection instead.

Creates a hosted connection on an interconnect.

Allocates a VLAN number and a specified amount of bandwidth for use by a hosted connection on the specified interconnect.

Intended for use by AWS Direct Connect Partners only.

async fn allocate_connection_on_interconnect( &self, input: AllocateConnectionOnInterconnectRequest, ) -> Result>; ///

Creates a hosted connection on the specified interconnect or a link aggregation group (LAG) of interconnects.

Allocates a VLAN number and a specified amount of capacity (bandwidth) for use by a hosted connection on the specified interconnect or LAG of interconnects. AWS polices the hosted connection for the specified capacity and the AWS Direct Connect Partner must also police the hosted connection for the specified capacity.

Intended for use by AWS Direct Connect Partners only.

async fn allocate_hosted_connection( &self, input: AllocateHostedConnectionRequest, ) -> Result>; ///

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

Virtual interfaces created using this action must be confirmed by the owner using ConfirmPrivateVirtualInterface. Until then, the virtual interface is in the Confirming state and is not available to handle traffic.

async fn allocate_private_virtual_interface( &self, input: AllocatePrivateVirtualInterfaceRequest, ) -> Result>; ///

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

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

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

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

async fn allocate_public_virtual_interface( &self, input: AllocatePublicVirtualInterfaceRequest, ) -> Result>; ///

Provisions a transit virtual interface to be owned by the specified AWS account. Use this type of interface to connect a transit gateway to your Direct Connect gateway.

The owner of a connection provisions a transit virtual interface to be owned by the specified AWS account.

After you create a transit virtual interface, it must be confirmed by the owner using ConfirmTransitVirtualInterface. Until this step has been completed, the transit virtual interface is in the requested state and is not available to handle traffic.

async fn allocate_transit_virtual_interface( &self, input: AllocateTransitVirtualInterfaceRequest, ) -> Result< AllocateTransitVirtualInterfaceResult, RusotoError, >; ///

Associates an existing connection with a link aggregation group (LAG). The connection is interrupted and re-established as a member of the LAG (connectivity to AWS is interrupted). The connection must be hosted on the same AWS Direct Connect endpoint as the LAG, and its bandwidth must match the bandwidth for the LAG. You can re-associate a connection that's currently associated with a different LAG; however, if removing the connection would cause the original LAG to fall below its setting for minimum number of operational connections, the request fails.

Any virtual interfaces that are directly associated with the connection are automatically re-associated with the LAG. If the connection was originally associated with a different LAG, the virtual interfaces remain associated with the original LAG.

For interconnects, any hosted connections are automatically re-associated with the LAG. If the interconnect was originally associated with a different LAG, the hosted connections remain associated with the original LAG.

async fn associate_connection_with_lag( &self, input: AssociateConnectionWithLagRequest, ) -> Result>; ///

Associates a hosted connection and its virtual interfaces with a link aggregation group (LAG) or interconnect. If the target interconnect or LAG has an existing hosted connection with a conflicting VLAN number or IP address, the operation fails. This action temporarily interrupts the hosted connection's connectivity to AWS as it is being migrated.

Intended for use by AWS Direct Connect Partners only.

async fn associate_hosted_connection( &self, input: AssociateHostedConnectionRequest, ) -> Result>; ///

Associates a MAC Security (MACsec) Connection Key Name (CKN)/ Connectivity Association Key (CAK) pair with an AWS Direct Connect dedicated connection.

You must supply either the secretARN, or the CKN/CAK (ckn and cak) pair in the request.

For information about MAC Security (MACsec) key considerations, see MACsec pre-shared CKN/CAK key considerations in the AWS Direct Connect User Guide.

async fn associate_mac_sec_key( &self, input: AssociateMacSecKeyRequest, ) -> Result>; ///

Associates a virtual interface with a specified link aggregation group (LAG) or connection. Connectivity to AWS is temporarily interrupted as the virtual interface is being migrated. If the target connection or LAG has an associated virtual interface with a conflicting VLAN number or a conflicting IP address, the operation fails.

Virtual interfaces associated with a hosted connection cannot be associated with a LAG; hosted connections must be migrated along with their virtual interfaces using AssociateHostedConnection.

To reassociate a virtual interface to a new connection or LAG, the requester must own either the virtual interface itself or the connection to which the virtual interface is currently associated. Additionally, the requester must own the connection or LAG for the association.

async fn associate_virtual_interface( &self, input: AssociateVirtualInterfaceRequest, ) -> Result>; ///

Confirms the creation of the specified hosted connection on an interconnect.

Upon creation, the hosted connection is initially in the Ordering state, and remains in this state until the owner confirms creation of the hosted connection.

async fn confirm_connection( &self, input: ConfirmConnectionRequest, ) -> Result>; ///

Accepts ownership of a private virtual interface created by another AWS account.

After the virtual interface owner makes this call, the virtual interface is created and attached to the specified virtual private gateway or Direct Connect gateway, and is made available to handle traffic.

async fn confirm_private_virtual_interface( &self, input: ConfirmPrivateVirtualInterfaceRequest, ) -> Result< ConfirmPrivateVirtualInterfaceResponse, RusotoError, >; ///

Accepts ownership of a public virtual interface created by another AWS account.

After the virtual interface owner makes this call, the specified virtual interface is created and made available to handle traffic.

async fn confirm_public_virtual_interface( &self, input: ConfirmPublicVirtualInterfaceRequest, ) -> Result< ConfirmPublicVirtualInterfaceResponse, RusotoError, >; ///

Accepts ownership of a transit virtual interface created by another AWS account.

After the owner of the transit virtual interface makes this call, the specified transit virtual interface is created and made available to handle traffic.

async fn confirm_transit_virtual_interface( &self, input: ConfirmTransitVirtualInterfaceRequest, ) -> Result< ConfirmTransitVirtualInterfaceResponse, RusotoError, >; ///

Creates a BGP peer on the specified virtual interface.

You must create a BGP peer for the corresponding address family (IPv4/IPv6) in order to access AWS resources that also use that address family.

If logical redundancy is not supported by the connection, interconnect, or LAG, the BGP peer cannot be in the same address family as an existing BGP peer on the virtual interface.

When creating a IPv6 BGP peer, omit the Amazon address and customer address. IPv6 addresses are automatically assigned from the Amazon pool of IPv6 addresses; you cannot specify custom IPv6 addresses.

For a public virtual interface, the Autonomous System Number (ASN) must be private or already on the allow list for the virtual interface.

async fn create_bgp_peer( &self, input: CreateBGPPeerRequest, ) -> Result>; ///

Creates a connection between a customer network and a specific AWS Direct Connect location.

A connection links your internal network to an AWS Direct Connect location over a standard Ethernet fiber-optic cable. One end of the cable is connected to your router, the other to an AWS Direct Connect router.

To find the locations for your Region, use DescribeLocations.

You can automatically add the new connection to a link aggregation group (LAG) by specifying a LAG ID in the request. This ensures that the new connection is allocated on the same AWS Direct Connect endpoint that hosts the specified LAG. If there are no available ports on the endpoint, the request fails and no connection is created.

async fn create_connection( &self, input: CreateConnectionRequest, ) -> Result>; ///

Creates a Direct Connect gateway, which is an intermediate object that enables you to connect a set of virtual interfaces and virtual private gateways. A Direct Connect gateway is global and visible in any AWS Region after it is created. The virtual interfaces and virtual private gateways that are connected through a Direct Connect gateway can be in different AWS Regions. This enables you to connect to a VPC in any Region, regardless of the Region in which the virtual interfaces are located, and pass traffic between them.

async fn create_direct_connect_gateway( &self, input: CreateDirectConnectGatewayRequest, ) -> Result>; ///

Creates an association between a Direct Connect gateway and a virtual private gateway. The virtual private gateway must be attached to a VPC and must not be associated with another Direct Connect gateway.

async fn create_direct_connect_gateway_association( &self, input: CreateDirectConnectGatewayAssociationRequest, ) -> Result< CreateDirectConnectGatewayAssociationResult, RusotoError, >; ///

Creates a proposal to associate the specified virtual private gateway or transit gateway with the specified Direct Connect gateway.

You can associate a Direct Connect gateway and virtual private gateway or transit gateway that is owned by any AWS account.

async fn create_direct_connect_gateway_association_proposal( &self, input: CreateDirectConnectGatewayAssociationProposalRequest, ) -> Result< CreateDirectConnectGatewayAssociationProposalResult, RusotoError, >; ///

Creates an interconnect between an AWS Direct Connect Partner's network and a specific AWS Direct Connect location.

An interconnect is a connection that is capable of hosting other connections. The AWS Direct Connect partner can use an interconnect to provide AWS Direct Connect hosted connections to customers through their own network services. Like a standard connection, an interconnect links the partner's network to an AWS Direct Connect location over a standard Ethernet fiber-optic cable. One end is connected to the partner's router, the other to an AWS Direct Connect router.

You can automatically add the new interconnect to a link aggregation group (LAG) by specifying a LAG ID in the request. This ensures that the new interconnect is allocated on the same AWS Direct Connect endpoint that hosts the specified LAG. If there are no available ports on the endpoint, the request fails and no interconnect is created.

For each end customer, the AWS Direct Connect Partner provisions a connection on their interconnect by calling AllocateHostedConnection. The end customer can then connect to AWS resources by creating a virtual interface on their connection, using the VLAN assigned to them by the AWS Direct Connect Partner.

Intended for use by AWS Direct Connect Partners only.

async fn create_interconnect( &self, input: CreateInterconnectRequest, ) -> Result>; ///

Creates a link aggregation group (LAG) with the specified number of bundled physical dedicated connections between the customer network and a specific AWS Direct Connect location. A LAG is a logical interface that uses the Link Aggregation Control Protocol (LACP) to aggregate multiple interfaces, enabling you to treat them as a single interface.

All connections in a LAG must use the same bandwidth (either 1Gbps or 10Gbps) and must terminate at the same AWS Direct Connect endpoint.

You can have up to 10 dedicated connections per LAG. Regardless of this limit, if you request more connections for the LAG than AWS Direct Connect can allocate on a single endpoint, no LAG is created.

You can specify an existing physical dedicated connection or interconnect to include in the LAG (which counts towards the total number of connections). Doing so interrupts the current physical dedicated connection, and re-establishes them as a member of the LAG. The LAG will be created on the same AWS Direct Connect endpoint to which the dedicated connection terminates. Any virtual interfaces associated with the dedicated connection are automatically disassociated and re-associated with the LAG. The connection ID does not change.

If the AWS account used to create a LAG is a registered AWS Direct Connect Partner, the LAG is automatically enabled to host sub-connections. For a LAG owned by a partner, any associated virtual interfaces cannot be directly configured.

async fn create_lag(&self, input: CreateLagRequest) -> Result>; ///

Creates a private virtual interface. A virtual interface is the VLAN that transports AWS Direct Connect traffic. A private virtual interface can be connected to either a Direct Connect gateway or a Virtual Private Gateway (VGW). Connecting the private virtual interface to a Direct Connect gateway enables the possibility for connecting to multiple VPCs, including VPCs in different AWS Regions. Connecting the private virtual interface to a VGW only provides access to a single VPC within the same Region.

Setting the MTU of a virtual interface to 9001 (jumbo frames) can cause an update to the underlying physical connection if it wasn't updated to support jumbo frames. Updating the connection disrupts network connectivity for all virtual interfaces associated with the connection for up to 30 seconds. To check whether your connection supports jumbo frames, call DescribeConnections. To check whether your virtual interface supports jumbo frames, call DescribeVirtualInterfaces.

async fn create_private_virtual_interface( &self, input: CreatePrivateVirtualInterfaceRequest, ) -> Result>; ///

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

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

async fn create_public_virtual_interface( &self, input: CreatePublicVirtualInterfaceRequest, ) -> Result>; ///

Creates a transit virtual interface. A transit virtual interface should be used to access one or more transit gateways associated with Direct Connect gateways. A transit virtual interface enables the connection of multiple VPCs attached to a transit gateway to a Direct Connect gateway.

If you associate your transit gateway with one or more Direct Connect gateways, the Autonomous System Number (ASN) used by the transit gateway and the Direct Connect gateway must be different. For example, if you use the default ASN 64512 for both your the transit gateway and Direct Connect gateway, the association request fails.

Setting the MTU of a virtual interface to 8500 (jumbo frames) can cause an update to the underlying physical connection if it wasn't updated to support jumbo frames. Updating the connection disrupts network connectivity for all virtual interfaces associated with the connection for up to 30 seconds. To check whether your connection supports jumbo frames, call DescribeConnections. To check whether your virtual interface supports jumbo frames, call DescribeVirtualInterfaces.

async fn create_transit_virtual_interface( &self, input: CreateTransitVirtualInterfaceRequest, ) -> Result>; ///

Deletes the specified BGP peer on the specified virtual interface with the specified customer address and ASN.

You cannot delete the last BGP peer from a virtual interface.

async fn delete_bgp_peer( &self, input: DeleteBGPPeerRequest, ) -> Result>; ///

Deletes the specified connection.

Deleting a connection only stops the AWS Direct Connect port hour and data transfer charges. If you are partnering with any third parties to connect with the AWS Direct Connect location, you must cancel your service with them separately.

async fn delete_connection( &self, input: DeleteConnectionRequest, ) -> Result>; ///

Deletes the specified Direct Connect gateway. You must first delete all virtual interfaces that are attached to the Direct Connect gateway and disassociate all virtual private gateways associated with the Direct Connect gateway.

async fn delete_direct_connect_gateway( &self, input: DeleteDirectConnectGatewayRequest, ) -> Result>; ///

Deletes the association between the specified Direct Connect gateway and virtual private gateway.

We recommend that you specify the associationID to delete the association. Alternatively, if you own virtual gateway and a Direct Connect gateway association, you can specify the virtualGatewayId and directConnectGatewayId to delete an association.

async fn delete_direct_connect_gateway_association( &self, input: DeleteDirectConnectGatewayAssociationRequest, ) -> Result< DeleteDirectConnectGatewayAssociationResult, RusotoError, >; ///

Deletes the association proposal request between the specified Direct Connect gateway and virtual private gateway or transit gateway.

async fn delete_direct_connect_gateway_association_proposal( &self, input: DeleteDirectConnectGatewayAssociationProposalRequest, ) -> Result< DeleteDirectConnectGatewayAssociationProposalResult, RusotoError, >; ///

Deletes the specified interconnect.

Intended for use by AWS Direct Connect Partners only.

async fn delete_interconnect( &self, input: DeleteInterconnectRequest, ) -> Result>; ///

Deletes the specified link aggregation group (LAG). You cannot delete a LAG if it has active virtual interfaces or hosted connections.

async fn delete_lag(&self, input: DeleteLagRequest) -> Result>; ///

Deletes a virtual interface.

async fn delete_virtual_interface( &self, input: DeleteVirtualInterfaceRequest, ) -> Result>; ///

Deprecated. Use DescribeLoa instead.

Gets the LOA-CFA for a connection.

The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is a document that your APN partner or service provider uses when establishing your cross connect to AWS at the colocation facility. For more information, see Requesting Cross Connects at AWS Direct Connect Locations in the AWS Direct Connect User Guide.

async fn describe_connection_loa( &self, input: DescribeConnectionLoaRequest, ) -> Result>; ///

Displays the specified connection or all connections in this Region.

async fn describe_connections( &self, input: DescribeConnectionsRequest, ) -> Result>; ///

Deprecated. Use DescribeHostedConnections instead.

Lists the connections that have been provisioned on the specified interconnect.

Intended for use by AWS Direct Connect Partners only.

async fn describe_connections_on_interconnect( &self, input: DescribeConnectionsOnInterconnectRequest, ) -> Result>; ///

Describes one or more association proposals for connection between a virtual private gateway or transit gateway and a Direct Connect gateway.

async fn describe_direct_connect_gateway_association_proposals( &self, input: DescribeDirectConnectGatewayAssociationProposalsRequest, ) -> Result< DescribeDirectConnectGatewayAssociationProposalsResult, RusotoError, >; ///

Lists the associations between your Direct Connect gateways and virtual private gateways and transit gateways. You must specify one of the following:

  • A Direct Connect gateway

    The response contains all virtual private gateways and transit gateways associated with the Direct Connect gateway.

  • A virtual private gateway

    The response contains the Direct Connect gateway.

  • A transit gateway

    The response contains the Direct Connect gateway.

  • A Direct Connect gateway and a virtual private gateway

    The response contains the association between the Direct Connect gateway and virtual private gateway.

  • A Direct Connect gateway and a transit gateway

    The response contains the association between the Direct Connect gateway and transit gateway.

async fn describe_direct_connect_gateway_associations( &self, input: DescribeDirectConnectGatewayAssociationsRequest, ) -> Result< DescribeDirectConnectGatewayAssociationsResult, RusotoError, >; ///

Lists the attachments between your Direct Connect gateways and virtual interfaces. You must specify a Direct Connect gateway, a virtual interface, or both. If you specify a Direct Connect gateway, the response contains all virtual interfaces attached to the Direct Connect gateway. If you specify a virtual interface, the response contains all Direct Connect gateways attached to the virtual interface. If you specify both, the response contains the attachment between the Direct Connect gateway and the virtual interface.

async fn describe_direct_connect_gateway_attachments( &self, input: DescribeDirectConnectGatewayAttachmentsRequest, ) -> Result< DescribeDirectConnectGatewayAttachmentsResult, RusotoError, >; ///

Lists all your Direct Connect gateways or only the specified Direct Connect gateway. Deleted Direct Connect gateways are not returned.

async fn describe_direct_connect_gateways( &self, input: DescribeDirectConnectGatewaysRequest, ) -> Result>; ///

Lists the hosted connections that have been provisioned on the specified interconnect or link aggregation group (LAG).

Intended for use by AWS Direct Connect Partners only.

async fn describe_hosted_connections( &self, input: DescribeHostedConnectionsRequest, ) -> Result>; ///

Deprecated. Use DescribeLoa instead.

Gets the LOA-CFA for the specified interconnect.

The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is a document that is used when establishing your cross connect to AWS at the colocation facility. For more information, see Requesting Cross Connects at AWS Direct Connect Locations in the AWS Direct Connect User Guide.

async fn describe_interconnect_loa( &self, input: DescribeInterconnectLoaRequest, ) -> Result>; ///

Lists the interconnects owned by the AWS account or only the specified interconnect.

async fn describe_interconnects( &self, input: DescribeInterconnectsRequest, ) -> Result>; ///

Describes all your link aggregation groups (LAG) or the specified LAG.

async fn describe_lags( &self, input: DescribeLagsRequest, ) -> Result>; ///

Gets the LOA-CFA for a connection, interconnect, or link aggregation group (LAG).

The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is a document that is used when establishing your cross connect to AWS at the colocation facility. For more information, see Requesting Cross Connects at AWS Direct Connect Locations in the AWS Direct Connect User Guide.

async fn describe_loa( &self, input: DescribeLoaRequest, ) -> Result>; ///

Lists the AWS Direct Connect locations in the current AWS Region. These are the locations that can be selected when calling CreateConnection or CreateInterconnect.

async fn describe_locations(&self) -> Result>; ///

Describes the tags associated with the specified AWS Direct Connect resources.

async fn describe_tags( &self, input: DescribeTagsRequest, ) -> Result>; ///

Lists the virtual private gateways owned by the AWS account.

You can create one or more AWS Direct Connect private virtual interfaces linked to a virtual private gateway.

async fn describe_virtual_gateways( &self, ) -> Result>; ///

Displays all virtual interfaces for an AWS account. Virtual interfaces deleted fewer than 15 minutes before you make the request are also returned. If you specify a connection ID, only the virtual interfaces associated with the connection are returned. If you specify a virtual interface ID, then only a single virtual interface is returned.

A virtual interface (VLAN) transmits the traffic between the AWS Direct Connect location and the customer network.

async fn describe_virtual_interfaces( &self, input: DescribeVirtualInterfacesRequest, ) -> Result>; ///

Disassociates a connection from a link aggregation group (LAG). The connection is interrupted and re-established as a standalone connection (the connection is not deleted; to delete the connection, use the DeleteConnection request). If the LAG has associated virtual interfaces or hosted connections, they remain associated with the LAG. A disassociated connection owned by an AWS Direct Connect Partner is automatically converted to an interconnect.

If disassociating the connection would cause the LAG to fall below its setting for minimum number of operational connections, the request fails, except when it's the last member of the LAG. If all connections are disassociated, the LAG continues to exist as an empty LAG with no physical connections.

async fn disassociate_connection_from_lag( &self, input: DisassociateConnectionFromLagRequest, ) -> Result>; ///

Removes the association between a MAC Security (MACsec) security key and an AWS Direct Connect dedicated connection.

async fn disassociate_mac_sec_key( &self, input: DisassociateMacSecKeyRequest, ) -> Result>; ///

Lists the virtual interface failover test history.

async fn list_virtual_interface_test_history( &self, input: ListVirtualInterfaceTestHistoryRequest, ) -> Result< ListVirtualInterfaceTestHistoryResponse, RusotoError, >; ///

Starts the virtual interface failover test that verifies your configuration meets your resiliency requirements by placing the BGP peering session in the DOWN state. You can then send traffic to verify that there are no outages.

You can run the test on public, private, transit, and hosted virtual interfaces.

You can use ListVirtualInterfaceTestHistory to view the virtual interface test history.

If you need to stop the test before the test interval completes, use StopBgpFailoverTest.

async fn start_bgp_failover_test( &self, input: StartBgpFailoverTestRequest, ) -> Result>; ///

Stops the virtual interface failover test.

async fn stop_bgp_failover_test( &self, input: StopBgpFailoverTestRequest, ) -> Result>; ///

Adds the specified tags to the specified AWS Direct Connect resource. Each resource can have a maximum of 50 tags.

Each tag consists of a key and an optional value. If a tag with the same key is already associated with the resource, this action updates its value.

async fn tag_resource( &self, input: TagResourceRequest, ) -> Result>; ///

Removes one or more tags from the specified AWS Direct Connect resource.

async fn untag_resource( &self, input: UntagResourceRequest, ) -> Result>; ///

Updates the AWS Direct Connect dedicated connection configuration.

You can update the following parameters for a connection:

  • The connection name

  • The connection's MAC Security (MACsec) encryption mode.

async fn update_connection( &self, input: UpdateConnectionRequest, ) -> Result>; ///

Updates the specified attributes of the Direct Connect gateway association.

Add or remove prefixes from the association.

async fn update_direct_connect_gateway_association( &self, input: UpdateDirectConnectGatewayAssociationRequest, ) -> Result< UpdateDirectConnectGatewayAssociationResult, RusotoError, >; ///

Updates the attributes of the specified link aggregation group (LAG).

You can update the following LAG attributes:

  • The name of the LAG.

  • The value for the minimum number of connections that must be operational for the LAG itself to be operational.

  • The LAG's MACsec encryption mode.

    AWS assigns this value to each connection which is part of the LAG.

  • The tags

If you adjust the threshold value for the minimum number of operational connections, ensure that the new value does not cause the LAG to fall below the threshold and become non-operational.

async fn update_lag(&self, input: UpdateLagRequest) -> Result>; ///

Updates the specified attributes of the specified virtual private interface.

Setting the MTU of a virtual interface to 9001 (jumbo frames) can cause an update to the underlying physical connection if it wasn't updated to support jumbo frames. Updating the connection disrupts network connectivity for all virtual interfaces associated with the connection for up to 30 seconds. To check whether your connection supports jumbo frames, call DescribeConnections. To check whether your virtual q interface supports jumbo frames, call DescribeVirtualInterfaces.

async fn update_virtual_interface_attributes( &self, input: UpdateVirtualInterfaceAttributesRequest, ) -> Result>; } /// A client for the AWS Direct Connect API. #[derive(Clone)] pub struct DirectConnectClient { client: Client, region: region::Region, } impl DirectConnectClient { /// Creates a client backed by the default tokio event loop. /// /// The client will use the default credentials provider and tls client. pub fn new(region: region::Region) -> DirectConnectClient { DirectConnectClient { client: Client::shared(), region, } } pub fn new_with( request_dispatcher: D, credentials_provider: P, region: region::Region, ) -> DirectConnectClient where P: ProvideAwsCredentials + Send + Sync + 'static, D: DispatchSignedRequest + Send + Sync + 'static, { DirectConnectClient { client: Client::new_with(credentials_provider, request_dispatcher), region, } } pub fn new_with_client(client: Client, region: region::Region) -> DirectConnectClient { DirectConnectClient { client, region } } } #[async_trait] impl DirectConnect for DirectConnectClient { ///

Accepts a proposal request to attach a virtual private gateway or transit gateway to a Direct Connect gateway.

async fn accept_direct_connect_gateway_association_proposal( &self, input: AcceptDirectConnectGatewayAssociationProposalRequest, ) -> Result< AcceptDirectConnectGatewayAssociationProposalResult, RusotoError, > { let mut request = self.new_signed_request("POST", "/"); request.add_header( "x-amz-target", "OvertureService.AcceptDirectConnectGatewayAssociationProposal", ); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch( request, AcceptDirectConnectGatewayAssociationProposalError::from_response, ) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response) .deserialize::() } ///

Deprecated. Use AllocateHostedConnection instead.

Creates a hosted connection on an interconnect.

Allocates a VLAN number and a specified amount of bandwidth for use by a hosted connection on the specified interconnect.

Intended for use by AWS Direct Connect Partners only.

async fn allocate_connection_on_interconnect( &self, input: AllocateConnectionOnInterconnectRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header( "x-amz-target", "OvertureService.AllocateConnectionOnInterconnect", ); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch( request, AllocateConnectionOnInterconnectError::from_response, ) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Creates a hosted connection on the specified interconnect or a link aggregation group (LAG) of interconnects.

Allocates a VLAN number and a specified amount of capacity (bandwidth) for use by a hosted connection on the specified interconnect or LAG of interconnects. AWS polices the hosted connection for the specified capacity and the AWS Direct Connect Partner must also police the hosted connection for the specified capacity.

Intended for use by AWS Direct Connect Partners only.

async fn allocate_hosted_connection( &self, input: AllocateHostedConnectionRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.AllocateHostedConnection"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, AllocateHostedConnectionError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

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

Virtual interfaces created using this action must be confirmed by the owner using ConfirmPrivateVirtualInterface. Until then, the virtual interface is in the Confirming state and is not available to handle traffic.

async fn allocate_private_virtual_interface( &self, input: AllocatePrivateVirtualInterfaceRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header( "x-amz-target", "OvertureService.AllocatePrivateVirtualInterface", ); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, AllocatePrivateVirtualInterfaceError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

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

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

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

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

async fn allocate_public_virtual_interface( &self, input: AllocatePublicVirtualInterfaceRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header( "x-amz-target", "OvertureService.AllocatePublicVirtualInterface", ); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, AllocatePublicVirtualInterfaceError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Provisions a transit virtual interface to be owned by the specified AWS account. Use this type of interface to connect a transit gateway to your Direct Connect gateway.

The owner of a connection provisions a transit virtual interface to be owned by the specified AWS account.

After you create a transit virtual interface, it must be confirmed by the owner using ConfirmTransitVirtualInterface. Until this step has been completed, the transit virtual interface is in the requested state and is not available to handle traffic.

async fn allocate_transit_virtual_interface( &self, input: AllocateTransitVirtualInterfaceRequest, ) -> Result< AllocateTransitVirtualInterfaceResult, RusotoError, > { let mut request = self.new_signed_request("POST", "/"); request.add_header( "x-amz-target", "OvertureService.AllocateTransitVirtualInterface", ); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, AllocateTransitVirtualInterfaceError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response) .deserialize::() } ///

Associates an existing connection with a link aggregation group (LAG). The connection is interrupted and re-established as a member of the LAG (connectivity to AWS is interrupted). The connection must be hosted on the same AWS Direct Connect endpoint as the LAG, and its bandwidth must match the bandwidth for the LAG. You can re-associate a connection that's currently associated with a different LAG; however, if removing the connection would cause the original LAG to fall below its setting for minimum number of operational connections, the request fails.

Any virtual interfaces that are directly associated with the connection are automatically re-associated with the LAG. If the connection was originally associated with a different LAG, the virtual interfaces remain associated with the original LAG.

For interconnects, any hosted connections are automatically re-associated with the LAG. If the interconnect was originally associated with a different LAG, the hosted connections remain associated with the original LAG.

async fn associate_connection_with_lag( &self, input: AssociateConnectionWithLagRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.AssociateConnectionWithLag"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, AssociateConnectionWithLagError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Associates a hosted connection and its virtual interfaces with a link aggregation group (LAG) or interconnect. If the target interconnect or LAG has an existing hosted connection with a conflicting VLAN number or IP address, the operation fails. This action temporarily interrupts the hosted connection's connectivity to AWS as it is being migrated.

Intended for use by AWS Direct Connect Partners only.

async fn associate_hosted_connection( &self, input: AssociateHostedConnectionRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.AssociateHostedConnection"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, AssociateHostedConnectionError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Associates a MAC Security (MACsec) Connection Key Name (CKN)/ Connectivity Association Key (CAK) pair with an AWS Direct Connect dedicated connection.

You must supply either the secretARN, or the CKN/CAK (ckn and cak) pair in the request.

For information about MAC Security (MACsec) key considerations, see MACsec pre-shared CKN/CAK key considerations in the AWS Direct Connect User Guide.

async fn associate_mac_sec_key( &self, input: AssociateMacSecKeyRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.AssociateMacSecKey"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, AssociateMacSecKeyError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Associates a virtual interface with a specified link aggregation group (LAG) or connection. Connectivity to AWS is temporarily interrupted as the virtual interface is being migrated. If the target connection or LAG has an associated virtual interface with a conflicting VLAN number or a conflicting IP address, the operation fails.

Virtual interfaces associated with a hosted connection cannot be associated with a LAG; hosted connections must be migrated along with their virtual interfaces using AssociateHostedConnection.

To reassociate a virtual interface to a new connection or LAG, the requester must own either the virtual interface itself or the connection to which the virtual interface is currently associated. Additionally, the requester must own the connection or LAG for the association.

async fn associate_virtual_interface( &self, input: AssociateVirtualInterfaceRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.AssociateVirtualInterface"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, AssociateVirtualInterfaceError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Confirms the creation of the specified hosted connection on an interconnect.

Upon creation, the hosted connection is initially in the Ordering state, and remains in this state until the owner confirms creation of the hosted connection.

async fn confirm_connection( &self, input: ConfirmConnectionRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.ConfirmConnection"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, ConfirmConnectionError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Accepts ownership of a private virtual interface created by another AWS account.

After the virtual interface owner makes this call, the virtual interface is created and attached to the specified virtual private gateway or Direct Connect gateway, and is made available to handle traffic.

async fn confirm_private_virtual_interface( &self, input: ConfirmPrivateVirtualInterfaceRequest, ) -> Result< ConfirmPrivateVirtualInterfaceResponse, RusotoError, > { let mut request = self.new_signed_request("POST", "/"); request.add_header( "x-amz-target", "OvertureService.ConfirmPrivateVirtualInterface", ); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, ConfirmPrivateVirtualInterfaceError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response) .deserialize::() } ///

Accepts ownership of a public virtual interface created by another AWS account.

After the virtual interface owner makes this call, the specified virtual interface is created and made available to handle traffic.

async fn confirm_public_virtual_interface( &self, input: ConfirmPublicVirtualInterfaceRequest, ) -> Result< ConfirmPublicVirtualInterfaceResponse, RusotoError, > { let mut request = self.new_signed_request("POST", "/"); request.add_header( "x-amz-target", "OvertureService.ConfirmPublicVirtualInterface", ); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, ConfirmPublicVirtualInterfaceError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response) .deserialize::() } ///

Accepts ownership of a transit virtual interface created by another AWS account.

After the owner of the transit virtual interface makes this call, the specified transit virtual interface is created and made available to handle traffic.

async fn confirm_transit_virtual_interface( &self, input: ConfirmTransitVirtualInterfaceRequest, ) -> Result< ConfirmTransitVirtualInterfaceResponse, RusotoError, > { let mut request = self.new_signed_request("POST", "/"); request.add_header( "x-amz-target", "OvertureService.ConfirmTransitVirtualInterface", ); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, ConfirmTransitVirtualInterfaceError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response) .deserialize::() } ///

Creates a BGP peer on the specified virtual interface.

You must create a BGP peer for the corresponding address family (IPv4/IPv6) in order to access AWS resources that also use that address family.

If logical redundancy is not supported by the connection, interconnect, or LAG, the BGP peer cannot be in the same address family as an existing BGP peer on the virtual interface.

When creating a IPv6 BGP peer, omit the Amazon address and customer address. IPv6 addresses are automatically assigned from the Amazon pool of IPv6 addresses; you cannot specify custom IPv6 addresses.

For a public virtual interface, the Autonomous System Number (ASN) must be private or already on the allow list for the virtual interface.

async fn create_bgp_peer( &self, input: CreateBGPPeerRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.CreateBGPPeer"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, CreateBGPPeerError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Creates a connection between a customer network and a specific AWS Direct Connect location.

A connection links your internal network to an AWS Direct Connect location over a standard Ethernet fiber-optic cable. One end of the cable is connected to your router, the other to an AWS Direct Connect router.

To find the locations for your Region, use DescribeLocations.

You can automatically add the new connection to a link aggregation group (LAG) by specifying a LAG ID in the request. This ensures that the new connection is allocated on the same AWS Direct Connect endpoint that hosts the specified LAG. If there are no available ports on the endpoint, the request fails and no connection is created.

async fn create_connection( &self, input: CreateConnectionRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.CreateConnection"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, CreateConnectionError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Creates a Direct Connect gateway, which is an intermediate object that enables you to connect a set of virtual interfaces and virtual private gateways. A Direct Connect gateway is global and visible in any AWS Region after it is created. The virtual interfaces and virtual private gateways that are connected through a Direct Connect gateway can be in different AWS Regions. This enables you to connect to a VPC in any Region, regardless of the Region in which the virtual interfaces are located, and pass traffic between them.

async fn create_direct_connect_gateway( &self, input: CreateDirectConnectGatewayRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.CreateDirectConnectGateway"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, CreateDirectConnectGatewayError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response) .deserialize::() } ///

Creates an association between a Direct Connect gateway and a virtual private gateway. The virtual private gateway must be attached to a VPC and must not be associated with another Direct Connect gateway.

async fn create_direct_connect_gateway_association( &self, input: CreateDirectConnectGatewayAssociationRequest, ) -> Result< CreateDirectConnectGatewayAssociationResult, RusotoError, > { let mut request = self.new_signed_request("POST", "/"); request.add_header( "x-amz-target", "OvertureService.CreateDirectConnectGatewayAssociation", ); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch( request, CreateDirectConnectGatewayAssociationError::from_response, ) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response) .deserialize::() } ///

Creates a proposal to associate the specified virtual private gateway or transit gateway with the specified Direct Connect gateway.

You can associate a Direct Connect gateway and virtual private gateway or transit gateway that is owned by any AWS account.

async fn create_direct_connect_gateway_association_proposal( &self, input: CreateDirectConnectGatewayAssociationProposalRequest, ) -> Result< CreateDirectConnectGatewayAssociationProposalResult, RusotoError, > { let mut request = self.new_signed_request("POST", "/"); request.add_header( "x-amz-target", "OvertureService.CreateDirectConnectGatewayAssociationProposal", ); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch( request, CreateDirectConnectGatewayAssociationProposalError::from_response, ) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response) .deserialize::() } ///

Creates an interconnect between an AWS Direct Connect Partner's network and a specific AWS Direct Connect location.

An interconnect is a connection that is capable of hosting other connections. The AWS Direct Connect partner can use an interconnect to provide AWS Direct Connect hosted connections to customers through their own network services. Like a standard connection, an interconnect links the partner's network to an AWS Direct Connect location over a standard Ethernet fiber-optic cable. One end is connected to the partner's router, the other to an AWS Direct Connect router.

You can automatically add the new interconnect to a link aggregation group (LAG) by specifying a LAG ID in the request. This ensures that the new interconnect is allocated on the same AWS Direct Connect endpoint that hosts the specified LAG. If there are no available ports on the endpoint, the request fails and no interconnect is created.

For each end customer, the AWS Direct Connect Partner provisions a connection on their interconnect by calling AllocateHostedConnection. The end customer can then connect to AWS resources by creating a virtual interface on their connection, using the VLAN assigned to them by the AWS Direct Connect Partner.

Intended for use by AWS Direct Connect Partners only.

async fn create_interconnect( &self, input: CreateInterconnectRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.CreateInterconnect"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, CreateInterconnectError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Creates a link aggregation group (LAG) with the specified number of bundled physical dedicated connections between the customer network and a specific AWS Direct Connect location. A LAG is a logical interface that uses the Link Aggregation Control Protocol (LACP) to aggregate multiple interfaces, enabling you to treat them as a single interface.

All connections in a LAG must use the same bandwidth (either 1Gbps or 10Gbps) and must terminate at the same AWS Direct Connect endpoint.

You can have up to 10 dedicated connections per LAG. Regardless of this limit, if you request more connections for the LAG than AWS Direct Connect can allocate on a single endpoint, no LAG is created.

You can specify an existing physical dedicated connection or interconnect to include in the LAG (which counts towards the total number of connections). Doing so interrupts the current physical dedicated connection, and re-establishes them as a member of the LAG. The LAG will be created on the same AWS Direct Connect endpoint to which the dedicated connection terminates. Any virtual interfaces associated with the dedicated connection are automatically disassociated and re-associated with the LAG. The connection ID does not change.

If the AWS account used to create a LAG is a registered AWS Direct Connect Partner, the LAG is automatically enabled to host sub-connections. For a LAG owned by a partner, any associated virtual interfaces cannot be directly configured.

async fn create_lag( &self, input: CreateLagRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.CreateLag"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, CreateLagError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Creates a private virtual interface. A virtual interface is the VLAN that transports AWS Direct Connect traffic. A private virtual interface can be connected to either a Direct Connect gateway or a Virtual Private Gateway (VGW). Connecting the private virtual interface to a Direct Connect gateway enables the possibility for connecting to multiple VPCs, including VPCs in different AWS Regions. Connecting the private virtual interface to a VGW only provides access to a single VPC within the same Region.

Setting the MTU of a virtual interface to 9001 (jumbo frames) can cause an update to the underlying physical connection if it wasn't updated to support jumbo frames. Updating the connection disrupts network connectivity for all virtual interfaces associated with the connection for up to 30 seconds. To check whether your connection supports jumbo frames, call DescribeConnections. To check whether your virtual interface supports jumbo frames, call DescribeVirtualInterfaces.

async fn create_private_virtual_interface( &self, input: CreatePrivateVirtualInterfaceRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header( "x-amz-target", "OvertureService.CreatePrivateVirtualInterface", ); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, CreatePrivateVirtualInterfaceError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

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

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

async fn create_public_virtual_interface( &self, input: CreatePublicVirtualInterfaceRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header( "x-amz-target", "OvertureService.CreatePublicVirtualInterface", ); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, CreatePublicVirtualInterfaceError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Creates a transit virtual interface. A transit virtual interface should be used to access one or more transit gateways associated with Direct Connect gateways. A transit virtual interface enables the connection of multiple VPCs attached to a transit gateway to a Direct Connect gateway.

If you associate your transit gateway with one or more Direct Connect gateways, the Autonomous System Number (ASN) used by the transit gateway and the Direct Connect gateway must be different. For example, if you use the default ASN 64512 for both your the transit gateway and Direct Connect gateway, the association request fails.

Setting the MTU of a virtual interface to 8500 (jumbo frames) can cause an update to the underlying physical connection if it wasn't updated to support jumbo frames. Updating the connection disrupts network connectivity for all virtual interfaces associated with the connection for up to 30 seconds. To check whether your connection supports jumbo frames, call DescribeConnections. To check whether your virtual interface supports jumbo frames, call DescribeVirtualInterfaces.

async fn create_transit_virtual_interface( &self, input: CreateTransitVirtualInterfaceRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header( "x-amz-target", "OvertureService.CreateTransitVirtualInterface", ); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, CreateTransitVirtualInterfaceError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response) .deserialize::() } ///

Deletes the specified BGP peer on the specified virtual interface with the specified customer address and ASN.

You cannot delete the last BGP peer from a virtual interface.

async fn delete_bgp_peer( &self, input: DeleteBGPPeerRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.DeleteBGPPeer"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, DeleteBGPPeerError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Deletes the specified connection.

Deleting a connection only stops the AWS Direct Connect port hour and data transfer charges. If you are partnering with any third parties to connect with the AWS Direct Connect location, you must cancel your service with them separately.

async fn delete_connection( &self, input: DeleteConnectionRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.DeleteConnection"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, DeleteConnectionError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Deletes the specified Direct Connect gateway. You must first delete all virtual interfaces that are attached to the Direct Connect gateway and disassociate all virtual private gateways associated with the Direct Connect gateway.

async fn delete_direct_connect_gateway( &self, input: DeleteDirectConnectGatewayRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.DeleteDirectConnectGateway"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, DeleteDirectConnectGatewayError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response) .deserialize::() } ///

Deletes the association between the specified Direct Connect gateway and virtual private gateway.

We recommend that you specify the associationID to delete the association. Alternatively, if you own virtual gateway and a Direct Connect gateway association, you can specify the virtualGatewayId and directConnectGatewayId to delete an association.

async fn delete_direct_connect_gateway_association( &self, input: DeleteDirectConnectGatewayAssociationRequest, ) -> Result< DeleteDirectConnectGatewayAssociationResult, RusotoError, > { let mut request = self.new_signed_request("POST", "/"); request.add_header( "x-amz-target", "OvertureService.DeleteDirectConnectGatewayAssociation", ); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch( request, DeleteDirectConnectGatewayAssociationError::from_response, ) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response) .deserialize::() } ///

Deletes the association proposal request between the specified Direct Connect gateway and virtual private gateway or transit gateway.

async fn delete_direct_connect_gateway_association_proposal( &self, input: DeleteDirectConnectGatewayAssociationProposalRequest, ) -> Result< DeleteDirectConnectGatewayAssociationProposalResult, RusotoError, > { let mut request = self.new_signed_request("POST", "/"); request.add_header( "x-amz-target", "OvertureService.DeleteDirectConnectGatewayAssociationProposal", ); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch( request, DeleteDirectConnectGatewayAssociationProposalError::from_response, ) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response) .deserialize::() } ///

Deletes the specified interconnect.

Intended for use by AWS Direct Connect Partners only.

async fn delete_interconnect( &self, input: DeleteInterconnectRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.DeleteInterconnect"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, DeleteInterconnectError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Deletes the specified link aggregation group (LAG). You cannot delete a LAG if it has active virtual interfaces or hosted connections.

async fn delete_lag( &self, input: DeleteLagRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.DeleteLag"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, DeleteLagError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Deletes a virtual interface.

async fn delete_virtual_interface( &self, input: DeleteVirtualInterfaceRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.DeleteVirtualInterface"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, DeleteVirtualInterfaceError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response) .deserialize::() } ///

Deprecated. Use DescribeLoa instead.

Gets the LOA-CFA for a connection.

The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is a document that your APN partner or service provider uses when establishing your cross connect to AWS at the colocation facility. For more information, see Requesting Cross Connects at AWS Direct Connect Locations in the AWS Direct Connect User Guide.

async fn describe_connection_loa( &self, input: DescribeConnectionLoaRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.DescribeConnectionLoa"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, DescribeConnectionLoaError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response) .deserialize::() } ///

Displays the specified connection or all connections in this Region.

async fn describe_connections( &self, input: DescribeConnectionsRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.DescribeConnections"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, DescribeConnectionsError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Deprecated. Use DescribeHostedConnections instead.

Lists the connections that have been provisioned on the specified interconnect.

Intended for use by AWS Direct Connect Partners only.

async fn describe_connections_on_interconnect( &self, input: DescribeConnectionsOnInterconnectRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header( "x-amz-target", "OvertureService.DescribeConnectionsOnInterconnect", ); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch( request, DescribeConnectionsOnInterconnectError::from_response, ) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Describes one or more association proposals for connection between a virtual private gateway or transit gateway and a Direct Connect gateway.

async fn describe_direct_connect_gateway_association_proposals( &self, input: DescribeDirectConnectGatewayAssociationProposalsRequest, ) -> Result< DescribeDirectConnectGatewayAssociationProposalsResult, RusotoError, > { let mut request = self.new_signed_request("POST", "/"); request.add_header( "x-amz-target", "OvertureService.DescribeDirectConnectGatewayAssociationProposals", ); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch( request, DescribeDirectConnectGatewayAssociationProposalsError::from_response, ) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response) .deserialize::() } ///

Lists the associations between your Direct Connect gateways and virtual private gateways and transit gateways. You must specify one of the following:

  • A Direct Connect gateway

    The response contains all virtual private gateways and transit gateways associated with the Direct Connect gateway.

  • A virtual private gateway

    The response contains the Direct Connect gateway.

  • A transit gateway

    The response contains the Direct Connect gateway.

  • A Direct Connect gateway and a virtual private gateway

    The response contains the association between the Direct Connect gateway and virtual private gateway.

  • A Direct Connect gateway and a transit gateway

    The response contains the association between the Direct Connect gateway and transit gateway.

async fn describe_direct_connect_gateway_associations( &self, input: DescribeDirectConnectGatewayAssociationsRequest, ) -> Result< DescribeDirectConnectGatewayAssociationsResult, RusotoError, > { let mut request = self.new_signed_request("POST", "/"); request.add_header( "x-amz-target", "OvertureService.DescribeDirectConnectGatewayAssociations", ); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch( request, DescribeDirectConnectGatewayAssociationsError::from_response, ) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response) .deserialize::() } ///

Lists the attachments between your Direct Connect gateways and virtual interfaces. You must specify a Direct Connect gateway, a virtual interface, or both. If you specify a Direct Connect gateway, the response contains all virtual interfaces attached to the Direct Connect gateway. If you specify a virtual interface, the response contains all Direct Connect gateways attached to the virtual interface. If you specify both, the response contains the attachment between the Direct Connect gateway and the virtual interface.

async fn describe_direct_connect_gateway_attachments( &self, input: DescribeDirectConnectGatewayAttachmentsRequest, ) -> Result< DescribeDirectConnectGatewayAttachmentsResult, RusotoError, > { let mut request = self.new_signed_request("POST", "/"); request.add_header( "x-amz-target", "OvertureService.DescribeDirectConnectGatewayAttachments", ); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch( request, DescribeDirectConnectGatewayAttachmentsError::from_response, ) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response) .deserialize::() } ///

Lists all your Direct Connect gateways or only the specified Direct Connect gateway. Deleted Direct Connect gateways are not returned.

async fn describe_direct_connect_gateways( &self, input: DescribeDirectConnectGatewaysRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header( "x-amz-target", "OvertureService.DescribeDirectConnectGateways", ); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, DescribeDirectConnectGatewaysError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response) .deserialize::() } ///

Lists the hosted connections that have been provisioned on the specified interconnect or link aggregation group (LAG).

Intended for use by AWS Direct Connect Partners only.

async fn describe_hosted_connections( &self, input: DescribeHostedConnectionsRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.DescribeHostedConnections"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, DescribeHostedConnectionsError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Deprecated. Use DescribeLoa instead.

Gets the LOA-CFA for the specified interconnect.

The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is a document that is used when establishing your cross connect to AWS at the colocation facility. For more information, see Requesting Cross Connects at AWS Direct Connect Locations in the AWS Direct Connect User Guide.

async fn describe_interconnect_loa( &self, input: DescribeInterconnectLoaRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.DescribeInterconnectLoa"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, DescribeInterconnectLoaError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response) .deserialize::() } ///

Lists the interconnects owned by the AWS account or only the specified interconnect.

async fn describe_interconnects( &self, input: DescribeInterconnectsRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.DescribeInterconnects"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, DescribeInterconnectsError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Describes all your link aggregation groups (LAG) or the specified LAG.

async fn describe_lags( &self, input: DescribeLagsRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.DescribeLags"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, DescribeLagsError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Gets the LOA-CFA for a connection, interconnect, or link aggregation group (LAG).

The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is a document that is used when establishing your cross connect to AWS at the colocation facility. For more information, see Requesting Cross Connects at AWS Direct Connect Locations in the AWS Direct Connect User Guide.

async fn describe_loa( &self, input: DescribeLoaRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.DescribeLoa"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, DescribeLoaError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Lists the AWS Direct Connect locations in the current AWS Region. These are the locations that can be selected when calling CreateConnection or CreateInterconnect.

async fn describe_locations(&self) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.DescribeLocations"); request.set_payload(Some(bytes::Bytes::from_static(b"{}"))); let response = self .sign_and_dispatch(request, DescribeLocationsError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Describes the tags associated with the specified AWS Direct Connect resources.

async fn describe_tags( &self, input: DescribeTagsRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.DescribeTags"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, DescribeTagsError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Lists the virtual private gateways owned by the AWS account.

You can create one or more AWS Direct Connect private virtual interfaces linked to a virtual private gateway.

async fn describe_virtual_gateways( &self, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.DescribeVirtualGateways"); request.set_payload(Some(bytes::Bytes::from_static(b"{}"))); let response = self .sign_and_dispatch(request, DescribeVirtualGatewaysError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Displays all virtual interfaces for an AWS account. Virtual interfaces deleted fewer than 15 minutes before you make the request are also returned. If you specify a connection ID, only the virtual interfaces associated with the connection are returned. If you specify a virtual interface ID, then only a single virtual interface is returned.

A virtual interface (VLAN) transmits the traffic between the AWS Direct Connect location and the customer network.

async fn describe_virtual_interfaces( &self, input: DescribeVirtualInterfacesRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.DescribeVirtualInterfaces"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, DescribeVirtualInterfacesError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Disassociates a connection from a link aggregation group (LAG). The connection is interrupted and re-established as a standalone connection (the connection is not deleted; to delete the connection, use the DeleteConnection request). If the LAG has associated virtual interfaces or hosted connections, they remain associated with the LAG. A disassociated connection owned by an AWS Direct Connect Partner is automatically converted to an interconnect.

If disassociating the connection would cause the LAG to fall below its setting for minimum number of operational connections, the request fails, except when it's the last member of the LAG. If all connections are disassociated, the LAG continues to exist as an empty LAG with no physical connections.

async fn disassociate_connection_from_lag( &self, input: DisassociateConnectionFromLagRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header( "x-amz-target", "OvertureService.DisassociateConnectionFromLag", ); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, DisassociateConnectionFromLagError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Removes the association between a MAC Security (MACsec) security key and an AWS Direct Connect dedicated connection.

async fn disassociate_mac_sec_key( &self, input: DisassociateMacSecKeyRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.DisassociateMacSecKey"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, DisassociateMacSecKeyError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response) .deserialize::() } ///

Lists the virtual interface failover test history.

async fn list_virtual_interface_test_history( &self, input: ListVirtualInterfaceTestHistoryRequest, ) -> Result< ListVirtualInterfaceTestHistoryResponse, RusotoError, > { let mut request = self.new_signed_request("POST", "/"); request.add_header( "x-amz-target", "OvertureService.ListVirtualInterfaceTestHistory", ); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, ListVirtualInterfaceTestHistoryError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response) .deserialize::() } ///

Starts the virtual interface failover test that verifies your configuration meets your resiliency requirements by placing the BGP peering session in the DOWN state. You can then send traffic to verify that there are no outages.

You can run the test on public, private, transit, and hosted virtual interfaces.

You can use ListVirtualInterfaceTestHistory to view the virtual interface test history.

If you need to stop the test before the test interval completes, use StopBgpFailoverTest.

async fn start_bgp_failover_test( &self, input: StartBgpFailoverTestRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.StartBgpFailoverTest"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, StartBgpFailoverTestError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response) .deserialize::() } ///

Stops the virtual interface failover test.

async fn stop_bgp_failover_test( &self, input: StopBgpFailoverTestRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.StopBgpFailoverTest"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, StopBgpFailoverTestError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Adds the specified tags to the specified AWS Direct Connect resource. Each resource can have a maximum of 50 tags.

Each tag consists of a key and an optional value. If a tag with the same key is already associated with the resource, this action updates its value.

async fn tag_resource( &self, input: TagResourceRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.TagResource"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, TagResourceError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Removes one or more tags from the specified AWS Direct Connect resource.

async fn untag_resource( &self, input: UntagResourceRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.UntagResource"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, UntagResourceError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Updates the AWS Direct Connect dedicated connection configuration.

You can update the following parameters for a connection:

  • The connection name

  • The connection's MAC Security (MACsec) encryption mode.

async fn update_connection( &self, input: UpdateConnectionRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.UpdateConnection"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, UpdateConnectionError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Updates the specified attributes of the Direct Connect gateway association.

Add or remove prefixes from the association.

async fn update_direct_connect_gateway_association( &self, input: UpdateDirectConnectGatewayAssociationRequest, ) -> Result< UpdateDirectConnectGatewayAssociationResult, RusotoError, > { let mut request = self.new_signed_request("POST", "/"); request.add_header( "x-amz-target", "OvertureService.UpdateDirectConnectGatewayAssociation", ); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch( request, UpdateDirectConnectGatewayAssociationError::from_response, ) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response) .deserialize::() } ///

Updates the attributes of the specified link aggregation group (LAG).

You can update the following LAG attributes:

  • The name of the LAG.

  • The value for the minimum number of connections that must be operational for the LAG itself to be operational.

  • The LAG's MACsec encryption mode.

    AWS assigns this value to each connection which is part of the LAG.

  • The tags

If you adjust the threshold value for the minimum number of operational connections, ensure that the new value does not cause the LAG to fall below the threshold and become non-operational.

async fn update_lag( &self, input: UpdateLagRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header("x-amz-target", "OvertureService.UpdateLag"); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch(request, UpdateLagError::from_response) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } ///

Updates the specified attributes of the specified virtual private interface.

Setting the MTU of a virtual interface to 9001 (jumbo frames) can cause an update to the underlying physical connection if it wasn't updated to support jumbo frames. Updating the connection disrupts network connectivity for all virtual interfaces associated with the connection for up to 30 seconds. To check whether your connection supports jumbo frames, call DescribeConnections. To check whether your virtual q interface supports jumbo frames, call DescribeVirtualInterfaces.

async fn update_virtual_interface_attributes( &self, input: UpdateVirtualInterfaceAttributesRequest, ) -> Result> { let mut request = self.new_signed_request("POST", "/"); request.add_header( "x-amz-target", "OvertureService.UpdateVirtualInterfaceAttributes", ); let encoded = serde_json::to_string(&input).unwrap(); request.set_payload(Some(encoded)); let response = self .sign_and_dispatch( request, UpdateVirtualInterfaceAttributesError::from_response, ) .await?; let mut response = response; let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?; proto::json::ResponsePayload::new(&response).deserialize::() } }