You are viewing documentation for version 3 of the AWS SDK for Ruby. Version 2 documentation can be found here.

Class: Aws::DirectConnect::Client

Inherits:
Seahorse::Client::Base show all
Includes:
ClientStubs
Defined in:
gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

API Operations collapse

Instance Method Summary collapse

Methods included from ClientStubs

#api_requests, #stub_data, #stub_responses

Methods inherited from Seahorse::Client::Base

add_plugin, api, clear_plugins, define, new, #operation_names, plugins, remove_plugin, set_api, set_plugins

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(*args) ⇒ Client

Returns a new instance of Client

Parameters:

  • options (Hash)

    a customizable set of options



163
164
165
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 163

def initialize(*args)
  super
end

Instance Method Details

#allocate_connection_on_interconnect(params = {}) ⇒ Types::Connection

Deprecated in favor of AllocateHostedConnection.

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 given interconnect.

This is intended for use by AWS Direct Connect partners only.

Examples:

Request syntax with placeholder values


resp = client.allocate_connection_on_interconnect({
  bandwidth: "Bandwidth", # required
  connection_name: "ConnectionName", # required
  owner_account: "OwnerAccount", # required
  interconnect_id: "InterconnectId", # required
  vlan: 1, # required
})

Response structure


resp. #=> String
resp.connection_id #=> String
resp.connection_name #=> String
resp.connection_state #=> String, one of "ordering", "requested", "pending", "available", "down", "deleting", "deleted", "rejected"
resp.region #=> String
resp.location #=> String
resp.bandwidth #=> String
resp.vlan #=> Integer
resp.partner_name #=> String
resp.loa_issue_time #=> Time
resp.lag_id #=> String
resp.aws_device #=> String
resp.aws_device_v2 #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :bandwidth (required, String)

    Bandwidth of the connection.

    Example: "500Mbps"

    Default: None

    Values: 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, or 500Mbps

  • :connection_name (required, String)

    Name of the provisioned connection.

    Example: "500M Connection to AWS"

    Default: None

  • :owner_account (required, String)

    Numeric account Id of the customer for whom the connection will be provisioned.

    Example: 123443215678

    Default: None

  • :interconnect_id (required, String)

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

    Example: dxcon-456abc78

    Default: None

  • :vlan (required, Integer)

    The dedicated VLAN provisioned to the connection.

    Example: 101

    Default: None

Returns:

See Also:



264
265
266
267
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 264

def allocate_connection_on_interconnect(params = {}, options = {})
  req = build_request(:allocate_connection_on_interconnect, params)
  req.send_request(options)
end

#allocate_hosted_connection(params = {}) ⇒ Types::Connection

Creates a hosted connection on an interconnect or a link aggregation group (LAG).

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

This is intended for use by AWS Direct Connect partners only.

Examples:

Request syntax with placeholder values


resp = client.allocate_hosted_connection({
  connection_id: "ConnectionId", # required
  owner_account: "OwnerAccount", # required
  bandwidth: "Bandwidth", # required
  connection_name: "ConnectionName", # required
  vlan: 1, # required
})

Response structure


resp. #=> String
resp.connection_id #=> String
resp.connection_name #=> String
resp.connection_state #=> String, one of "ordering", "requested", "pending", "available", "down", "deleting", "deleted", "rejected"
resp.region #=> String
resp.location #=> String
resp.bandwidth #=> String
resp.vlan #=> Integer
resp.partner_name #=> String
resp.loa_issue_time #=> Time
resp.lag_id #=> String
resp.aws_device #=> String
resp.aws_device_v2 #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :connection_id (required, String)

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

    Example: dxcon-456abc78 or dxlag-abc123

    Default: None

  • :owner_account (required, String)

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

    Example: 123443215678

    Default: None

  • :bandwidth (required, String)

    The bandwidth of the connection.

    Example: 500Mbps

    Default: None

    Values: 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, or 500Mbps

  • :connection_name (required, String)

    The name of the provisioned connection.

    Example: "500M Connection to AWS"

    Default: None

  • :vlan (required, Integer)

    The dedicated VLAN provisioned to the hosted connection.

    Example: 101

    Default: None

Returns:

See Also:



364
365
366
367
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 364

def allocate_hosted_connection(params = {}, options = {})
  req = build_request(:allocate_hosted_connection, params)
  req.send_request(options)
end

#allocate_private_virtual_interface(params = {}) ⇒ Types::VirtualInterface

Provisions a private virtual interface to be owned by another AWS customer.

Virtual interfaces created using this action must be confirmed by the virtual interface owner by using the ConfirmPrivateVirtualInterface action. Until then, the virtual interface will be in 'Confirming' state, and will not be available for handling traffic.

Examples:

Request syntax with placeholder values


resp = client.allocate_private_virtual_interface({
  connection_id: "ConnectionId", # required
  owner_account: "OwnerAccount", # required
  new_private_virtual_interface_allocation: { # required
    virtual_interface_name: "VirtualInterfaceName", # required
    vlan: 1, # required
    asn: 1, # required
    auth_key: "BGPAuthKey",
    amazon_address: "AmazonAddress",
    address_family: "ipv4", # accepts ipv4, ipv6
    customer_address: "CustomerAddress",
  },
})

Response structure


resp. #=> String
resp.virtual_interface_id #=> String
resp.location #=> String
resp.connection_id #=> String
resp.virtual_interface_type #=> String
resp.virtual_interface_name #=> String
resp.vlan #=> Integer
resp.asn #=> Integer
resp.amazon_side_asn #=> Integer
resp.auth_key #=> String
resp.amazon_address #=> String
resp.customer_address #=> String
resp.address_family #=> String, one of "ipv4", "ipv6"
resp.virtual_interface_state #=> String, one of "confirming", "verifying", "pending", "available", "down", "deleting", "deleted", "rejected"
resp.customer_router_config #=> String
resp.virtual_gateway_id #=> String
resp.direct_connect_gateway_id #=> String
resp.route_filter_prefixes #=> Array
resp.route_filter_prefixes[0].cidr #=> String
resp.bgp_peers #=> Array
resp.bgp_peers[0].asn #=> Integer
resp.bgp_peers[0].auth_key #=> String
resp.bgp_peers[0].address_family #=> String, one of "ipv4", "ipv6"
resp.bgp_peers[0].amazon_address #=> String
resp.bgp_peers[0].customer_address #=> String
resp.bgp_peers[0].bgp_peer_state #=> String, one of "verifying", "pending", "available", "deleting", "deleted"
resp.bgp_peers[0].bgp_status #=> String, one of "up", "down"
resp.bgp_peers[0].aws_device_v2 #=> String
resp.region #=> String
resp.aws_device_v2 #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :connection_id (required, String)

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

    Default: None

  • :owner_account (required, String)

    The AWS account that will own the new private virtual interface.

    Default: None

  • :new_private_virtual_interface_allocation (required, Types::NewPrivateVirtualInterfaceAllocation)

    Detailed information for the private virtual interface to be provisioned.

    Default: None

Returns:

See Also:



471
472
473
474
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 471

def allocate_private_virtual_interface(params = {}, options = {})
  req = build_request(:allocate_private_virtual_interface, params)
  req.send_request(options)
end

#allocate_public_virtual_interface(params = {}) ⇒ Types::VirtualInterface

Provisions a public virtual interface to be owned by a different customer.

The owner of a connection calls this function to provision a public virtual interface which will be owned by another AWS customer.

Virtual interfaces created using this function must be confirmed by the virtual interface owner by calling ConfirmPublicVirtualInterface. Until this step has been completed, the virtual interface will be in 'Confirming' state, and will not be available for handling traffic.

When creating an IPv6 public virtual interface (addressFamily is 'ipv6'), the customer and amazon address fields should be left blank to use auto-assigned IPv6 space. Custom IPv6 Addresses are currently not supported.

Examples:

Request syntax with placeholder values


resp = client.allocate_public_virtual_interface({
  connection_id: "ConnectionId", # required
  owner_account: "OwnerAccount", # required
  new_public_virtual_interface_allocation: { # required
    virtual_interface_name: "VirtualInterfaceName", # required
    vlan: 1, # required
    asn: 1, # required
    auth_key: "BGPAuthKey",
    amazon_address: "AmazonAddress",
    customer_address: "CustomerAddress",
    address_family: "ipv4", # accepts ipv4, ipv6
    route_filter_prefixes: [
      {
        cidr: "CIDR",
      },
    ],
  },
})

Response structure


resp. #=> String
resp.virtual_interface_id #=> String
resp.location #=> String
resp.connection_id #=> String
resp.virtual_interface_type #=> String
resp.virtual_interface_name #=> String
resp.vlan #=> Integer
resp.asn #=> Integer
resp.amazon_side_asn #=> Integer
resp.auth_key #=> String
resp.amazon_address #=> String
resp.customer_address #=> String
resp.address_family #=> String, one of "ipv4", "ipv6"
resp.virtual_interface_state #=> String, one of "confirming", "verifying", "pending", "available", "down", "deleting", "deleted", "rejected"
resp.customer_router_config #=> String
resp.virtual_gateway_id #=> String
resp.direct_connect_gateway_id #=> String
resp.route_filter_prefixes #=> Array
resp.route_filter_prefixes[0].cidr #=> String
resp.bgp_peers #=> Array
resp.bgp_peers[0].asn #=> Integer
resp.bgp_peers[0].auth_key #=> String
resp.bgp_peers[0].address_family #=> String, one of "ipv4", "ipv6"
resp.bgp_peers[0].amazon_address #=> String
resp.bgp_peers[0].customer_address #=> String
resp.bgp_peers[0].bgp_peer_state #=> String, one of "verifying", "pending", "available", "deleting", "deleted"
resp.bgp_peers[0].bgp_status #=> String, one of "up", "down"
resp.bgp_peers[0].aws_device_v2 #=> String
resp.region #=> String
resp.aws_device_v2 #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :connection_id (required, String)

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

    Default: None

  • :owner_account (required, String)

    The AWS account that will own the new public virtual interface.

    Default: None

  • :new_public_virtual_interface_allocation (required, Types::NewPublicVirtualInterfaceAllocation)

    Detailed information for the public virtual interface to be provisioned.

    Default: None

Returns:

See Also:



591
592
593
594
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 591

def allocate_public_virtual_interface(params = {}, options = {})
  req = build_request(:allocate_public_virtual_interface, params)
  req.send_request(options)
end

#associate_connection_with_lag(params = {}) ⇒ Types::Connection

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 will be 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 reassociate a connection that's currently associated with a different LAG; however, if removing the connection will 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.

Examples:

Request syntax with placeholder values


resp = client.associate_connection_with_lag({
  connection_id: "ConnectionId", # required
  lag_id: "LagId", # required
})

Response structure


resp. #=> String
resp.connection_id #=> String
resp.connection_name #=> String
resp.connection_state #=> String, one of "ordering", "requested", "pending", "available", "down", "deleting", "deleted", "rejected"
resp.region #=> String
resp.location #=> String
resp.bandwidth #=> String
resp.vlan #=> Integer
resp.partner_name #=> String
resp.loa_issue_time #=> Time
resp.lag_id #=> String
resp.aws_device #=> String
resp.aws_device_v2 #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :connection_id (required, String)

    The ID of the connection.

    Example: dxcon-abc123

    Default: None

  • :lag_id (required, String)

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

    Example: dxlag-abc123

    Default: None

Returns:

See Also:



673
674
675
676
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 673

def associate_connection_with_lag(params = {}, options = {})
  req = build_request(:associate_connection_with_lag, params)
  req.send_request(options)
end

#associate_hosted_connection(params = {}) ⇒ Types::Connection

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.

This is intended for use by AWS Direct Connect partners only.

Examples:

Request syntax with placeholder values


resp = client.associate_hosted_connection({
  connection_id: "ConnectionId", # required
  parent_connection_id: "ConnectionId", # required
})

Response structure


resp. #=> String
resp.connection_id #=> String
resp.connection_name #=> String
resp.connection_state #=> String, one of "ordering", "requested", "pending", "available", "down", "deleting", "deleted", "rejected"
resp.region #=> String
resp.location #=> String
resp.bandwidth #=> String
resp.vlan #=> Integer
resp.partner_name #=> String
resp.loa_issue_time #=> Time
resp.lag_id #=> String
resp.aws_device #=> String
resp.aws_device_v2 #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :connection_id (required, String)

    The ID of the hosted connection.

    Example: dxcon-abc123

    Default: None

  • :parent_connection_id (required, String)

    The ID of the interconnect or the LAG.

    Example: dxcon-abc123 or dxlag-abc123

    Default: None

Returns:

See Also:



745
746
747
748
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 745

def associate_hosted_connection(params = {}, options = {})
  req = build_request(:associate_hosted_connection, params)
  req.send_request(options)
end

#associate_virtual_interface(params = {}) ⇒ Types::VirtualInterface

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.

In order 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 to which the virtual interface will be newly associated.

Examples:

Request syntax with placeholder values


resp = client.associate_virtual_interface({
  virtual_interface_id: "VirtualInterfaceId", # required
  connection_id: "ConnectionId", # required
})

Response structure


resp. #=> String
resp.virtual_interface_id #=> String
resp.location #=> String
resp.connection_id #=> String
resp.virtual_interface_type #=> String
resp.virtual_interface_name #=> String
resp.vlan #=> Integer
resp.asn #=> Integer
resp.amazon_side_asn #=> Integer
resp.auth_key #=> String
resp.amazon_address #=> String
resp.customer_address #=> String
resp.address_family #=> String, one of "ipv4", "ipv6"
resp.virtual_interface_state #=> String, one of "confirming", "verifying", "pending", "available", "down", "deleting", "deleted", "rejected"
resp.customer_router_config #=> String
resp.virtual_gateway_id #=> String
resp.direct_connect_gateway_id #=> String
resp.route_filter_prefixes #=> Array
resp.route_filter_prefixes[0].cidr #=> String
resp.bgp_peers #=> Array
resp.bgp_peers[0].asn #=> Integer
resp.bgp_peers[0].auth_key #=> String
resp.bgp_peers[0].address_family #=> String, one of "ipv4", "ipv6"
resp.bgp_peers[0].amazon_address #=> String
resp.bgp_peers[0].customer_address #=> String
resp.bgp_peers[0].bgp_peer_state #=> String, one of "verifying", "pending", "available", "deleting", "deleted"
resp.bgp_peers[0].bgp_status #=> String, one of "up", "down"
resp.bgp_peers[0].aws_device_v2 #=> String
resp.region #=> String
resp.aws_device_v2 #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :virtual_interface_id (required, String)

    The ID of the virtual interface.

    Example: dxvif-123dfg56

    Default: None

  • :connection_id (required, String)

    The ID of the LAG or connection with which to associate the virtual interface.

    Example: dxlag-abc123 or dxcon-abc123

    Default: None

Returns:

See Also:



849
850
851
852
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 849

def associate_virtual_interface(params = {}, options = {})
  req = build_request(:associate_virtual_interface, params)
  req.send_request(options)
end

#confirm_connection(params = {}) ⇒ Types::ConfirmConnectionResponse

Confirm the creation of a hosted connection on an interconnect.

Upon creation, the hosted connection is initially in the 'Ordering' state, and will remain in this state until the owner calls ConfirmConnection to confirm creation of the hosted connection.

Examples:

Request syntax with placeholder values


resp = client.confirm_connection({
  connection_id: "ConnectionId", # required
})

Response structure


resp.connection_state #=> String, one of "ordering", "requested", "pending", "available", "down", "deleting", "deleted", "rejected"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :connection_id (required, String)

    The ID of the connection. This field is also used as the ID type for operations that use multiple connection types (LAG, interconnect, and/or connection).

    Example: dxcon-fg5678gh

    Default: None

Returns:

See Also:



887
888
889
890
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 887

def confirm_connection(params = {}, options = {})
  req = build_request(:confirm_connection, params)
  req.send_request(options)
end

#confirm_private_virtual_interface(params = {}) ⇒ Types::ConfirmPrivateVirtualInterfaceResponse

Accept ownership of a private virtual interface created by another customer.

After the virtual interface owner calls this function, the virtual interface will be created and attached to the given virtual private gateway or direct connect gateway, and will be available for handling traffic.

Examples:

Request syntax with placeholder values


resp = client.confirm_private_virtual_interface({
  virtual_interface_id: "VirtualInterfaceId", # required
  virtual_gateway_id: "VirtualGatewayId",
  direct_connect_gateway_id: "DirectConnectGatewayId",
})

Response structure


resp.virtual_interface_state #=> String, one of "confirming", "verifying", "pending", "available", "down", "deleting", "deleted", "rejected"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :virtual_interface_id (required, String)

    The ID of the virtual interface.

    Example: dxvif-123dfg56

    Default: None

  • :virtual_gateway_id (String)

    ID of the virtual private gateway that will be attached to the virtual interface.

    A virtual private gateway can be managed via the Amazon Virtual Private Cloud (VPC) console or the EC2 CreateVpnGateway action.

    Default: None

  • :direct_connect_gateway_id (String)

    ID of the direct connect gateway that will be attached to the virtual interface.

    A direct connect gateway can be managed via the AWS Direct Connect console or the CreateDirectConnectGateway action.

    Default: None

Returns:

See Also:



949
950
951
952
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 949

def confirm_private_virtual_interface(params = {}, options = {})
  req = build_request(:confirm_private_virtual_interface, params)
  req.send_request(options)
end

#confirm_public_virtual_interface(params = {}) ⇒ Types::ConfirmPublicVirtualInterfaceResponse

Accept ownership of a public virtual interface created by another customer.

After the virtual interface owner calls this function, the specified virtual interface will be created and made available for handling traffic.

Examples:

Request syntax with placeholder values


resp = client.confirm_public_virtual_interface({
  virtual_interface_id: "VirtualInterfaceId", # required
})

Response structure


resp.virtual_interface_state #=> String, one of "confirming", "verifying", "pending", "available", "down", "deleting", "deleted", "rejected"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :virtual_interface_id (required, String)

    The ID of the virtual interface.

    Example: dxvif-123dfg56

    Default: None

Returns:

See Also:



986
987
988
989
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 986

def confirm_public_virtual_interface(params = {}, options = {})
  req = build_request(:confirm_public_virtual_interface, params)
  req.send_request(options)
end

#create_bgp_peer(params = {}) ⇒ Types::CreateBGPPeerResponse

Creates a new BGP peer on a specified virtual interface. The BGP peer cannot be in the same address family (IPv4/IPv6) of an existing BGP peer on the virtual interface.

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

When creating a IPv6 BGP peer, the Amazon address and customer address fields must be left blank. IPv6 addresses are automatically assigned from Amazon's 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 whitelisted for the virtual interface.

Examples:

Request syntax with placeholder values


resp = client.create_bgp_peer({
  virtual_interface_id: "VirtualInterfaceId",
  new_bgp_peer: {
    asn: 1,
    auth_key: "BGPAuthKey",
    address_family: "ipv4", # accepts ipv4, ipv6
    amazon_address: "AmazonAddress",
    customer_address: "CustomerAddress",
  },
})

Response structure


resp.virtual_interface. #=> String
resp.virtual_interface.virtual_interface_id #=> String
resp.virtual_interface.location #=> String
resp.virtual_interface.connection_id #=> String
resp.virtual_interface.virtual_interface_type #=> String
resp.virtual_interface.virtual_interface_name #=> String
resp.virtual_interface.vlan #=> Integer
resp.virtual_interface.asn #=> Integer
resp.virtual_interface.amazon_side_asn #=> Integer
resp.virtual_interface.auth_key #=> String
resp.virtual_interface.amazon_address #=> String
resp.virtual_interface.customer_address #=> String
resp.virtual_interface.address_family #=> String, one of "ipv4", "ipv6"
resp.virtual_interface.virtual_interface_state #=> String, one of "confirming", "verifying", "pending", "available", "down", "deleting", "deleted", "rejected"
resp.virtual_interface.customer_router_config #=> String
resp.virtual_interface.virtual_gateway_id #=> String
resp.virtual_interface.direct_connect_gateway_id #=> String
resp.virtual_interface.route_filter_prefixes #=> Array
resp.virtual_interface.route_filter_prefixes[0].cidr #=> String
resp.virtual_interface.bgp_peers #=> Array
resp.virtual_interface.bgp_peers[0].asn #=> Integer
resp.virtual_interface.bgp_peers[0].auth_key #=> String
resp.virtual_interface.bgp_peers[0].address_family #=> String, one of "ipv4", "ipv6"
resp.virtual_interface.bgp_peers[0].amazon_address #=> String
resp.virtual_interface.bgp_peers[0].customer_address #=> String
resp.virtual_interface.bgp_peers[0].bgp_peer_state #=> String, one of "verifying", "pending", "available", "deleting", "deleted"
resp.virtual_interface.bgp_peers[0].bgp_status #=> String, one of "up", "down"
resp.virtual_interface.bgp_peers[0].aws_device_v2 #=> String
resp.virtual_interface.region #=> String
resp.virtual_interface.aws_device_v2 #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :virtual_interface_id (String)

    The ID of the virtual interface on which the BGP peer will be provisioned.

    Example: dxvif-456abc78

    Default: None

  • :new_bgp_peer (Types::NewBGPPeer)

    Detailed information for the BGP peer to be created.

    Default: None

Returns:

See Also:



1073
1074
1075
1076
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 1073

def create_bgp_peer(params = {}, options = {})
  req = build_request(:create_bgp_peer, params)
  req.send_request(options)
end

#create_connection(params = {}) ⇒ Types::Connection

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

A connection links your internal network to an AWS Direct Connect location over a standard 1 gigabit or 10 gigabit Ethernet fiber-optic cable. One end of the cable is connected to your router, the other to an AWS Direct Connect router. An AWS Direct Connect location provides access to Amazon Web Services in the region it is associated with. You can establish connections with AWS Direct Connect locations in multiple regions, but a connection in one region does not provide connectivity to other regions.

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 will be created.

Examples:

Request syntax with placeholder values


resp = client.create_connection({
  location: "LocationCode", # required
  bandwidth: "Bandwidth", # required
  connection_name: "ConnectionName", # required
  lag_id: "LagId",
})

Response structure


resp. #=> String
resp.connection_id #=> String
resp.connection_name #=> String
resp.connection_state #=> String, one of "ordering", "requested", "pending", "available", "down", "deleting", "deleted", "rejected"
resp.region #=> String
resp.location #=> String
resp.bandwidth #=> String
resp.vlan #=> Integer
resp.partner_name #=> String
resp.loa_issue_time #=> Time
resp.lag_id #=> String
resp.aws_device #=> String
resp.aws_device_v2 #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :location (required, String)

    Where the connection is located.

    Example: EqSV5

    Default: None

  • :bandwidth (required, String)

    Bandwidth of the connection.

    Example: 1Gbps

    Default: None

  • :connection_name (required, String)

    The name of the connection.

    Example: "My Connection to AWS"

    Default: None

  • :lag_id (String)

    The ID of the LAG.

    Example: dxlag-fg5678gh

Returns:

See Also:



1169
1170
1171
1172
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 1169

def create_connection(params = {}, options = {})
  req = build_request(:create_connection, params)
  req.send_request(options)
end

#create_direct_connect_gateway(params = {}) ⇒ Types::CreateDirectConnectGatewayResult

Creates a new direct connect gateway. A direct connect gateway is an intermediate object that enables you to connect a set of virtual interfaces and virtual private gateways. direct connect gateways are global and visible in any AWS region after they are created. The virtual interfaces and virtual private gateways that are connected through a direct connect gateway can be in different 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.

Examples:

Request syntax with placeholder values


resp = client.create_direct_connect_gateway({
  direct_connect_gateway_name: "DirectConnectGatewayName", # required
  amazon_side_asn: 1,
})

Response structure


resp.direct_connect_gateway.direct_connect_gateway_id #=> String
resp.direct_connect_gateway.direct_connect_gateway_name #=> String
resp.direct_connect_gateway.amazon_side_asn #=> Integer
resp.direct_connect_gateway. #=> String
resp.direct_connect_gateway.direct_connect_gateway_state #=> String, one of "pending", "available", "deleting", "deleted"
resp.direct_connect_gateway.state_change_error #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :direct_connect_gateway_name (required, String)

    The name of the direct connect gateway.

    Example: "My direct connect gateway"

    Default: None

  • :amazon_side_asn (Integer)

    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

    Example: 65200

    Default: 64512

Returns:

See Also:



1225
1226
1227
1228
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 1225

def create_direct_connect_gateway(params = {}, options = {})
  req = build_request(:create_direct_connect_gateway, params)
  req.send_request(options)
end

#create_direct_connect_gateway_association(params = {}) ⇒ Types::CreateDirectConnectGatewayAssociationResult

Creates an association between a direct connect gateway and a virtual private gateway (VGW). The VGW must be attached to a VPC and must not be associated with another direct connect gateway.

Examples:

Request syntax with placeholder values


resp = client.create_direct_connect_gateway_association({
  direct_connect_gateway_id: "DirectConnectGatewayId", # required
  virtual_gateway_id: "VirtualGatewayId", # required
})

Response structure


resp.direct_connect_gateway_association.direct_connect_gateway_id #=> String
resp.direct_connect_gateway_association.virtual_gateway_id #=> String
resp.direct_connect_gateway_association.virtual_gateway_region #=> String
resp.direct_connect_gateway_association. #=> String
resp.direct_connect_gateway_association.association_state #=> String, one of "associating", "associated", "disassociating", "disassociated"
resp.direct_connect_gateway_association.state_change_error #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :direct_connect_gateway_id (required, String)

    The ID of the direct connect gateway.

    Example: "abcd1234-dcba-5678-be23-cdef9876ab45"

    Default: None

  • :virtual_gateway_id (required, String)

    The ID of the virtual private gateway.

    Example: "vgw-abc123ef"

    Default: None

Returns:

See Also:



1272
1273
1274
1275
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 1272

def create_direct_connect_gateway_association(params = {}, options = {})
  req = build_request(:create_direct_connect_gateway_association, params)
  req.send_request(options)
end

#create_interconnect(params = {}) ⇒ Types::Interconnect

Creates a new interconnect between a AWS Direct Connect partner's network and a specific AWS Direct Connect location.

An interconnect is a connection which is capable of hosting other connections. The AWS Direct Connect partner can use an interconnect to provide sub-1Gbps AWS Direct Connect service to tier 2 customers who do not have their own connections. Like a standard connection, an interconnect links the AWS Direct Connect partner's network to an AWS Direct Connect location over a standard 1 Gbps or 10 Gbps 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 will be created.

For each end customer, the AWS Direct Connect partner provisions a connection on their interconnect by calling AllocateConnectionOnInterconnect. 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.

This is intended for use by AWS Direct Connect partners only.

Examples:

Request syntax with placeholder values


resp = client.create_interconnect({
  interconnect_name: "InterconnectName", # required
  bandwidth: "Bandwidth", # required
  location: "LocationCode", # required
  lag_id: "LagId",
})

Response structure


resp.interconnect_id #=> String
resp.interconnect_name #=> String
resp.interconnect_state #=> String, one of "requested", "pending", "available", "down", "deleting", "deleted"
resp.region #=> String
resp.location #=> String
resp.bandwidth #=> String
resp.loa_issue_time #=> Time
resp.lag_id #=> String
resp.aws_device #=> String
resp.aws_device_v2 #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :interconnect_name (required, String)

    The name of the interconnect.

    Example: "1G Interconnect to AWS"

    Default: None

  • :bandwidth (required, String)

    The port bandwidth

    Example: 1Gbps

    Default: None

    Available values: 1Gbps,10Gbps

  • :location (required, String)

    Where the interconnect is located

    Example: EqSV5

    Default: None

  • :lag_id (String)

    The ID of the LAG.

    Example: dxlag-fg5678gh

Returns:

See Also:



1373
1374
1375
1376
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 1373

def create_interconnect(params = {}, options = {})
  req = build_request(:create_interconnect, params)
  req.send_request(options)
end

#create_lag(params = {}) ⇒ Types::Lag

Creates a new link aggregation group (LAG) with the specified number of bundled physical 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 1 gigabit or 10 gigabit interfaces, allowing you to treat them as a single interface.

All connections in a LAG must use the same bandwidth (for example, 10 Gbps), and must terminate at the same AWS Direct Connect endpoint.

You can have up to 10 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 connection or interconnect to include in the LAG (which counts towards the total number of connections). Doing so interrupts the current physical connection or hosted connections, 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 connection terminates. Any virtual interfaces associated with the 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.

Examples:

Request syntax with placeholder values


resp = client.create_lag({
  number_of_connections: 1, # required
  location: "LocationCode", # required
  connections_bandwidth: "Bandwidth", # required
  lag_name: "LagName", # required
  connection_id: "ConnectionId",
})

Response structure


resp.connections_bandwidth #=> String
resp.number_of_connections #=> Integer
resp.lag_id #=> String
resp. #=> String
resp.lag_name #=> String
resp.lag_state #=> String, one of "requested", "pending", "available", "down", "deleting", "deleted"
resp.location #=> String
resp.region #=> String
resp.minimum_links #=> Integer
resp.aws_device #=> String
resp.aws_device_v2 #=> String
resp.connections #=> Array
resp.connections[0]. #=> String
resp.connections[0].connection_id #=> String
resp.connections[0].connection_name #=> String
resp.connections[0].connection_state #=> String, one of "ordering", "requested", "pending", "available", "down", "deleting", "deleted", "rejected"
resp.connections[0].region #=> String
resp.connections[0].location #=> String
resp.connections[0].bandwidth #=> String
resp.connections[0].vlan #=> Integer
resp.connections[0].partner_name #=> String
resp.connections[0].loa_issue_time #=> Time
resp.connections[0].lag_id #=> String
resp.connections[0].aws_device #=> String
resp.connections[0].aws_device_v2 #=> String
resp.allows_hosted_connections #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :number_of_connections (required, Integer)

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

    Default: None

  • :location (required, String)

    The AWS Direct Connect location in which the LAG should be allocated.

    Example: EqSV5

    Default: None

  • :connections_bandwidth (required, String)

    The bandwidth of the individual physical connections bundled by the LAG.

    Default: None

    Available values: 1Gbps, 10Gbps

  • :lag_name (required, String)

    The name of the LAG.

    Example: "3x10G LAG to AWS"

    Default: None

  • :connection_id (String)

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

    Default: None

Returns:

See Also:



1498
1499
1500
1501
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 1498

def create_lag(params = {}, options = {})
  req = build_request(:create_lag, params)
  req.send_request(options)
end

#create_private_virtual_interface(params = {}) ⇒ Types::VirtualInterface

Creates a new private virtual interface. A virtual interface is the VLAN that transports AWS Direct Connect traffic. A private virtual interface supports sending traffic to a single virtual private cloud (VPC).

Examples:

Request syntax with placeholder values


resp = client.create_private_virtual_interface({
  connection_id: "ConnectionId", # required
  new_private_virtual_interface: { # required
    virtual_interface_name: "VirtualInterfaceName", # required
    vlan: 1, # required
    asn: 1, # required
    auth_key: "BGPAuthKey",
    amazon_address: "AmazonAddress",
    customer_address: "CustomerAddress",
    address_family: "ipv4", # accepts ipv4, ipv6
    virtual_gateway_id: "VirtualGatewayId",
    direct_connect_gateway_id: "DirectConnectGatewayId",
  },
})

Response structure


resp. #=> String
resp.virtual_interface_id #=> String
resp.location #=> String
resp.connection_id #=> String
resp.virtual_interface_type #=> String
resp.virtual_interface_name #=> String
resp.vlan #=> Integer
resp.asn #=> Integer
resp.amazon_side_asn #=> Integer
resp.auth_key #=> String
resp.amazon_address #=> String
resp.customer_address #=> String
resp.address_family #=> String, one of "ipv4", "ipv6"
resp.virtual_interface_state #=> String, one of "confirming", "verifying", "pending", "available", "down", "deleting", "deleted", "rejected"
resp.customer_router_config #=> String
resp.virtual_gateway_id #=> String
resp.direct_connect_gateway_id #=> String
resp.route_filter_prefixes #=> Array
resp.route_filter_prefixes[0].cidr #=> String
resp.bgp_peers #=> Array
resp.bgp_peers[0].asn #=> Integer
resp.bgp_peers[0].auth_key #=> String
resp.bgp_peers[0].address_family #=> String, one of "ipv4", "ipv6"
resp.bgp_peers[0].amazon_address #=> String
resp.bgp_peers[0].customer_address #=> String
resp.bgp_peers[0].bgp_peer_state #=> String, one of "verifying", "pending", "available", "deleting", "deleted"
resp.bgp_peers[0].bgp_status #=> String, one of "up", "down"
resp.bgp_peers[0].aws_device_v2 #=> String
resp.region #=> String
resp.aws_device_v2 #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :connection_id (required, String)

    The ID of the connection. This field is also used as the ID type for operations that use multiple connection types (LAG, interconnect, and/or connection).

    Example: dxcon-fg5678gh

    Default: None

  • :new_private_virtual_interface (required, Types::NewPrivateVirtualInterface)

    Detailed information for the private virtual interface to be created.

    Default: None

Returns:

See Also:



1600
1601
1602
1603
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 1600

def create_private_virtual_interface(params = {}, options = {})
  req = build_request(:create_private_virtual_interface, params)
  req.send_request(options)
end

#create_public_virtual_interface(params = {}) ⇒ Types::VirtualInterface

Creates a new 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 Simple Storage Service (Amazon S3).

When creating an IPv6 public virtual interface (addressFamily is 'ipv6'), the customer and amazon address fields should be left blank to use auto-assigned IPv6 space. Custom IPv6 Addresses are currently not supported.

Examples:

Request syntax with placeholder values


resp = client.create_public_virtual_interface({
  connection_id: "ConnectionId", # required
  new_public_virtual_interface: { # required
    virtual_interface_name: "VirtualInterfaceName", # required
    vlan: 1, # required
    asn: 1, # required
    auth_key: "BGPAuthKey",
    amazon_address: "AmazonAddress",
    customer_address: "CustomerAddress",
    address_family: "ipv4", # accepts ipv4, ipv6
    route_filter_prefixes: [
      {
        cidr: "CIDR",
      },
    ],
  },
})

Response structure


resp. #=> String
resp.virtual_interface_id #=> String
resp.location #=> String
resp.connection_id #=> String
resp.virtual_interface_type #=> String
resp.virtual_interface_name #=> String
resp.vlan #=> Integer
resp.asn #=> Integer
resp.amazon_side_asn #=> Integer
resp.auth_key #=> String
resp.amazon_address #=> String
resp.customer_address #=> String
resp.address_family #=> String, one of "ipv4", "ipv6"
resp.virtual_interface_state #=> String, one of "confirming", "verifying", "pending", "available", "down", "deleting", "deleted", "rejected"
resp.customer_router_config #=> String
resp.virtual_gateway_id #=> String
resp.direct_connect_gateway_id #=> String
resp.route_filter_prefixes #=> Array
resp.route_filter_prefixes[0].cidr #=> String
resp.bgp_peers #=> Array
resp.bgp_peers[0].asn #=> Integer
resp.bgp_peers[0].auth_key #=> String
resp.bgp_peers[0].address_family #=> String, one of "ipv4", "ipv6"
resp.bgp_peers[0].amazon_address #=> String
resp.bgp_peers[0].customer_address #=> String
resp.bgp_peers[0].bgp_peer_state #=> String, one of "verifying", "pending", "available", "deleting", "deleted"
resp.bgp_peers[0].bgp_status #=> String, one of "up", "down"
resp.bgp_peers[0].aws_device_v2 #=> String
resp.region #=> String
resp.aws_device_v2 #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :connection_id (required, String)

    The ID of the connection. This field is also used as the ID type for operations that use multiple connection types (LAG, interconnect, and/or connection).

    Example: dxcon-fg5678gh

    Default: None

  • :new_public_virtual_interface (required, Types::NewPublicVirtualInterface)

    Detailed information for the public virtual interface to be created.

    Default: None

Returns:

See Also:



1710
1711
1712
1713
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 1710

def create_public_virtual_interface(params = {}, options = {})
  req = build_request(:create_public_virtual_interface, params)
  req.send_request(options)
end

#delete_bgp_peer(params = {}) ⇒ Types::DeleteBGPPeerResponse

Deletes a BGP peer on the specified virtual interface that matches the specified customer address and ASN. You cannot delete the last BGP peer from a virtual interface.

Examples:

Request syntax with placeholder values


resp = client.delete_bgp_peer({
  virtual_interface_id: "VirtualInterfaceId",
  asn: 1,
  customer_address: "CustomerAddress",
})

Response structure


resp.virtual_interface. #=> String
resp.virtual_interface.virtual_interface_id #=> String
resp.virtual_interface.location #=> String
resp.virtual_interface.connection_id #=> String
resp.virtual_interface.virtual_interface_type #=> String
resp.virtual_interface.virtual_interface_name #=> String
resp.virtual_interface.vlan #=> Integer
resp.virtual_interface.asn #=> Integer
resp.virtual_interface.amazon_side_asn #=> Integer
resp.virtual_interface.auth_key #=> String
resp.virtual_interface.amazon_address #=> String
resp.virtual_interface.customer_address #=> String
resp.virtual_interface.address_family #=> String, one of "ipv4", "ipv6"
resp.virtual_interface.virtual_interface_state #=> String, one of "confirming", "verifying", "pending", "available", "down", "deleting", "deleted", "rejected"
resp.virtual_interface.customer_router_config #=> String
resp.virtual_interface.virtual_gateway_id #=> String
resp.virtual_interface.direct_connect_gateway_id #=> String
resp.virtual_interface.route_filter_prefixes #=> Array
resp.virtual_interface.route_filter_prefixes[0].cidr #=> String
resp.virtual_interface.bgp_peers #=> Array
resp.virtual_interface.bgp_peers[0].asn #=> Integer
resp.virtual_interface.bgp_peers[0].auth_key #=> String
resp.virtual_interface.bgp_peers[0].address_family #=> String, one of "ipv4", "ipv6"
resp.virtual_interface.bgp_peers[0].amazon_address #=> String
resp.virtual_interface.bgp_peers[0].customer_address #=> String
resp.virtual_interface.bgp_peers[0].bgp_peer_state #=> String, one of "verifying", "pending", "available", "deleting", "deleted"
resp.virtual_interface.bgp_peers[0].bgp_status #=> String, one of "up", "down"
resp.virtual_interface.bgp_peers[0].aws_device_v2 #=> String
resp.virtual_interface.region #=> String
resp.virtual_interface.aws_device_v2 #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :virtual_interface_id (String)

    The ID of the virtual interface from which the BGP peer will be deleted.

    Example: dxvif-456abc78

    Default: None

  • :asn (Integer)

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

    Example: 65000

  • :customer_address (String)

    IP address assigned to the customer interface.

    Example: 192.168.1.2/30 or 2001:db8::2/125

Returns:

See Also:



1787
1788
1789
1790
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 1787

def delete_bgp_peer(params = {}, options = {})
  req = build_request(:delete_bgp_peer, params)
  req.send_request(options)
end

#delete_connection(params = {}) ⇒ Types::Connection

Deletes the connection.

Deleting a connection only stops the AWS Direct Connect port hour and data transfer charges. You need to cancel separately with the providers any services or charges for cross-connects or network circuits that connect you to the AWS Direct Connect location.

Examples:

Request syntax with placeholder values


resp = client.delete_connection({
  connection_id: "ConnectionId", # required
})

Response structure


resp. #=> String
resp.connection_id #=> String
resp.connection_name #=> String
resp.connection_state #=> String, one of "ordering", "requested", "pending", "available", "down", "deleting", "deleted", "rejected"
resp.region #=> String
resp.location #=> String
resp.bandwidth #=> String
resp.vlan #=> Integer
resp.partner_name #=> String
resp.loa_issue_time #=> Time
resp.lag_id #=> String
resp.aws_device #=> String
resp.aws_device_v2 #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :connection_id (required, String)

    The ID of the connection. This field is also used as the ID type for operations that use multiple connection types (LAG, interconnect, and/or connection).

    Example: dxcon-fg5678gh

    Default: None

Returns:

See Also:



1850
1851
1852
1853
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 1850

def delete_connection(params = {}, options = {})
  req = build_request(:delete_connection, params)
  req.send_request(options)
end

#delete_direct_connect_gateway(params = {}) ⇒ Types::DeleteDirectConnectGatewayResult

Deletes a direct connect gateway. You must first delete all virtual interfaces that are attached to the direct connect gateway and disassociate all virtual private gateways that are associated with the direct connect gateway.

Examples:

Request syntax with placeholder values


resp = client.delete_direct_connect_gateway({
  direct_connect_gateway_id: "DirectConnectGatewayId", # required
})

Response structure


resp.direct_connect_gateway.direct_connect_gateway_id #=> String
resp.direct_connect_gateway.direct_connect_gateway_name #=> String
resp.direct_connect_gateway.amazon_side_asn #=> Integer
resp.direct_connect_gateway. #=> String
resp.direct_connect_gateway.direct_connect_gateway_state #=> String, one of "pending", "available", "deleting", "deleted"
resp.direct_connect_gateway.state_change_error #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :direct_connect_gateway_id (required, String)

    The ID of the direct connect gateway.

    Example: "abcd1234-dcba-5678-be23-cdef9876ab45"

    Default: None

Returns:

See Also:



1890
1891
1892
1893
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 1890

def delete_direct_connect_gateway(params = {}, options = {})
  req = build_request(:delete_direct_connect_gateway, params)
  req.send_request(options)
end

#delete_direct_connect_gateway_association(params = {}) ⇒ Types::DeleteDirectConnectGatewayAssociationResult

Deletes the association between a direct connect gateway and a virtual private gateway.

Examples:

Request syntax with placeholder values


resp = client.delete_direct_connect_gateway_association({
  direct_connect_gateway_id: "DirectConnectGatewayId", # required
  virtual_gateway_id: "VirtualGatewayId", # required
})

Response structure


resp.direct_connect_gateway_association.direct_connect_gateway_id #=> String
resp.direct_connect_gateway_association.virtual_gateway_id #=> String
resp.direct_connect_gateway_association.virtual_gateway_region #=> String
resp.direct_connect_gateway_association. #=> String
resp.direct_connect_gateway_association.association_state #=> String, one of "associating", "associated", "disassociating", "disassociated"
resp.direct_connect_gateway_association.state_change_error #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :direct_connect_gateway_id (required, String)

    The ID of the direct connect gateway.

    Example: "abcd1234-dcba-5678-be23-cdef9876ab45"

    Default: None

  • :virtual_gateway_id (required, String)

    The ID of the virtual private gateway.

    Example: "vgw-abc123ef"

    Default: None

Returns:

See Also:



1936
1937
1938
1939
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 1936

def delete_direct_connect_gateway_association(params = {}, options = {})
  req = build_request(:delete_direct_connect_gateway_association, params)
  req.send_request(options)
end

#delete_interconnect(params = {}) ⇒ Types::DeleteInterconnectResponse

Deletes the specified interconnect.

This is intended for use by AWS Direct Connect partners only.

Examples:

Request syntax with placeholder values


resp = client.delete_interconnect({
  interconnect_id: "InterconnectId", # required
})

Response structure


resp.interconnect_state #=> String, one of "requested", "pending", "available", "down", "deleting", "deleted"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :interconnect_id (required, String)

    The ID of the interconnect.

    Example: dxcon-abc123

Returns:

See Also:



1970
1971
1972
1973
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 1970

def delete_interconnect(params = {}, options = {})
  req = build_request(:delete_interconnect, params)
  req.send_request(options)
end

#delete_lag(params = {}) ⇒ Types::Lag

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

Examples:

Request syntax with placeholder values


resp = client.delete_lag({
  lag_id: "LagId", # required
})

Response structure


resp.connections_bandwidth #=> String
resp.number_of_connections #=> Integer
resp.lag_id #=> String
resp. #=> String
resp.lag_name #=> String
resp.lag_state #=> String, one of "requested", "pending", "available", "down", "deleting", "deleted"
resp.location #=> String
resp.region #=> String
resp.minimum_links #=> Integer
resp.aws_device #=> String
resp.aws_device_v2 #=> String
resp.connections #=> Array
resp.connections[0]. #=> String
resp.connections[0].connection_id #=> String
resp.connections[0].connection_name #=> String
resp.connections[0].connection_state #=> String, one of "ordering", "requested", "pending", "available", "down", "deleting", "deleted", "rejected"
resp.connections[0].region #=> String
resp.connections[0].location #=> String
resp.connections[0].bandwidth #=> String
resp.connections[0].vlan #=> Integer
resp.connections[0].partner_name #=> String
resp.connections[0].loa_issue_time #=> Time
resp.connections[0].lag_id #=> String
resp.connections[0].aws_device #=> String
resp.connections[0].aws_device_v2 #=> String
resp.allows_hosted_connections #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :lag_id (required, String)

    The ID of the LAG to delete.

    Example: dxlag-abc123

    Default: None

Returns:

See Also:



2040
2041
2042
2043
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 2040

def delete_lag(params = {}, options = {})
  req = build_request(:delete_lag, params)
  req.send_request(options)
end

#delete_virtual_interface(params = {}) ⇒ Types::DeleteVirtualInterfaceResponse

Deletes a virtual interface.

Examples:

Request syntax with placeholder values


resp = client.delete_virtual_interface({
  virtual_interface_id: "VirtualInterfaceId", # required
})

Response structure


resp.virtual_interface_state #=> String, one of "confirming", "verifying", "pending", "available", "down", "deleting", "deleted", "rejected"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :virtual_interface_id (required, String)

    The ID of the virtual interface.

    Example: dxvif-123dfg56

    Default: None

Returns:

See Also:



2072
2073
2074
2075
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 2072

def delete_virtual_interface(params = {}, options = {})
  req = build_request(:delete_virtual_interface, params)
  req.send_request(options)
end

#describe_connection_loa(params = {}) ⇒ Types::DescribeConnectionLoaResponse

Deprecated in favor of DescribeLoa.

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

Examples:

Request syntax with placeholder values


resp = client.describe_connection_loa({
  connection_id: "ConnectionId", # required
  provider_name: "ProviderName",
  loa_content_type: "application/pdf", # accepts application/pdf
})

Response structure


resp.loa.loa_content #=> String
resp.loa.loa_content_type #=> String, one of "application/pdf"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :connection_id (required, String)

    The ID of the connection. This field is also used as the ID type for operations that use multiple connection types (LAG, interconnect, and/or connection).

    Example: dxcon-fg5678gh

    Default: None

  • :provider_name (String)

    The name of the APN partner or 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.

    Default: None

  • :loa_content_type (String)

    A standard media type indicating the content type of the LOA-CFA document. Currently, the only supported value is "application/pdf".

    Default: application/pdf

Returns:

See Also:



2135
2136
2137
2138
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 2135

def describe_connection_loa(params = {}, options = {})
  req = build_request(:describe_connection_loa, params)
  req.send_request(options)
end

#describe_connections(params = {}) ⇒ Types::Connections

Displays all connections in this region.

If a connection ID is provided, the call returns only that particular connection.

Examples:

Request syntax with placeholder values


resp = client.describe_connections({
  connection_id: "ConnectionId",
})

Response structure


resp.connections #=> Array
resp.connections[0]. #=> String
resp.connections[0].connection_id #=> String
resp.connections[0].connection_name #=> String
resp.connections[0].connection_state #=> String, one of "ordering", "requested", "pending", "available", "down", "deleting", "deleted", "rejected"
resp.connections[0].region #=> String
resp.connections[0].location #=> String
resp.connections[0].bandwidth #=> String
resp.connections[0].vlan #=> Integer
resp.connections[0].partner_name #=> String
resp.connections[0].loa_issue_time #=> Time
resp.connections[0].lag_id #=> String
resp.connections[0].aws_device #=> String
resp.connections[0].aws_device_v2 #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :connection_id (String)

    The ID of the connection. This field is also used as the ID type for operations that use multiple connection types (LAG, interconnect, and/or connection).

    Example: dxcon-fg5678gh

    Default: None

Returns:

See Also:



2185
2186
2187
2188
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 2185

def describe_connections(params = {}, options = {})
  req = build_request(:describe_connections, params)
  req.send_request(options)
end

#describe_connections_on_interconnect(params = {}) ⇒ Types::Connections

Deprecated in favor of DescribeHostedConnections.

Returns a list of connections that have been provisioned on the given interconnect.

This is intended for use by AWS Direct Connect partners only.

Examples:

Request syntax with placeholder values


resp = client.describe_connections_on_interconnect({
  interconnect_id: "InterconnectId", # required
})

Response structure


resp.connections #=> Array
resp.connections[0]. #=> String
resp.connections[0].connection_id #=> String
resp.connections[0].connection_name #=> String
resp.connections[0].connection_state #=> String, one of "ordering", "requested", "pending", "available", "down", "deleting", "deleted", "rejected"
resp.connections[0].region #=> String
resp.connections[0].location #=> String
resp.connections[0].bandwidth #=> String
resp.connections[0].vlan #=> Integer
resp.connections[0].partner_name #=> String
resp.connections[0].loa_issue_time #=> Time
resp.connections[0].lag_id #=> String
resp.connections[0].aws_device #=> String
resp.connections[0].aws_device_v2 #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :interconnect_id (required, String)

    ID of the interconnect on which a list of connection is provisioned.

    Example: dxcon-abc123

    Default: None

Returns:

See Also:



2237
2238
2239
2240
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 2237

def describe_connections_on_interconnect(params = {}, options = {})
  req = build_request(:describe_connections_on_interconnect, params)
  req.send_request(options)
end

#describe_direct_connect_gateway_associations(params = {}) ⇒ Types::DescribeDirectConnectGatewayAssociationsResult

Returns a list of all direct connect gateway and virtual private gateway (VGW) associations. Either a direct connect gateway ID or a VGW ID must be provided in the request. If a direct connect gateway ID is provided, the response returns all VGWs associated with the direct connect gateway. If a VGW ID is provided, the response returns all direct connect gateways associated with the VGW. If both are provided, the response only returns the association that matches both the direct connect gateway and the VGW.

Examples:

Request syntax with placeholder values


resp = client.describe_direct_connect_gateway_associations({
  direct_connect_gateway_id: "DirectConnectGatewayId",
  virtual_gateway_id: "VirtualGatewayId",
  max_results: 1,
  next_token: "PaginationToken",
})

Response structure


resp.direct_connect_gateway_associations #=> Array
resp.direct_connect_gateway_associations[0].direct_connect_gateway_id #=> String
resp.direct_connect_gateway_associations[0].virtual_gateway_id #=> String
resp.direct_connect_gateway_associations[0].virtual_gateway_region #=> String
resp.direct_connect_gateway_associations[0]. #=> String
resp.direct_connect_gateway_associations[0].association_state #=> String, one of "associating", "associated", "disassociating", "disassociated"
resp.direct_connect_gateway_associations[0].state_change_error #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :direct_connect_gateway_id (String)

    The ID of the direct connect gateway.

    Example: "abcd1234-dcba-5678-be23-cdef9876ab45"

    Default: None

  • :virtual_gateway_id (String)

    The ID of the virtual private gateway.

    Example: "vgw-abc123ef"

    Default: None

  • :max_results (Integer)

    The maximum number of direct connect gateway associations to return per page.

    Example: 15

    Default: None

  • :next_token (String)

    The token provided in the previous describe result to retrieve the next page of the result.

    Default: None

Returns:

See Also:



2308
2309
2310
2311
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 2308

def describe_direct_connect_gateway_associations(params = {}, options = {})
  req = build_request(:describe_direct_connect_gateway_associations, params)
  req.send_request(options)
end

#describe_direct_connect_gateway_attachments(params = {}) ⇒ Types::DescribeDirectConnectGatewayAttachmentsResult

Returns a list of all direct connect gateway and virtual interface (VIF) attachments. Either a direct connect gateway ID or a VIF ID must be provided in the request. If a direct connect gateway ID is provided, the response returns all VIFs attached to the direct connect gateway. If a VIF ID is provided, the response returns all direct connect gateways attached to the VIF. If both are provided, the response only returns the attachment that matches both the direct connect gateway and the VIF.

Examples:

Request syntax with placeholder values


resp = client.describe_direct_connect_gateway_attachments({
  direct_connect_gateway_id: "DirectConnectGatewayId",
  virtual_interface_id: "VirtualInterfaceId",
  max_results: 1,
  next_token: "PaginationToken",
})

Response structure


resp.direct_connect_gateway_attachments #=> Array
resp.direct_connect_gateway_attachments[0].direct_connect_gateway_id #=> String
resp.direct_connect_gateway_attachments[0].virtual_interface_id #=> String
resp.direct_connect_gateway_attachments[0].virtual_interface_region #=> String
resp.direct_connect_gateway_attachments[0]. #=> String
resp.direct_connect_gateway_attachments[0].attachment_state #=> String, one of "attaching", "attached", "detaching", "detached"
resp.direct_connect_gateway_attachments[0].state_change_error #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :direct_connect_gateway_id (String)

    The ID of the direct connect gateway.

    Example: "abcd1234-dcba-5678-be23-cdef9876ab45"

    Default: None

  • :virtual_interface_id (String)

    The ID of the virtual interface.

    Example: "dxvif-abc123ef"

    Default: None

  • :max_results (Integer)

    The maximum number of direct connect gateway attachments to return per page.

    Example: 15

    Default: None

  • :next_token (String)

    The token provided in the previous describe result to retrieve the next page of the result.

    Default: None

Returns:

See Also:



2379
2380
2381
2382
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 2379

def describe_direct_connect_gateway_attachments(params = {}, options = {})
  req = build_request(:describe_direct_connect_gateway_attachments, params)
  req.send_request(options)
end

#describe_direct_connect_gateways(params = {}) ⇒ Types::DescribeDirectConnectGatewaysResult

Returns a list of direct connect gateways in your account. Deleted direct connect gateways are not returned. You can provide a direct connect gateway ID in the request to return information about the specific direct connect gateway only. Otherwise, if a direct connect gateway ID is not provided, information about all of your direct connect gateways is returned.

Examples:

Request syntax with placeholder values


resp = client.describe_direct_connect_gateways({
  direct_connect_gateway_id: "DirectConnectGatewayId",
  max_results: 1,
  next_token: "PaginationToken",
})

Response structure


resp.direct_connect_gateways #=> Array
resp.direct_connect_gateways[0].direct_connect_gateway_id #=> String
resp.direct_connect_gateways[0].direct_connect_gateway_name #=> String
resp.direct_connect_gateways[0].amazon_side_asn #=> Integer
resp.direct_connect_gateways[0]. #=> String
resp.direct_connect_gateways[0].direct_connect_gateway_state #=> String, one of "pending", "available", "deleting", "deleted"
resp.direct_connect_gateways[0].state_change_error #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :direct_connect_gateway_id (String)

    The ID of the direct connect gateway.

    Example: "abcd1234-dcba-5678-be23-cdef9876ab45"

    Default: None

  • :max_results (Integer)

    The maximum number of direct connect gateways to return per page.

    Example: 15

    Default: None

  • :next_token (String)

    The token provided in the previous describe result to retrieve the next page of the result.

    Default: None

Returns:

See Also:



2439
2440
2441
2442
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 2439

def describe_direct_connect_gateways(params = {}, options = {})
  req = build_request(:describe_direct_connect_gateways, params)
  req.send_request(options)
end

#describe_hosted_connections(params = {}) ⇒ Types::Connections

Returns a list of hosted connections that have been provisioned on the given interconnect or link aggregation group (LAG).

This is intended for use by AWS Direct Connect partners only.

Examples:

Request syntax with placeholder values


resp = client.describe_hosted_connections({
  connection_id: "ConnectionId", # required
})

Response structure


resp.connections #=> Array
resp.connections[0]. #=> String
resp.connections[0].connection_id #=> String
resp.connections[0].connection_name #=> String
resp.connections[0].connection_state #=> String, one of "ordering", "requested", "pending", "available", "down", "deleting", "deleted", "rejected"
resp.connections[0].region #=> String
resp.connections[0].location #=> String
resp.connections[0].bandwidth #=> String
resp.connections[0].vlan #=> Integer
resp.connections[0].partner_name #=> String
resp.connections[0].loa_issue_time #=> Time
resp.connections[0].lag_id #=> String
resp.connections[0].aws_device #=> String
resp.connections[0].aws_device_v2 #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :connection_id (required, String)

    The ID of the interconnect or LAG on which the hosted connections are provisioned.

    Example: dxcon-abc123 or dxlag-abc123

    Default: None

Returns:

See Also:



2490
2491
2492
2493
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 2490

def describe_hosted_connections(params = {}, options = {})
  req = build_request(:describe_hosted_connections, params)
  req.send_request(options)
end

#describe_interconnect_loa(params = {}) ⇒ Types::DescribeInterconnectLoaResponse

Deprecated in favor of DescribeLoa.

Returns the LOA-CFA for an 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.

Examples:

Request syntax with placeholder values


resp = client.describe_interconnect_loa({
  interconnect_id: "InterconnectId", # required
  provider_name: "ProviderName",
  loa_content_type: "application/pdf", # accepts application/pdf
})

Response structure


resp.loa.loa_content #=> String
resp.loa.loa_content_type #=> String, one of "application/pdf"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :interconnect_id (required, String)

    The ID of the interconnect.

    Example: dxcon-abc123

  • :provider_name (String)

    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.

    Default: None

  • :loa_content_type (String)

    A standard media type indicating the content type of the LOA-CFA document. Currently, the only supported value is "application/pdf".

    Default: application/pdf

Returns:

See Also:



2549
2550
2551
2552
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 2549

def describe_interconnect_loa(params = {}, options = {})
  req = build_request(:describe_interconnect_loa, params)
  req.send_request(options)
end

#describe_interconnects(params = {}) ⇒ Types::Interconnects

Returns a list of interconnects owned by the AWS account.

If an interconnect ID is provided, it will only return this particular interconnect.

Examples:

Request syntax with placeholder values


resp = client.describe_interconnects({
  interconnect_id: "InterconnectId",
})

Response structure


resp.interconnects #=> Array
resp.interconnects[0].interconnect_id #=> String
resp.interconnects[0].interconnect_name #=> String
resp.interconnects[0].interconnect_state #=> String, one of "requested", "pending", "available", "down", "deleting", "deleted"
resp.interconnects[0].region #=> String
resp.interconnects[0].location #=> String
resp.interconnects[0].bandwidth #=> String
resp.interconnects[0].loa_issue_time #=> Time
resp.interconnects[0].lag_id #=> String
resp.interconnects[0].aws_device #=> String
resp.interconnects[0].aws_device_v2 #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :interconnect_id (String)

    The ID of the interconnect.

    Example: dxcon-abc123

Returns:

See Also:



2592
2593
2594
2595
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 2592

def describe_interconnects(params = {}, options = {})
  req = build_request(:describe_interconnects, params)
  req.send_request(options)
end

#describe_lags(params = {}) ⇒ Types::Lags

Describes the link aggregation groups (LAGs) in your account.

If a LAG ID is provided, only information about the specified LAG is returned.

Examples:

Request syntax with placeholder values


resp = client.describe_lags({
  lag_id: "LagId",
})

Response structure


resp.lags #=> Array
resp.lags[0].connections_bandwidth #=> String
resp.lags[0].number_of_connections #=> Integer
resp.lags[0].lag_id #=> String
resp.lags[0]. #=> String
resp.lags[0].lag_name #=> String
resp.lags[0].lag_state #=> String, one of "requested", "pending", "available", "down", "deleting", "deleted"
resp.lags[0].location #=> String
resp.lags[0].region #=> String
resp.lags[0].minimum_links #=> Integer
resp.lags[0].aws_device #=> String
resp.lags[0].aws_device_v2 #=> String
resp.lags[0].connections #=> Array
resp.lags[0].connections[0]. #=> String
resp.lags[0].connections[0].connection_id #=> String
resp.lags[0].connections[0].connection_name #=> String
resp.lags[0].connections[0].connection_state #=> String, one of "ordering", "requested", "pending", "available", "down", "deleting", "deleted", "rejected"
resp.lags[0].connections[0].region #=> String
resp.lags[0].connections[0].location #=> String
resp.lags[0].connections[0].bandwidth #=> String
resp.lags[0].connections[0].vlan #=> Integer
resp.lags[0].connections[0].partner_name #=> String
resp.lags[0].connections[0].loa_issue_time #=> Time
resp.lags[0].connections[0].lag_id #=> String
resp.lags[0].connections[0].aws_device #=> String
resp.lags[0].connections[0].aws_device_v2 #=> String
resp.lags[0].allows_hosted_connections #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :lag_id (String)

    The ID of the LAG.

    Example: dxlag-abc123

    Default: None

Returns:

See Also:



2653
2654
2655
2656
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 2653

def describe_lags(params = {}, options = {})
  req = build_request(:describe_lags, params)
  req.send_request(options)
end

#describe_loa(params = {}) ⇒ Types::Loa

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

Examples:

Request syntax with placeholder values


resp = client.describe_loa({
  connection_id: "ConnectionId", # required
  provider_name: "ProviderName",
  loa_content_type: "application/pdf", # accepts application/pdf
})

Response structure


resp.loa_content #=> String
resp.loa_content_type #=> String, one of "application/pdf"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :connection_id (required, String)

    The ID of a connection, LAG, or interconnect for which to get the LOA-CFA information.

    Example: dxcon-abc123 or dxlag-abc123

    Default: None

  • :provider_name (String)

    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.

    Default: None

  • :loa_content_type (String)

    A standard media type indicating the content type of the LOA-CFA document. Currently, the only supported value is "application/pdf".

    Default: application/pdf

Returns:

See Also:



2715
2716
2717
2718
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 2715

def describe_loa(params = {}, options = {})
  req = build_request(:describe_loa, params)
  req.send_request(options)
end

#describe_locations(params = {}) ⇒ Types::Locations

Returns the list of AWS Direct Connect locations in the current AWS region. These are the locations that may be selected when calling CreateConnection or CreateInterconnect.

Examples:

Response structure


resp.locations #=> Array
resp.locations[0].location_code #=> String
resp.locations[0].location_name #=> String
resp.locations[0].region #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Returns:

See Also:



2739
2740
2741
2742
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 2739

def describe_locations(params = {}, options = {})
  req = build_request(:describe_locations, params)
  req.send_request(options)
end

#describe_tags(params = {}) ⇒ Types::DescribeTagsResponse

Describes the tags associated with the specified Direct Connect resources.

Examples:

Request syntax with placeholder values


resp = client.describe_tags({
  resource_arns: ["ResourceArn"], # required
})

Response structure


resp.resource_tags #=> Array
resp.resource_tags[0].resource_arn #=> String
resp.resource_tags[0].tags #=> Array
resp.resource_tags[0].tags[0].key #=> String
resp.resource_tags[0].tags[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_arns (required, Array<String>)

    The Amazon Resource Names (ARNs) of the Direct Connect resources.

Returns:

See Also:



2772
2773
2774
2775
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 2772

def describe_tags(params = {}, options = {})
  req = build_request(:describe_tags, params)
  req.send_request(options)
end

#describe_virtual_gateways(params = {}) ⇒ Types::VirtualGateways

Returns a list of virtual private gateways owned by the AWS account.

You can create one or more AWS Direct Connect private virtual interfaces linking to a virtual private gateway. A virtual private gateway can be managed via Amazon Virtual Private Cloud (VPC) console or the EC2 CreateVpnGateway action.

Examples:

Response structure


resp.virtual_gateways #=> Array
resp.virtual_gateways[0].virtual_gateway_id #=> String
resp.virtual_gateways[0].virtual_gateway_state #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Returns:

See Also:



2802
2803
2804
2805
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 2802

def describe_virtual_gateways(params = {}, options = {})
  req = build_request(:describe_virtual_gateways, params)
  req.send_request(options)
end

#describe_virtual_interfaces(params = {}) ⇒ Types::VirtualInterfaces

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.

Examples:

Request syntax with placeholder values


resp = client.describe_virtual_interfaces({
  connection_id: "ConnectionId",
  virtual_interface_id: "VirtualInterfaceId",
})

Response structure


resp.virtual_interfaces #=> Array
resp.virtual_interfaces[0]. #=> String
resp.virtual_interfaces[0].virtual_interface_id #=> String
resp.virtual_interfaces[0].location #=> String
resp.virtual_interfaces[0].connection_id #=> String
resp.virtual_interfaces[0].virtual_interface_type #=> String
resp.virtual_interfaces[0].virtual_interface_name #=> String
resp.virtual_interfaces[0].vlan #=> Integer
resp.virtual_interfaces[0].asn #=> Integer
resp.virtual_interfaces[0].amazon_side_asn #=> Integer
resp.virtual_interfaces[0].auth_key #=> String
resp.virtual_interfaces[0].amazon_address #=> String
resp.virtual_interfaces[0].customer_address #=> String
resp.virtual_interfaces[0].address_family #=> String, one of "ipv4", "ipv6"
resp.virtual_interfaces[0].virtual_interface_state #=> String, one of "confirming", "verifying", "pending", "available", "down", "deleting", "deleted", "rejected"
resp.virtual_interfaces[0].customer_router_config #=> String
resp.virtual_interfaces[0].virtual_gateway_id #=> String
resp.virtual_interfaces[0].direct_connect_gateway_id #=> String
resp.virtual_interfaces[0].route_filter_prefixes #=> Array
resp.virtual_interfaces[0].route_filter_prefixes[0].cidr #=> String
resp.virtual_interfaces[0].bgp_peers #=> Array
resp.virtual_interfaces[0].bgp_peers[0].asn #=> Integer
resp.virtual_interfaces[0].bgp_peers[0].auth_key #=> String
resp.virtual_interfaces[0].bgp_peers[0].address_family #=> String, one of "ipv4", "ipv6"
resp.virtual_interfaces[0].bgp_peers[0].amazon_address #=> String
resp.virtual_interfaces[0].bgp_peers[0].customer_address #=> String
resp.virtual_interfaces[0].bgp_peers[0].bgp_peer_state #=> String, one of "verifying", "pending", "available", "deleting", "deleted"
resp.virtual_interfaces[0].bgp_peers[0].bgp_status #=> String, one of "up", "down"
resp.virtual_interfaces[0].bgp_peers[0].aws_device_v2 #=> String
resp.virtual_interfaces[0].region #=> String
resp.virtual_interfaces[0].aws_device_v2 #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :connection_id (String)

    The ID of the connection. This field is also used as the ID type for operations that use multiple connection types (LAG, interconnect, and/or connection).

    Example: dxcon-fg5678gh

    Default: None

  • :virtual_interface_id (String)

    The ID of the virtual interface.

    Example: dxvif-123dfg56

    Default: None

Returns:

See Also:



2881
2882
2883
2884
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 2881

def describe_virtual_interfaces(params = {}, options = {})
  req = build_request(:describe_virtual_interfaces, params)
  req.send_request(options)
end

#disassociate_connection_from_lag(params = {}) ⇒ Types::Connection

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

Examples:

Request syntax with placeholder values


resp = client.disassociate_connection_from_lag({
  connection_id: "ConnectionId", # required
  lag_id: "LagId", # required
})

Response structure


resp. #=> String
resp.connection_id #=> String
resp.connection_name #=> String
resp.connection_state #=> String, one of "ordering", "requested", "pending", "available", "down", "deleting", "deleted", "rejected"
resp.region #=> String
resp.location #=> String
resp.bandwidth #=> String
resp.vlan #=> Integer
resp.partner_name #=> String
resp.loa_issue_time #=> Time
resp.lag_id #=> String
resp.aws_device #=> String
resp.aws_device_v2 #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :connection_id (required, String)

    The ID of the connection to disassociate from the LAG.

    Example: dxcon-abc123

    Default: None

  • :lag_id (required, String)

    The ID of the LAG.

    Example: dxlag-abc123

    Default: None

Returns:

See Also:



2957
2958
2959
2960
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 2957

def disassociate_connection_from_lag(params = {}, options = {})
  req = build_request(:disassociate_connection_from_lag, params)
  req.send_request(options)
end

#tag_resource(params = {}) ⇒ Struct

Adds the specified tags to the specified Direct Connect resource. Each Direct Connect 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 Direct Connect resource, this action updates its value.

Examples:

Request syntax with placeholder values


resp = client.tag_resource({
  resource_arn: "ResourceArn", # required
  tags: [ # required
    {
      key: "TagKey", # required
      value: "TagValue",
    },
  ],
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the Direct Connect resource.

    Example: arn:aws:directconnect:us-east-1:123456789012:dxcon/dxcon-fg5678gh

  • :tags (required, Array<Types::Tag>)

    The list of tags to add.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2996
2997
2998
2999
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 2996

def tag_resource(params = {}, options = {})
  req = build_request(:tag_resource, params)
  req.send_request(options)
end

#untag_resource(params = {}) ⇒ Struct

Removes one or more tags from the specified Direct Connect resource.

Examples:

Request syntax with placeholder values


resp = client.untag_resource({
  resource_arn: "ResourceArn", # required
  tag_keys: ["TagKey"], # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the Direct Connect resource.

  • :tag_keys (required, Array<String>)

    The list of tag keys to remove.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



3022
3023
3024
3025
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 3022

def untag_resource(params = {}, options = {})
  req = build_request(:untag_resource, params)
  req.send_request(options)
end

#update_lag(params = {}) ⇒ Types::Lag

Updates the attributes of a link aggregation group (LAG).

You can update the following 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.

When you create a LAG, the default value for the minimum number of operational connections is zero (0). If you update this value, and the number of operational connections falls below the specified value, the LAG will automatically go down to avoid overutilization of the remaining connections. Adjusting this value should be done with care as it could force the LAG down if the value is set higher than the current number of operational connections.

Examples:

Request syntax with placeholder values


resp = client.update_lag({
  lag_id: "LagId", # required
  lag_name: "LagName",
  minimum_links: 1,
})

Response structure


resp.connections_bandwidth #=> String
resp.number_of_connections #=> Integer
resp.lag_id #=> String
resp. #=> String
resp.lag_name #=> String
resp.lag_state #=> String, one of "requested", "pending", "available", "down", "deleting", "deleted"
resp.location #=> String
resp.region #=> String
resp.minimum_links #=> Integer
resp.aws_device #=> String
resp.aws_device_v2 #=> String
resp.connections #=> Array
resp.connections[0]. #=> String
resp.connections[0].connection_id #=> String
resp.connections[0].connection_name #=> String
resp.connections[0].connection_state #=> String, one of "ordering", "requested", "pending", "available", "down", "deleting", "deleted", "rejected"
resp.connections[0].region #=> String
resp.connections[0].location #=> String
resp.connections[0].bandwidth #=> String
resp.connections[0].vlan #=> Integer
resp.connections[0].partner_name #=> String
resp.connections[0].loa_issue_time #=> Time
resp.connections[0].lag_id #=> String
resp.connections[0].aws_device #=> String
resp.connections[0].aws_device_v2 #=> String
resp.allows_hosted_connections #=> Boolean

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :lag_id (required, String)

    The ID of the LAG to update.

    Example: dxlag-abc123

    Default: None

  • :lag_name (String)

    The name for the LAG.

    Example: "3x10G LAG to AWS"

    Default: None

  • :minimum_links (Integer)

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

    Default: None

Returns:

See Also:



3121
3122
3123
3124
# File 'gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb', line 3121

def update_lag(params = {}, options = {})
  req = build_request(:update_lag, params)
  req.send_request(options)
end