directconnect

package
v0.6.3-0...-33db649 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 16, 2015 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

Package directconnect provides a client for AWS Direct Connect.

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AllocateConnectionOnInterconnectInput

type AllocateConnectionOnInterconnectInput struct {
	// Bandwidth of the connection.
	//
	// Example: "500Mbps"
	//
	// Default: None
	Bandwidth *string `locationName:"bandwidth" type:"string" required:"true"`

	// Name of the provisioned connection.
	//
	// Example: "500M Connection to AWS"
	//
	// Default: None
	ConnectionName *string `locationName:"connectionName" type:"string" required:"true"`

	// ID of the interconnect on which the connection will be provisioned.
	//
	// Example: dxcon-456abc78
	//
	// Default: None
	InterconnectID *string `locationName:"interconnectId" type:"string" required:"true"`

	// Numeric account Id of the customer for whom the connection will be provisioned.
	//
	// Example: 123443215678
	//
	// Default: None
	OwnerAccount *string `locationName:"ownerAccount" type:"string" required:"true"`

	// The dedicated VLAN provisioned to the connection.
	//
	// Example: 101
	//
	// Default: None
	VLAN *int64 `locationName:"vlan" type:"integer" required:"true"`
	// contains filtered or unexported fields
}

Container for the parameters to the AllocateConnectionOnInterconnect operation.

type AllocatePrivateVirtualInterfaceInput

type AllocatePrivateVirtualInterfaceInput struct {
	// The connection ID on which the private virtual interface is provisioned.
	//
	// Default: None
	ConnectionID *string `locationName:"connectionId" type:"string" required:"true"`

	// Detailed information for the private virtual interface to be provisioned.
	//
	// Default: None
	NewPrivateVirtualInterfaceAllocation *NewPrivateVirtualInterfaceAllocation `locationName:"newPrivateVirtualInterfaceAllocation" type:"structure" required:"true"`

	// The AWS account that will own the new private virtual interface.
	//
	// Default: None
	OwnerAccount *string `locationName:"ownerAccount" type:"string" required:"true"`
	// contains filtered or unexported fields
}

Container for the parameters to the AllocatePrivateVirtualInterface operation.

type AllocatePublicVirtualInterfaceInput

type AllocatePublicVirtualInterfaceInput struct {
	// The connection ID on which the public virtual interface is provisioned.
	//
	// Default: None
	ConnectionID *string `locationName:"connectionId" type:"string" required:"true"`

	// Detailed information for the public virtual interface to be provisioned.
	//
	// Default: None
	NewPublicVirtualInterfaceAllocation *NewPublicVirtualInterfaceAllocation `locationName:"newPublicVirtualInterfaceAllocation" type:"structure" required:"true"`

	// The AWS account that will own the new public virtual interface.
	//
	// Default: None
	OwnerAccount *string `locationName:"ownerAccount" type:"string" required:"true"`
	// contains filtered or unexported fields
}

Container for the parameters to the AllocatePublicVirtualInterface operation.

type ConfirmConnectionInput

type ConfirmConnectionInput struct {
	// ID of the connection.
	//
	// Example: dxcon-fg5678gh
	//
	// Default: None
	ConnectionID *string `locationName:"connectionId" type:"string" required:"true"`
	// contains filtered or unexported fields
}

Container for the parameters to the ConfirmConnection operation.

type ConfirmConnectionOutput

type ConfirmConnectionOutput struct {
	// State of the connection.   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.  Deleted: The connection has been
	// deleted.  Rejected: A hosted connection in the 'Ordering' state will enter
	// the 'Rejected' state if it is deleted by the end customer.
	ConnectionState *string `locationName:"connectionState" type:"string"`
	// contains filtered or unexported fields
}

The response received when ConfirmConnection is called.

type ConfirmPrivateVirtualInterfaceInput

type ConfirmPrivateVirtualInterfaceInput struct {
	// 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 (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateVpnGateway.html)
	// action.
	//
	// Default: None
	VirtualGatewayID *string `locationName:"virtualGatewayId" type:"string" required:"true"`

	// ID of the virtual interface.
	//
	// Example: dxvif-123dfg56
	//
	// Default: None
	VirtualInterfaceID *string `locationName:"virtualInterfaceId" type:"string" required:"true"`
	// contains filtered or unexported fields
}

Container for the parameters to the ConfirmPrivateVirtualInterface operation.

type ConfirmPrivateVirtualInterfaceOutput

type ConfirmPrivateVirtualInterfaceOutput struct {
	// State of the virtual interface.   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.  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 will enter
	// the 'Rejected' state.
	VirtualInterfaceState *string `locationName:"virtualInterfaceState" type:"string"`
	// contains filtered or unexported fields
}

The response received when ConfirmPrivateVirtualInterface is called.

type ConfirmPublicVirtualInterfaceInput

type ConfirmPublicVirtualInterfaceInput struct {
	// ID of the virtual interface.
	//
	// Example: dxvif-123dfg56
	//
	// Default: None
	VirtualInterfaceID *string `locationName:"virtualInterfaceId" type:"string" required:"true"`
	// contains filtered or unexported fields
}

Container for the parameters to the ConfirmPublicVirtualInterface operation.

type ConfirmPublicVirtualInterfaceOutput

type ConfirmPublicVirtualInterfaceOutput struct {
	// State of the virtual interface.   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.  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 will enter
	// the 'Rejected' state.
	VirtualInterfaceState *string `locationName:"virtualInterfaceState" type:"string"`
	// contains filtered or unexported fields
}

The response received when ConfirmPublicVirtualInterface is called.

type Connection

type Connection struct {
	// Bandwidth of the connection.
	//
	// Example: 1Gbps (for regular connections), or 500Mbps (for hosted connections)
	//
	// Default: None
	Bandwidth *string `locationName:"bandwidth" type:"string"`

	// ID of the connection.
	//
	// Example: dxcon-fg5678gh
	//
	// Default: None
	ConnectionID *string `locationName:"connectionId" type:"string"`

	// The name of the connection.
	//
	// Example: "My Connection to AWS"
	//
	// Default: None
	ConnectionName *string `locationName:"connectionName" type:"string"`

	// State of the connection.   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.  Deleted: The connection has been
	// deleted.  Rejected: A hosted connection in the 'Ordering' state will enter
	// the 'Rejected' state if it is deleted by the end customer.
	ConnectionState *string `locationName:"connectionState" type:"string"`

	// Where the connection is located.
	//
	// Example: EqSV5
	//
	// Default: None
	Location *string `locationName:"location" type:"string"`

	OwnerAccount *string `locationName:"ownerAccount" type:"string"`

	PartnerName *string `locationName:"partnerName" type:"string"`

	// The AWS region where the connection is located.
	//
	// Example: us-east-1
	//
	// Default: None
	Region *string `locationName:"region" type:"string"`

	// The VLAN ID.
	//
	// Example: 101
	VLAN *int64 `locationName:"vlan" type:"integer"`
	// contains filtered or unexported fields
}

A connection represents the physical network connection between the AWS Direct Connect location and the customer.

type Connections

type Connections struct {
	// A list of connections.
	Connections []*Connection `locationName:"connections" type:"list"`
	// contains filtered or unexported fields
}

A structure containing a list of connections.

type CreateConnectionInput

type CreateConnectionInput struct {
	// Bandwidth of the connection.
	//
	// Example: 1Gbps
	//
	// Default: None
	Bandwidth *string `locationName:"bandwidth" type:"string" required:"true"`

	// The name of the connection.
	//
	// Example: "My Connection to AWS"
	//
	// Default: None
	ConnectionName *string `locationName:"connectionName" type:"string" required:"true"`

	// Where the connection is located.
	//
	// Example: EqSV5
	//
	// Default: None
	Location *string `locationName:"location" type:"string" required:"true"`
	// contains filtered or unexported fields
}

Container for the parameters to the CreateConnection operation.

type CreateInterconnectInput

type CreateInterconnectInput struct {
	// The port bandwidth
	//
	// Example: 1Gbps
	//
	// Default: None
	//
	// Available values: 1Gbps,10Gbps
	Bandwidth *string `locationName:"bandwidth" type:"string" required:"true"`

	// The name of the interconnect.
	//
	// Example: "1G Interconnect to AWS"
	//
	// Default: None
	InterconnectName *string `locationName:"interconnectName" type:"string" required:"true"`

	// Where the interconnect is located
	//
	// Example: EqSV5
	//
	// Default: None
	Location *string `locationName:"location" type:"string" required:"true"`
	// contains filtered or unexported fields
}

Container for the parameters to the CreateInterconnect operation.

type CreatePrivateVirtualInterfaceInput

type CreatePrivateVirtualInterfaceInput struct {
	// ID of the connection.
	//
	// Example: dxcon-fg5678gh
	//
	// Default: None
	ConnectionID *string `locationName:"connectionId" type:"string" required:"true"`

	// Detailed information for the private virtual interface to be created.
	//
	// Default: None
	NewPrivateVirtualInterface *NewPrivateVirtualInterface `locationName:"newPrivateVirtualInterface" type:"structure" required:"true"`
	// contains filtered or unexported fields
}

Container for the parameters to the CreatePrivateVirtualInterface operation.

type CreatePublicVirtualInterfaceInput

type CreatePublicVirtualInterfaceInput struct {
	// ID of the connection.
	//
	// Example: dxcon-fg5678gh
	//
	// Default: None
	ConnectionID *string `locationName:"connectionId" type:"string" required:"true"`

	// Detailed information for the public virtual interface to be created.
	//
	// Default: None
	NewPublicVirtualInterface *NewPublicVirtualInterface `locationName:"newPublicVirtualInterface" type:"structure" required:"true"`
	// contains filtered or unexported fields
}

Container for the parameters to the CreatePublicVirtualInterface operation.

type DeleteConnectionInput

type DeleteConnectionInput struct {
	// ID of the connection.
	//
	// Example: dxcon-fg5678gh
	//
	// Default: None
	ConnectionID *string `locationName:"connectionId" type:"string" required:"true"`
	// contains filtered or unexported fields
}

Container for the parameters to the DeleteConnection operation.

type DeleteInterconnectInput

type DeleteInterconnectInput struct {
	// The ID of the interconnect.
	//
	// Example: dxcon-abc123
	InterconnectID *string `locationName:"interconnectId" type:"string" required:"true"`
	// contains filtered or unexported fields
}

Container for the parameters to the DeleteInterconnect operation.

type DeleteInterconnectOutput

type DeleteInterconnectOutput struct {
	// State of the interconnect.   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 has been approved,
	// and is being initialized.  Available: The network link is up, and the interconnect
	// is ready for use.  Down: The network link is down.  Deleted: The interconnect
	// has been deleted.
	InterconnectState *string `locationName:"interconnectState" type:"string"`
	// contains filtered or unexported fields
}

The response received when DeleteInterconnect is called.

type DeleteVirtualInterfaceInput

type DeleteVirtualInterfaceInput struct {
	// ID of the virtual interface.
	//
	// Example: dxvif-123dfg56
	//
	// Default: None
	VirtualInterfaceID *string `locationName:"virtualInterfaceId" type:"string" required:"true"`
	// contains filtered or unexported fields
}

Container for the parameters to the DeleteVirtualInterface operation.

type DeleteVirtualInterfaceOutput

type DeleteVirtualInterfaceOutput struct {
	// State of the virtual interface.   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.  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 will enter
	// the 'Rejected' state.
	VirtualInterfaceState *string `locationName:"virtualInterfaceState" type:"string"`
	// contains filtered or unexported fields
}

The response received when DeleteVirtualInterface is called.

type DescribeConnectionsInput

type DescribeConnectionsInput struct {
	// ID of the connection.
	//
	// Example: dxcon-fg5678gh
	//
	// Default: None
	ConnectionID *string `locationName:"connectionId" type:"string"`
	// contains filtered or unexported fields
}

Container for the parameters to the DescribeConnections operation.

type DescribeConnectionsOnInterconnectInput

type DescribeConnectionsOnInterconnectInput struct {
	// ID of the interconnect on which a list of connection is provisioned.
	//
	// Example: dxcon-abc123
	//
	// Default: None
	InterconnectID *string `locationName:"interconnectId" type:"string" required:"true"`
	// contains filtered or unexported fields
}

Container for the parameters to the DescribeConnectionsOnInterconnect operation.

type DescribeInterconnectsInput

type DescribeInterconnectsInput struct {
	// The ID of the interconnect.
	//
	// Example: dxcon-abc123
	InterconnectID *string `locationName:"interconnectId" type:"string"`
	// contains filtered or unexported fields
}

Container for the parameters to the DescribeInterconnects operation.

type DescribeInterconnectsOutput

type DescribeInterconnectsOutput struct {
	// A list of interconnects.
	Interconnects []*Interconnect `locationName:"interconnects" type:"list"`
	// contains filtered or unexported fields
}

A structure containing a list of interconnects.

type DescribeLocationsInput

type DescribeLocationsInput struct {
	// contains filtered or unexported fields
}

type DescribeLocationsOutput

type DescribeLocationsOutput struct {
	Locations []*Location `locationName:"locations" type:"list"`
	// contains filtered or unexported fields
}

type DescribeVirtualGatewaysInput

type DescribeVirtualGatewaysInput struct {
	// contains filtered or unexported fields
}

type DescribeVirtualGatewaysOutput

type DescribeVirtualGatewaysOutput struct {
	// A list of virtual private gateways.
	VirtualGateways []*VirtualGateway `locationName:"virtualGateways" type:"list"`
	// contains filtered or unexported fields
}

A structure containing a list of virtual private gateways.

type DescribeVirtualInterfacesInput

type DescribeVirtualInterfacesInput struct {
	// ID of the connection.
	//
	// Example: dxcon-fg5678gh
	//
	// Default: None
	ConnectionID *string `locationName:"connectionId" type:"string"`

	// ID of the virtual interface.
	//
	// Example: dxvif-123dfg56
	//
	// Default: None
	VirtualInterfaceID *string `locationName:"virtualInterfaceId" type:"string"`
	// contains filtered or unexported fields
}

Container for the parameters to the DescribeVirtualInterfaces operation.

type DescribeVirtualInterfacesOutput

type DescribeVirtualInterfacesOutput struct {
	// A list of virtual interfaces.
	VirtualInterfaces []*VirtualInterface `locationName:"virtualInterfaces" type:"list"`
	// contains filtered or unexported fields
}

A structure containing a list of virtual interfaces.

type DirectConnect

type DirectConnect struct {
	*aws.Service
}

DirectConnect is a client for AWS Direct Connect.

func New

func New(config *aws.Config) *DirectConnect

New returns a new DirectConnect client.

func (*DirectConnect) AllocateConnectionOnInterconnect

func (c *DirectConnect) AllocateConnectionOnInterconnect(input *AllocateConnectionOnInterconnectInput) (*Connection, error)

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.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/awsutil"
	"github.com/aws/aws-sdk-go/service/directconnect"
)

func main() {
	svc := directconnect.New(nil)

	params := &directconnect.AllocateConnectionOnInterconnectInput{
		Bandwidth:      aws.String("Bandwidth"),      // Required
		ConnectionName: aws.String("ConnectionName"), // Required
		InterconnectID: aws.String("InterconnectId"), // Required
		OwnerAccount:   aws.String("OwnerAccount"),   // Required
		VLAN:           aws.Long(1),                  // Required
	}
	resp, err := svc.AllocateConnectionOnInterconnect(params)

	if err != nil {
		if awsErr, ok := err.(awserr.Error); ok {
			// Generic AWS Error with Code, Message, and original error (if any)
			fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
			if reqErr, ok := err.(awserr.RequestFailure); ok {
				// A service error occurred
				fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
			}
		} else {
			// This case should never be hit, the SDK should always return an
			// error which satisfies the awserr.Error interface.
			fmt.Println(err.Error())
		}
	}

	// Pretty-print the response data.
	fmt.Println(awsutil.StringValue(resp))
}
Output:

func (*DirectConnect) AllocateConnectionOnInterconnectRequest

func (c *DirectConnect) AllocateConnectionOnInterconnectRequest(input *AllocateConnectionOnInterconnectInput) (req *aws.Request, output *Connection)

AllocateConnectionOnInterconnectRequest generates a request for the AllocateConnectionOnInterconnect operation.

func (*DirectConnect) AllocatePrivateVirtualInterface

func (c *DirectConnect) AllocatePrivateVirtualInterface(input *AllocatePrivateVirtualInterfaceInput) (*VirtualInterface, error)

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

The owner of a connection calls this function to provision a private 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 ConfirmPrivateVirtualInterface. Until this step has been completed, the virtual interface will be in 'Confirming' state, and will not be available for handling traffic.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/awsutil"
	"github.com/aws/aws-sdk-go/service/directconnect"
)

func main() {
	svc := directconnect.New(nil)

	params := &directconnect.AllocatePrivateVirtualInterfaceInput{
		ConnectionID: aws.String("ConnectionId"), // Required
		NewPrivateVirtualInterfaceAllocation: &directconnect.NewPrivateVirtualInterfaceAllocation{ // Required
			ASN:                  aws.Long(1),                        // Required
			VLAN:                 aws.Long(1),                        // Required
			VirtualInterfaceName: aws.String("VirtualInterfaceName"), // Required
			AmazonAddress:        aws.String("AmazonAddress"),
			AuthKey:              aws.String("BGPAuthKey"),
			CustomerAddress:      aws.String("CustomerAddress"),
		},
		OwnerAccount: aws.String("OwnerAccount"), // Required
	}
	resp, err := svc.AllocatePrivateVirtualInterface(params)

	if err != nil {
		if awsErr, ok := err.(awserr.Error); ok {
			// Generic AWS Error with Code, Message, and original error (if any)
			fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
			if reqErr, ok := err.(awserr.RequestFailure); ok {
				// A service error occurred
				fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
			}
		} else {
			// This case should never be hit, the SDK should always return an
			// error which satisfies the awserr.Error interface.
			fmt.Println(err.Error())
		}
	}

	// Pretty-print the response data.
	fmt.Println(awsutil.StringValue(resp))
}
Output:

func (*DirectConnect) AllocatePrivateVirtualInterfaceRequest

func (c *DirectConnect) AllocatePrivateVirtualInterfaceRequest(input *AllocatePrivateVirtualInterfaceInput) (req *aws.Request, output *VirtualInterface)

AllocatePrivateVirtualInterfaceRequest generates a request for the AllocatePrivateVirtualInterface operation.

func (*DirectConnect) AllocatePublicVirtualInterface

func (c *DirectConnect) AllocatePublicVirtualInterface(input *AllocatePublicVirtualInterfaceInput) (*VirtualInterface, error)

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.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/awsutil"
	"github.com/aws/aws-sdk-go/service/directconnect"
)

func main() {
	svc := directconnect.New(nil)

	params := &directconnect.AllocatePublicVirtualInterfaceInput{
		ConnectionID: aws.String("ConnectionId"), // Required
		NewPublicVirtualInterfaceAllocation: &directconnect.NewPublicVirtualInterfaceAllocation{ // Required
			ASN:             aws.Long(1),                   // Required
			AmazonAddress:   aws.String("AmazonAddress"),   // Required
			CustomerAddress: aws.String("CustomerAddress"), // Required
			RouteFilterPrefixes: []*directconnect.RouteFilterPrefix{ // Required
				{ // Required
					CIDR: aws.String("CIDR"),
				},
				// More values...
			},
			VLAN:                 aws.Long(1),                        // Required
			VirtualInterfaceName: aws.String("VirtualInterfaceName"), // Required
			AuthKey:              aws.String("BGPAuthKey"),
		},
		OwnerAccount: aws.String("OwnerAccount"), // Required
	}
	resp, err := svc.AllocatePublicVirtualInterface(params)

	if err != nil {
		if awsErr, ok := err.(awserr.Error); ok {
			// Generic AWS Error with Code, Message, and original error (if any)
			fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
			if reqErr, ok := err.(awserr.RequestFailure); ok {
				// A service error occurred
				fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
			}
		} else {
			// This case should never be hit, the SDK should always return an
			// error which satisfies the awserr.Error interface.
			fmt.Println(err.Error())
		}
	}

	// Pretty-print the response data.
	fmt.Println(awsutil.StringValue(resp))
}
Output:

func (*DirectConnect) AllocatePublicVirtualInterfaceRequest

func (c *DirectConnect) AllocatePublicVirtualInterfaceRequest(input *AllocatePublicVirtualInterfaceInput) (req *aws.Request, output *VirtualInterface)

AllocatePublicVirtualInterfaceRequest generates a request for the AllocatePublicVirtualInterface operation.

func (*DirectConnect) ConfirmConnection

func (c *DirectConnect) ConfirmConnection(input *ConfirmConnectionInput) (*ConfirmConnectionOutput, error)

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.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/awsutil"
	"github.com/aws/aws-sdk-go/service/directconnect"
)

func main() {
	svc := directconnect.New(nil)

	params := &directconnect.ConfirmConnectionInput{
		ConnectionID: aws.String("ConnectionId"), // Required
	}
	resp, err := svc.ConfirmConnection(params)

	if err != nil {
		if awsErr, ok := err.(awserr.Error); ok {
			// Generic AWS Error with Code, Message, and original error (if any)
			fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
			if reqErr, ok := err.(awserr.RequestFailure); ok {
				// A service error occurred
				fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
			}
		} else {
			// This case should never be hit, the SDK should always return an
			// error which satisfies the awserr.Error interface.
			fmt.Println(err.Error())
		}
	}

	// Pretty-print the response data.
	fmt.Println(awsutil.StringValue(resp))
}
Output:

func (*DirectConnect) ConfirmConnectionRequest

func (c *DirectConnect) ConfirmConnectionRequest(input *ConfirmConnectionInput) (req *aws.Request, output *ConfirmConnectionOutput)

ConfirmConnectionRequest generates a request for the ConfirmConnection operation.

func (*DirectConnect) ConfirmPrivateVirtualInterface

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, and will be available for handling traffic.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/awsutil"
	"github.com/aws/aws-sdk-go/service/directconnect"
)

func main() {
	svc := directconnect.New(nil)

	params := &directconnect.ConfirmPrivateVirtualInterfaceInput{
		VirtualGatewayID:   aws.String("VirtualGatewayId"),   // Required
		VirtualInterfaceID: aws.String("VirtualInterfaceId"), // Required
	}
	resp, err := svc.ConfirmPrivateVirtualInterface(params)

	if err != nil {
		if awsErr, ok := err.(awserr.Error); ok {
			// Generic AWS Error with Code, Message, and original error (if any)
			fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
			if reqErr, ok := err.(awserr.RequestFailure); ok {
				// A service error occurred
				fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
			}
		} else {
			// This case should never be hit, the SDK should always return an
			// error which satisfies the awserr.Error interface.
			fmt.Println(err.Error())
		}
	}

	// Pretty-print the response data.
	fmt.Println(awsutil.StringValue(resp))
}
Output:

func (*DirectConnect) ConfirmPrivateVirtualInterfaceRequest

func (c *DirectConnect) ConfirmPrivateVirtualInterfaceRequest(input *ConfirmPrivateVirtualInterfaceInput) (req *aws.Request, output *ConfirmPrivateVirtualInterfaceOutput)

ConfirmPrivateVirtualInterfaceRequest generates a request for the ConfirmPrivateVirtualInterface operation.

func (*DirectConnect) ConfirmPublicVirtualInterface

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.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/awsutil"
	"github.com/aws/aws-sdk-go/service/directconnect"
)

func main() {
	svc := directconnect.New(nil)

	params := &directconnect.ConfirmPublicVirtualInterfaceInput{
		VirtualInterfaceID: aws.String("VirtualInterfaceId"), // Required
	}
	resp, err := svc.ConfirmPublicVirtualInterface(params)

	if err != nil {
		if awsErr, ok := err.(awserr.Error); ok {
			// Generic AWS Error with Code, Message, and original error (if any)
			fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
			if reqErr, ok := err.(awserr.RequestFailure); ok {
				// A service error occurred
				fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
			}
		} else {
			// This case should never be hit, the SDK should always return an
			// error which satisfies the awserr.Error interface.
			fmt.Println(err.Error())
		}
	}

	// Pretty-print the response data.
	fmt.Println(awsutil.StringValue(resp))
}
Output:

func (*DirectConnect) ConfirmPublicVirtualInterfaceRequest

func (c *DirectConnect) ConfirmPublicVirtualInterfaceRequest(input *ConfirmPublicVirtualInterfaceInput) (req *aws.Request, output *ConfirmPublicVirtualInterfaceOutput)

ConfirmPublicVirtualInterfaceRequest generates a request for the ConfirmPublicVirtualInterface operation.

func (*DirectConnect) CreateConnection

func (c *DirectConnect) CreateConnection(input *CreateConnectionInput) (*Connection, error)

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.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/awsutil"
	"github.com/aws/aws-sdk-go/service/directconnect"
)

func main() {
	svc := directconnect.New(nil)

	params := &directconnect.CreateConnectionInput{
		Bandwidth:      aws.String("Bandwidth"),      // Required
		ConnectionName: aws.String("ConnectionName"), // Required
		Location:       aws.String("LocationCode"),   // Required
	}
	resp, err := svc.CreateConnection(params)

	if err != nil {
		if awsErr, ok := err.(awserr.Error); ok {
			// Generic AWS Error with Code, Message, and original error (if any)
			fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
			if reqErr, ok := err.(awserr.RequestFailure); ok {
				// A service error occurred
				fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
			}
		} else {
			// This case should never be hit, the SDK should always return an
			// error which satisfies the awserr.Error interface.
			fmt.Println(err.Error())
		}
	}

	// Pretty-print the response data.
	fmt.Println(awsutil.StringValue(resp))
}
Output:

func (*DirectConnect) CreateConnectionRequest

func (c *DirectConnect) CreateConnectionRequest(input *CreateConnectionInput) (req *aws.Request, output *Connection)

CreateConnectionRequest generates a request for the CreateConnection operation.

func (*DirectConnect) CreateInterconnect

func (c *DirectConnect) CreateInterconnect(input *CreateInterconnectInput) (*Interconnect, error)

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.

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.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/awsutil"
	"github.com/aws/aws-sdk-go/service/directconnect"
)

func main() {
	svc := directconnect.New(nil)

	params := &directconnect.CreateInterconnectInput{
		Bandwidth:        aws.String("Bandwidth"),        // Required
		InterconnectName: aws.String("InterconnectName"), // Required
		Location:         aws.String("LocationCode"),     // Required
	}
	resp, err := svc.CreateInterconnect(params)

	if err != nil {
		if awsErr, ok := err.(awserr.Error); ok {
			// Generic AWS Error with Code, Message, and original error (if any)
			fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
			if reqErr, ok := err.(awserr.RequestFailure); ok {
				// A service error occurred
				fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
			}
		} else {
			// This case should never be hit, the SDK should always return an
			// error which satisfies the awserr.Error interface.
			fmt.Println(err.Error())
		}
	}

	// Pretty-print the response data.
	fmt.Println(awsutil.StringValue(resp))
}
Output:

func (*DirectConnect) CreateInterconnectRequest

func (c *DirectConnect) CreateInterconnectRequest(input *CreateInterconnectInput) (req *aws.Request, output *Interconnect)

CreateInterconnectRequest generates a request for the CreateInterconnect operation.

func (*DirectConnect) CreatePrivateVirtualInterface

func (c *DirectConnect) CreatePrivateVirtualInterface(input *CreatePrivateVirtualInterfaceInput) (*VirtualInterface, error)

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

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/awsutil"
	"github.com/aws/aws-sdk-go/service/directconnect"
)

func main() {
	svc := directconnect.New(nil)

	params := &directconnect.CreatePrivateVirtualInterfaceInput{
		ConnectionID: aws.String("ConnectionId"), // Required
		NewPrivateVirtualInterface: &directconnect.NewPrivateVirtualInterface{ // Required
			ASN:                  aws.Long(1),                        // Required
			VLAN:                 aws.Long(1),                        // Required
			VirtualGatewayID:     aws.String("VirtualGatewayId"),     // Required
			VirtualInterfaceName: aws.String("VirtualInterfaceName"), // Required
			AmazonAddress:        aws.String("AmazonAddress"),
			AuthKey:              aws.String("BGPAuthKey"),
			CustomerAddress:      aws.String("CustomerAddress"),
		},
	}
	resp, err := svc.CreatePrivateVirtualInterface(params)

	if err != nil {
		if awsErr, ok := err.(awserr.Error); ok {
			// Generic AWS Error with Code, Message, and original error (if any)
			fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
			if reqErr, ok := err.(awserr.RequestFailure); ok {
				// A service error occurred
				fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
			}
		} else {
			// This case should never be hit, the SDK should always return an
			// error which satisfies the awserr.Error interface.
			fmt.Println(err.Error())
		}
	}

	// Pretty-print the response data.
	fmt.Println(awsutil.StringValue(resp))
}
Output:

func (*DirectConnect) CreatePrivateVirtualInterfaceRequest

func (c *DirectConnect) CreatePrivateVirtualInterfaceRequest(input *CreatePrivateVirtualInterfaceInput) (req *aws.Request, output *VirtualInterface)

CreatePrivateVirtualInterfaceRequest generates a request for the CreatePrivateVirtualInterface operation.

func (*DirectConnect) CreatePublicVirtualInterface

func (c *DirectConnect) CreatePublicVirtualInterface(input *CreatePublicVirtualInterfaceInput) (*VirtualInterface, error)

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

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/awsutil"
	"github.com/aws/aws-sdk-go/service/directconnect"
)

func main() {
	svc := directconnect.New(nil)

	params := &directconnect.CreatePublicVirtualInterfaceInput{
		ConnectionID: aws.String("ConnectionId"), // Required
		NewPublicVirtualInterface: &directconnect.NewPublicVirtualInterface{ // Required
			ASN:             aws.Long(1),                   // Required
			AmazonAddress:   aws.String("AmazonAddress"),   // Required
			CustomerAddress: aws.String("CustomerAddress"), // Required
			RouteFilterPrefixes: []*directconnect.RouteFilterPrefix{ // Required
				{ // Required
					CIDR: aws.String("CIDR"),
				},
				// More values...
			},
			VLAN:                 aws.Long(1),                        // Required
			VirtualInterfaceName: aws.String("VirtualInterfaceName"), // Required
			AuthKey:              aws.String("BGPAuthKey"),
		},
	}
	resp, err := svc.CreatePublicVirtualInterface(params)

	if err != nil {
		if awsErr, ok := err.(awserr.Error); ok {
			// Generic AWS Error with Code, Message, and original error (if any)
			fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
			if reqErr, ok := err.(awserr.RequestFailure); ok {
				// A service error occurred
				fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
			}
		} else {
			// This case should never be hit, the SDK should always return an
			// error which satisfies the awserr.Error interface.
			fmt.Println(err.Error())
		}
	}

	// Pretty-print the response data.
	fmt.Println(awsutil.StringValue(resp))
}
Output:

func (*DirectConnect) CreatePublicVirtualInterfaceRequest

func (c *DirectConnect) CreatePublicVirtualInterfaceRequest(input *CreatePublicVirtualInterfaceInput) (req *aws.Request, output *VirtualInterface)

CreatePublicVirtualInterfaceRequest generates a request for the CreatePublicVirtualInterface operation.

func (*DirectConnect) DeleteConnection

func (c *DirectConnect) DeleteConnection(input *DeleteConnectionInput) (*Connection, error)

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.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/awsutil"
	"github.com/aws/aws-sdk-go/service/directconnect"
)

func main() {
	svc := directconnect.New(nil)

	params := &directconnect.DeleteConnectionInput{
		ConnectionID: aws.String("ConnectionId"), // Required
	}
	resp, err := svc.DeleteConnection(params)

	if err != nil {
		if awsErr, ok := err.(awserr.Error); ok {
			// Generic AWS Error with Code, Message, and original error (if any)
			fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
			if reqErr, ok := err.(awserr.RequestFailure); ok {
				// A service error occurred
				fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
			}
		} else {
			// This case should never be hit, the SDK should always return an
			// error which satisfies the awserr.Error interface.
			fmt.Println(err.Error())
		}
	}

	// Pretty-print the response data.
	fmt.Println(awsutil.StringValue(resp))
}
Output:

func (*DirectConnect) DeleteConnectionRequest

func (c *DirectConnect) DeleteConnectionRequest(input *DeleteConnectionInput) (req *aws.Request, output *Connection)

DeleteConnectionRequest generates a request for the DeleteConnection operation.

func (*DirectConnect) DeleteInterconnect

func (c *DirectConnect) DeleteInterconnect(input *DeleteInterconnectInput) (*DeleteInterconnectOutput, error)

Deletes the specified interconnect.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/awsutil"
	"github.com/aws/aws-sdk-go/service/directconnect"
)

func main() {
	svc := directconnect.New(nil)

	params := &directconnect.DeleteInterconnectInput{
		InterconnectID: aws.String("InterconnectId"), // Required
	}
	resp, err := svc.DeleteInterconnect(params)

	if err != nil {
		if awsErr, ok := err.(awserr.Error); ok {
			// Generic AWS Error with Code, Message, and original error (if any)
			fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
			if reqErr, ok := err.(awserr.RequestFailure); ok {
				// A service error occurred
				fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
			}
		} else {
			// This case should never be hit, the SDK should always return an
			// error which satisfies the awserr.Error interface.
			fmt.Println(err.Error())
		}
	}

	// Pretty-print the response data.
	fmt.Println(awsutil.StringValue(resp))
}
Output:

func (*DirectConnect) DeleteInterconnectRequest

func (c *DirectConnect) DeleteInterconnectRequest(input *DeleteInterconnectInput) (req *aws.Request, output *DeleteInterconnectOutput)

DeleteInterconnectRequest generates a request for the DeleteInterconnect operation.

func (*DirectConnect) DeleteVirtualInterface

func (c *DirectConnect) DeleteVirtualInterface(input *DeleteVirtualInterfaceInput) (*DeleteVirtualInterfaceOutput, error)

Deletes a virtual interface.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/awsutil"
	"github.com/aws/aws-sdk-go/service/directconnect"
)

func main() {
	svc := directconnect.New(nil)

	params := &directconnect.DeleteVirtualInterfaceInput{
		VirtualInterfaceID: aws.String("VirtualInterfaceId"), // Required
	}
	resp, err := svc.DeleteVirtualInterface(params)

	if err != nil {
		if awsErr, ok := err.(awserr.Error); ok {
			// Generic AWS Error with Code, Message, and original error (if any)
			fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
			if reqErr, ok := err.(awserr.RequestFailure); ok {
				// A service error occurred
				fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
			}
		} else {
			// This case should never be hit, the SDK should always return an
			// error which satisfies the awserr.Error interface.
			fmt.Println(err.Error())
		}
	}

	// Pretty-print the response data.
	fmt.Println(awsutil.StringValue(resp))
}
Output:

func (*DirectConnect) DeleteVirtualInterfaceRequest

func (c *DirectConnect) DeleteVirtualInterfaceRequest(input *DeleteVirtualInterfaceInput) (req *aws.Request, output *DeleteVirtualInterfaceOutput)

DeleteVirtualInterfaceRequest generates a request for the DeleteVirtualInterface operation.

func (*DirectConnect) DescribeConnections

func (c *DirectConnect) DescribeConnections(input *DescribeConnectionsInput) (*Connections, error)

Displays all connections in this region.

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

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/awsutil"
	"github.com/aws/aws-sdk-go/service/directconnect"
)

func main() {
	svc := directconnect.New(nil)

	params := &directconnect.DescribeConnectionsInput{
		ConnectionID: aws.String("ConnectionId"),
	}
	resp, err := svc.DescribeConnections(params)

	if err != nil {
		if awsErr, ok := err.(awserr.Error); ok {
			// Generic AWS Error with Code, Message, and original error (if any)
			fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
			if reqErr, ok := err.(awserr.RequestFailure); ok {
				// A service error occurred
				fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
			}
		} else {
			// This case should never be hit, the SDK should always return an
			// error which satisfies the awserr.Error interface.
			fmt.Println(err.Error())
		}
	}

	// Pretty-print the response data.
	fmt.Println(awsutil.StringValue(resp))
}
Output:

func (*DirectConnect) DescribeConnectionsOnInterconnect

func (c *DirectConnect) DescribeConnectionsOnInterconnect(input *DescribeConnectionsOnInterconnectInput) (*Connections, error)

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

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/awsutil"
	"github.com/aws/aws-sdk-go/service/directconnect"
)

func main() {
	svc := directconnect.New(nil)

	params := &directconnect.DescribeConnectionsOnInterconnectInput{
		InterconnectID: aws.String("InterconnectId"), // Required
	}
	resp, err := svc.DescribeConnectionsOnInterconnect(params)

	if err != nil {
		if awsErr, ok := err.(awserr.Error); ok {
			// Generic AWS Error with Code, Message, and original error (if any)
			fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
			if reqErr, ok := err.(awserr.RequestFailure); ok {
				// A service error occurred
				fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
			}
		} else {
			// This case should never be hit, the SDK should always return an
			// error which satisfies the awserr.Error interface.
			fmt.Println(err.Error())
		}
	}

	// Pretty-print the response data.
	fmt.Println(awsutil.StringValue(resp))
}
Output:

func (*DirectConnect) DescribeConnectionsOnInterconnectRequest

func (c *DirectConnect) DescribeConnectionsOnInterconnectRequest(input *DescribeConnectionsOnInterconnectInput) (req *aws.Request, output *Connections)

DescribeConnectionsOnInterconnectRequest generates a request for the DescribeConnectionsOnInterconnect operation.

func (*DirectConnect) DescribeConnectionsRequest

func (c *DirectConnect) DescribeConnectionsRequest(input *DescribeConnectionsInput) (req *aws.Request, output *Connections)

DescribeConnectionsRequest generates a request for the DescribeConnections operation.

func (*DirectConnect) DescribeInterconnects

func (c *DirectConnect) DescribeInterconnects(input *DescribeInterconnectsInput) (*DescribeInterconnectsOutput, error)

Returns a list of interconnects owned by the AWS account.

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

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/awsutil"
	"github.com/aws/aws-sdk-go/service/directconnect"
)

func main() {
	svc := directconnect.New(nil)

	params := &directconnect.DescribeInterconnectsInput{
		InterconnectID: aws.String("InterconnectId"),
	}
	resp, err := svc.DescribeInterconnects(params)

	if err != nil {
		if awsErr, ok := err.(awserr.Error); ok {
			// Generic AWS Error with Code, Message, and original error (if any)
			fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
			if reqErr, ok := err.(awserr.RequestFailure); ok {
				// A service error occurred
				fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
			}
		} else {
			// This case should never be hit, the SDK should always return an
			// error which satisfies the awserr.Error interface.
			fmt.Println(err.Error())
		}
	}

	// Pretty-print the response data.
	fmt.Println(awsutil.StringValue(resp))
}
Output:

func (*DirectConnect) DescribeInterconnectsRequest

func (c *DirectConnect) DescribeInterconnectsRequest(input *DescribeInterconnectsInput) (req *aws.Request, output *DescribeInterconnectsOutput)

DescribeInterconnectsRequest generates a request for the DescribeInterconnects operation.

func (*DirectConnect) DescribeLocations

func (c *DirectConnect) DescribeLocations(input *DescribeLocationsInput) (*DescribeLocationsOutput, error)

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.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/awsutil"
	"github.com/aws/aws-sdk-go/service/directconnect"
)

func main() {
	svc := directconnect.New(nil)

	var params *directconnect.DescribeLocationsInput
	resp, err := svc.DescribeLocations(params)

	if err != nil {
		if awsErr, ok := err.(awserr.Error); ok {
			// Generic AWS Error with Code, Message, and original error (if any)
			fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
			if reqErr, ok := err.(awserr.RequestFailure); ok {
				// A service error occurred
				fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
			}
		} else {
			// This case should never be hit, the SDK should always return an
			// error which satisfies the awserr.Error interface.
			fmt.Println(err.Error())
		}
	}

	// Pretty-print the response data.
	fmt.Println(awsutil.StringValue(resp))
}
Output:

func (*DirectConnect) DescribeLocationsRequest

func (c *DirectConnect) DescribeLocationsRequest(input *DescribeLocationsInput) (req *aws.Request, output *DescribeLocationsOutput)

DescribeLocationsRequest generates a request for the DescribeLocations operation.

func (*DirectConnect) DescribeVirtualGateways

func (c *DirectConnect) DescribeVirtualGateways(input *DescribeVirtualGatewaysInput) (*DescribeVirtualGatewaysOutput, error)

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 (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateVpnGateway.html) action.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/awsutil"
	"github.com/aws/aws-sdk-go/service/directconnect"
)

func main() {
	svc := directconnect.New(nil)

	var params *directconnect.DescribeVirtualGatewaysInput
	resp, err := svc.DescribeVirtualGateways(params)

	if err != nil {
		if awsErr, ok := err.(awserr.Error); ok {
			// Generic AWS Error with Code, Message, and original error (if any)
			fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
			if reqErr, ok := err.(awserr.RequestFailure); ok {
				// A service error occurred
				fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
			}
		} else {
			// This case should never be hit, the SDK should always return an
			// error which satisfies the awserr.Error interface.
			fmt.Println(err.Error())
		}
	}

	// Pretty-print the response data.
	fmt.Println(awsutil.StringValue(resp))
}
Output:

func (*DirectConnect) DescribeVirtualGatewaysRequest

func (c *DirectConnect) DescribeVirtualGatewaysRequest(input *DescribeVirtualGatewaysInput) (req *aws.Request, output *DescribeVirtualGatewaysOutput)

DescribeVirtualGatewaysRequest generates a request for the DescribeVirtualGateways operation.

func (*DirectConnect) DescribeVirtualInterfaces

func (c *DirectConnect) DescribeVirtualInterfaces(input *DescribeVirtualInterfacesInput) (*DescribeVirtualInterfacesOutput, error)

Displays all virtual interfaces for an AWS account. Virtual interfaces deleted fewer than 15 minutes before DescribeVirtualInterfaces is called are also returned. If a connection ID is included then only virtual interfaces associated with this connection will be returned. If a virtual interface ID is included then only a single virtual interface will be returned.

A virtual interface (VLAN) transmits the traffic between the AWS Direct Connect location and the customer.

If a connection ID is provided, only virtual interfaces provisioned on the specified connection will be returned. If a virtual interface ID is provided, only this particular virtual interface will be returned.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/awsutil"
	"github.com/aws/aws-sdk-go/service/directconnect"
)

func main() {
	svc := directconnect.New(nil)

	params := &directconnect.DescribeVirtualInterfacesInput{
		ConnectionID:       aws.String("ConnectionId"),
		VirtualInterfaceID: aws.String("VirtualInterfaceId"),
	}
	resp, err := svc.DescribeVirtualInterfaces(params)

	if err != nil {
		if awsErr, ok := err.(awserr.Error); ok {
			// Generic AWS Error with Code, Message, and original error (if any)
			fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
			if reqErr, ok := err.(awserr.RequestFailure); ok {
				// A service error occurred
				fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
			}
		} else {
			// This case should never be hit, the SDK should always return an
			// error which satisfies the awserr.Error interface.
			fmt.Println(err.Error())
		}
	}

	// Pretty-print the response data.
	fmt.Println(awsutil.StringValue(resp))
}
Output:

func (*DirectConnect) DescribeVirtualInterfacesRequest

func (c *DirectConnect) DescribeVirtualInterfacesRequest(input *DescribeVirtualInterfacesInput) (req *aws.Request, output *DescribeVirtualInterfacesOutput)

DescribeVirtualInterfacesRequest generates a request for the DescribeVirtualInterfaces operation.

type Interconnect

type Interconnect struct {
	// Bandwidth of the connection.
	//
	// Example: 1Gbps
	//
	// Default: None
	Bandwidth *string `locationName:"bandwidth" type:"string"`

	// The ID of the interconnect.
	//
	// Example: dxcon-abc123
	InterconnectID *string `locationName:"interconnectId" type:"string"`

	// The name of the interconnect.
	//
	// Example: "1G Interconnect to AWS"
	InterconnectName *string `locationName:"interconnectName" type:"string"`

	// State of the interconnect.   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 has been approved,
	// and is being initialized.  Available: The network link is up, and the interconnect
	// is ready for use.  Down: The network link is down.  Deleted: The interconnect
	// has been deleted.
	InterconnectState *string `locationName:"interconnectState" type:"string"`

	// Where the connection is located.
	//
	// Example: EqSV5
	//
	// Default: None
	Location *string `locationName:"location" type:"string"`

	// The AWS region where the connection is located.
	//
	// Example: us-east-1
	//
	// Default: None
	Region *string `locationName:"region" type:"string"`
	// contains filtered or unexported fields
}

An interconnect is a connection that can host other connections.

Like a standard AWS Direct Connect connection, an interconnect represents the physical connection between an AWS Direct Connect partner's network and a specific Direct Connect location. An AWS Direct Connect partner who owns an interconnect can provision hosted connections on the interconnect for their end customers, thereby providing the end customers with connectivity to AWS services.

The resources of the interconnect, including bandwidth and VLAN numbers, are shared by all of the hosted connections on the interconnect, and the owner of the interconnect determines how these resources are assigned.

type Location

type Location struct {
	// The code used to indicate the AWS Direct Connect location.
	LocationCode *string `locationName:"locationCode" type:"string"`

	// The name of the AWS Direct Connect location. The name includes the colocation
	// partner name and the physical site of the lit building.
	LocationName *string `locationName:"locationName" type:"string"`
	// contains filtered or unexported fields
}

An AWS Direct Connect location where connections and interconnects can be requested.

type NewPrivateVirtualInterface

type NewPrivateVirtualInterface struct {
	// Autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
	//
	// Example: 65000
	ASN *int64 `locationName:"asn" type:"integer" required:"true"`

	// IP address assigned to the Amazon interface.
	//
	// Example: 192.168.1.1/30
	AmazonAddress *string `locationName:"amazonAddress" type:"string"`

	// Authentication key for BGP configuration.
	//
	// Example: asdf34example
	AuthKey *string `locationName:"authKey" type:"string"`

	// IP address assigned to the customer interface.
	//
	// Example: 192.168.1.2/30
	CustomerAddress *string `locationName:"customerAddress" type:"string"`

	// The VLAN ID.
	//
	// Example: 101
	VLAN *int64 `locationName:"vlan" type:"integer" required:"true"`

	// The ID of the virtual private gateway to a VPC. This only applies to private
	// virtual interfaces.
	//
	// Example: vgw-123er56
	VirtualGatewayID *string `locationName:"virtualGatewayId" type:"string" required:"true"`

	// The name of the virtual interface assigned by the customer.
	//
	// Example: "My VPC"
	VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string" required:"true"`
	// contains filtered or unexported fields
}

A structure containing information about a new private virtual interface.

type NewPrivateVirtualInterfaceAllocation

type NewPrivateVirtualInterfaceAllocation struct {
	// Autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
	//
	// Example: 65000
	ASN *int64 `locationName:"asn" type:"integer" required:"true"`

	// IP address assigned to the Amazon interface.
	//
	// Example: 192.168.1.1/30
	AmazonAddress *string `locationName:"amazonAddress" type:"string"`

	// Authentication key for BGP configuration.
	//
	// Example: asdf34example
	AuthKey *string `locationName:"authKey" type:"string"`

	// IP address assigned to the customer interface.
	//
	// Example: 192.168.1.2/30
	CustomerAddress *string `locationName:"customerAddress" type:"string"`

	// The VLAN ID.
	//
	// Example: 101
	VLAN *int64 `locationName:"vlan" type:"integer" required:"true"`

	// The name of the virtual interface assigned by the customer.
	//
	// Example: "My VPC"
	VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string" required:"true"`
	// contains filtered or unexported fields
}

A structure containing information about a private virtual interface that will be provisioned on a connection.

type NewPublicVirtualInterface

type NewPublicVirtualInterface struct {
	// Autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
	//
	// Example: 65000
	ASN *int64 `locationName:"asn" type:"integer" required:"true"`

	// IP address assigned to the Amazon interface.
	//
	// Example: 192.168.1.1/30
	AmazonAddress *string `locationName:"amazonAddress" type:"string" required:"true"`

	// Authentication key for BGP configuration.
	//
	// Example: asdf34example
	AuthKey *string `locationName:"authKey" type:"string"`

	// IP address assigned to the customer interface.
	//
	// Example: 192.168.1.2/30
	CustomerAddress *string `locationName:"customerAddress" type:"string" required:"true"`

	// A list of routes to be advertised to the AWS network in this region (public
	// virtual interface) or your VPC (private virtual interface).
	RouteFilterPrefixes []*RouteFilterPrefix `locationName:"routeFilterPrefixes" type:"list" required:"true"`

	// The VLAN ID.
	//
	// Example: 101
	VLAN *int64 `locationName:"vlan" type:"integer" required:"true"`

	// The name of the virtual interface assigned by the customer.
	//
	// Example: "My VPC"
	VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string" required:"true"`
	// contains filtered or unexported fields
}

A structure containing information about a new public virtual interface.

type NewPublicVirtualInterfaceAllocation

type NewPublicVirtualInterfaceAllocation struct {
	// Autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
	//
	// Example: 65000
	ASN *int64 `locationName:"asn" type:"integer" required:"true"`

	// IP address assigned to the Amazon interface.
	//
	// Example: 192.168.1.1/30
	AmazonAddress *string `locationName:"amazonAddress" type:"string" required:"true"`

	// Authentication key for BGP configuration.
	//
	// Example: asdf34example
	AuthKey *string `locationName:"authKey" type:"string"`

	// IP address assigned to the customer interface.
	//
	// Example: 192.168.1.2/30
	CustomerAddress *string `locationName:"customerAddress" type:"string" required:"true"`

	// A list of routes to be advertised to the AWS network in this region (public
	// virtual interface) or your VPC (private virtual interface).
	RouteFilterPrefixes []*RouteFilterPrefix `locationName:"routeFilterPrefixes" type:"list" required:"true"`

	// The VLAN ID.
	//
	// Example: 101
	VLAN *int64 `locationName:"vlan" type:"integer" required:"true"`

	// The name of the virtual interface assigned by the customer.
	//
	// Example: "My VPC"
	VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string" required:"true"`
	// contains filtered or unexported fields
}

A structure containing information about a public virtual interface that will be provisioned on a connection.

type RouteFilterPrefix

type RouteFilterPrefix struct {
	// CIDR notation for the advertised route. Multiple routes are separated by
	// commas.
	//
	// Example: 10.10.10.0/24,10.10.11.0/24
	CIDR *string `locationName:"cidr" type:"string"`
	// contains filtered or unexported fields
}

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

type VirtualGateway

type VirtualGateway struct {
	// The ID of the virtual private gateway to a VPC. This only applies to private
	// virtual interfaces.
	//
	// Example: vgw-123er56
	VirtualGatewayID *string `locationName:"virtualGatewayId" type:"string"`

	// State of the virtual private gateway.   Pending: This is the initial state
	// after calling CreateVpnGateway.  Available: Ready for use by a private virtual
	// interface.  Deleting: This is the initial state after calling DeleteVpnGateway.
	//  Deleted: In this state, a private virtual interface is unable to send traffic
	// over this gateway.
	VirtualGatewayState *string `locationName:"virtualGatewayState" type:"string"`
	// contains filtered or unexported fields
}

You can create one or more AWS Direct Connect private virtual interfaces linking to your virtual private gateway.

Virtual private gateways can be managed using the Amazon Virtual Private Cloud (Amazon VPC) console or the Amazon EC2 CreateVpnGateway action (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateVpnGateway.html).

type VirtualInterface

type VirtualInterface struct {
	// Autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
	//
	// Example: 65000
	ASN *int64 `locationName:"asn" type:"integer"`

	// IP address assigned to the Amazon interface.
	//
	// Example: 192.168.1.1/30
	AmazonAddress *string `locationName:"amazonAddress" type:"string"`

	// Authentication key for BGP configuration.
	//
	// Example: asdf34example
	AuthKey *string `locationName:"authKey" type:"string"`

	// ID of the connection.
	//
	// Example: dxcon-fg5678gh
	//
	// Default: None
	ConnectionID *string `locationName:"connectionId" type:"string"`

	// IP address assigned to the customer interface.
	//
	// Example: 192.168.1.2/30
	CustomerAddress *string `locationName:"customerAddress" type:"string"`

	// Information for generating the customer router configuration.
	CustomerRouterConfig *string `locationName:"customerRouterConfig" type:"string"`

	// Where the connection is located.
	//
	// Example: EqSV5
	//
	// Default: None
	Location *string `locationName:"location" type:"string"`

	OwnerAccount *string `locationName:"ownerAccount" type:"string"`

	// A list of routes to be advertised to the AWS network in this region (public
	// virtual interface) or your VPC (private virtual interface).
	RouteFilterPrefixes []*RouteFilterPrefix `locationName:"routeFilterPrefixes" type:"list"`

	// The VLAN ID.
	//
	// Example: 101
	VLAN *int64 `locationName:"vlan" type:"integer"`

	// The ID of the virtual private gateway to a VPC. This only applies to private
	// virtual interfaces.
	//
	// Example: vgw-123er56
	VirtualGatewayID *string `locationName:"virtualGatewayId" type:"string"`

	// ID of the virtual interface.
	//
	// Example: dxvif-123dfg56
	//
	// Default: None
	VirtualInterfaceID *string `locationName:"virtualInterfaceId" type:"string"`

	// The name of the virtual interface assigned by the customer.
	//
	// Example: "My VPC"
	VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string"`

	// State of the virtual interface.   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.  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 will enter
	// the 'Rejected' state.
	VirtualInterfaceState *string `locationName:"virtualInterfaceState" type:"string"`

	// The type of virtual interface.
	//
	// Example: private (Amazon VPC) or public (Amazon S3, Amazon DynamoDB, and
	// so on.)
	VirtualInterfaceType *string `locationName:"virtualInterfaceType" type:"string"`
	// contains filtered or unexported fields
}

A virtual interface (VLAN) transmits the traffic between the AWS Direct Connect location and the customer.

Directories

Path Synopsis
Package directconnectiface provides an interface for the AWS Direct Connect.
Package directconnectiface provides an interface for the AWS Direct Connect.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL