directconnect

package
v3.16.0 Latest Latest
Warning

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

Go to latest
Published: Nov 26, 2020 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BgpPeer

type BgpPeer struct {
	pulumi.CustomResourceState

	// The address family for the BGP peer. ` ipv4  ` or `ipv6`.
	AddressFamily pulumi.StringOutput `pulumi:"addressFamily"`
	// The IPv4 CIDR address to use to send traffic to Amazon.
	// Required for IPv4 BGP peers on public virtual interfaces.
	AmazonAddress pulumi.StringOutput `pulumi:"amazonAddress"`
	// The Direct Connect endpoint on which the BGP peer terminates.
	AwsDevice pulumi.StringOutput `pulumi:"awsDevice"`
	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
	BgpAsn pulumi.IntOutput `pulumi:"bgpAsn"`
	// The authentication key for BGP configuration.
	BgpAuthKey pulumi.StringOutput `pulumi:"bgpAuthKey"`
	// The ID of the BGP peer.
	BgpPeerId pulumi.StringOutput `pulumi:"bgpPeerId"`
	// The Up/Down state of the BGP peer.
	BgpStatus pulumi.StringOutput `pulumi:"bgpStatus"`
	// The IPv4 CIDR destination address to which Amazon should send traffic.
	// Required for IPv4 BGP peers on public virtual interfaces.
	CustomerAddress pulumi.StringOutput `pulumi:"customerAddress"`
	// The ID of the Direct Connect virtual interface on which to create the BGP peer.
	VirtualInterfaceId pulumi.StringOutput `pulumi:"virtualInterfaceId"`
}

Provides a Direct Connect BGP peer resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/directconnect"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := directconnect.NewBgpPeer(ctx, "peer", &directconnect.BgpPeerArgs{
			VirtualInterfaceId: pulumi.Any(aws_dx_private_virtual_interface.Foo.Id),
			AddressFamily:      pulumi.String("ipv6"),
			BgpAsn:             pulumi.Int(65351),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetBgpPeer

func GetBgpPeer(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BgpPeerState, opts ...pulumi.ResourceOption) (*BgpPeer, error)

GetBgpPeer gets an existing BgpPeer resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBgpPeer

func NewBgpPeer(ctx *pulumi.Context,
	name string, args *BgpPeerArgs, opts ...pulumi.ResourceOption) (*BgpPeer, error)

NewBgpPeer registers a new resource with the given unique name, arguments, and options.

func (BgpPeer) ElementType added in v3.13.0

func (BgpPeer) ElementType() reflect.Type

func (BgpPeer) ToBgpPeerOutput added in v3.13.0

func (i BgpPeer) ToBgpPeerOutput() BgpPeerOutput

func (BgpPeer) ToBgpPeerOutputWithContext added in v3.13.0

func (i BgpPeer) ToBgpPeerOutputWithContext(ctx context.Context) BgpPeerOutput

type BgpPeerArgs

type BgpPeerArgs struct {
	// The address family for the BGP peer. ` ipv4  ` or `ipv6`.
	AddressFamily pulumi.StringInput
	// The IPv4 CIDR address to use to send traffic to Amazon.
	// Required for IPv4 BGP peers on public virtual interfaces.
	AmazonAddress pulumi.StringPtrInput
	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
	BgpAsn pulumi.IntInput
	// The authentication key for BGP configuration.
	BgpAuthKey pulumi.StringPtrInput
	// The IPv4 CIDR destination address to which Amazon should send traffic.
	// Required for IPv4 BGP peers on public virtual interfaces.
	CustomerAddress pulumi.StringPtrInput
	// The ID of the Direct Connect virtual interface on which to create the BGP peer.
	VirtualInterfaceId pulumi.StringInput
}

The set of arguments for constructing a BgpPeer resource.

func (BgpPeerArgs) ElementType

func (BgpPeerArgs) ElementType() reflect.Type

type BgpPeerInput added in v3.13.0

type BgpPeerInput interface {
	pulumi.Input

	ToBgpPeerOutput() BgpPeerOutput
	ToBgpPeerOutputWithContext(ctx context.Context) BgpPeerOutput
}

type BgpPeerOutput added in v3.13.0

type BgpPeerOutput struct {
	*pulumi.OutputState
}

func (BgpPeerOutput) ElementType added in v3.13.0

func (BgpPeerOutput) ElementType() reflect.Type

func (BgpPeerOutput) ToBgpPeerOutput added in v3.13.0

func (o BgpPeerOutput) ToBgpPeerOutput() BgpPeerOutput

func (BgpPeerOutput) ToBgpPeerOutputWithContext added in v3.13.0

func (o BgpPeerOutput) ToBgpPeerOutputWithContext(ctx context.Context) BgpPeerOutput

type BgpPeerState

type BgpPeerState struct {
	// The address family for the BGP peer. ` ipv4  ` or `ipv6`.
	AddressFamily pulumi.StringPtrInput
	// The IPv4 CIDR address to use to send traffic to Amazon.
	// Required for IPv4 BGP peers on public virtual interfaces.
	AmazonAddress pulumi.StringPtrInput
	// The Direct Connect endpoint on which the BGP peer terminates.
	AwsDevice pulumi.StringPtrInput
	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
	BgpAsn pulumi.IntPtrInput
	// The authentication key for BGP configuration.
	BgpAuthKey pulumi.StringPtrInput
	// The ID of the BGP peer.
	BgpPeerId pulumi.StringPtrInput
	// The Up/Down state of the BGP peer.
	BgpStatus pulumi.StringPtrInput
	// The IPv4 CIDR destination address to which Amazon should send traffic.
	// Required for IPv4 BGP peers on public virtual interfaces.
	CustomerAddress pulumi.StringPtrInput
	// The ID of the Direct Connect virtual interface on which to create the BGP peer.
	VirtualInterfaceId pulumi.StringPtrInput
}

func (BgpPeerState) ElementType

func (BgpPeerState) ElementType() reflect.Type

type Connection

type Connection struct {
	pulumi.CustomResourceState

	// The ARN of the connection.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The Direct Connect endpoint on which the physical connection terminates.
	AwsDevice pulumi.StringOutput `pulumi:"awsDevice"`
	// The bandwidth of the connection. Valid values for dedicated connections: 1Gbps, 10Gbps. Valid values for hosted connections: 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps and 10Gbps. Case sensitive.
	Bandwidth pulumi.StringOutput `pulumi:"bandwidth"`
	// Indicates whether the connection supports a secondary BGP peer in the same address family (IPv4/IPv6).
	HasLogicalRedundancy pulumi.StringOutput `pulumi:"hasLogicalRedundancy"`
	// Boolean value representing if jumbo frames have been enabled for this connection.
	JumboFrameCapable pulumi.BoolOutput `pulumi:"jumboFrameCapable"`
	// The AWS Direct Connect location where the connection is located. See [DescribeLocations](https://docs.aws.amazon.com/directconnect/latest/APIReference/API_DescribeLocations.html) for the list of AWS Direct Connect locations. Use `locationCode`.
	Location pulumi.StringOutput `pulumi:"location"`
	// The name of the connection.
	Name pulumi.StringOutput `pulumi:"name"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Provides a Connection of Direct Connect.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/directconnect"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := directconnect.NewConnection(ctx, "hoge", &directconnect.ConnectionArgs{
			Bandwidth: pulumi.String("1Gbps"),
			Location:  pulumi.String("EqDC2"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Direct Connect connections can be imported using the `connection id`, e.g.

```sh

$ pulumi import aws:directconnect/connection:Connection test_connection dxcon-ffre0ec3

```

func GetConnection

func GetConnection(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ConnectionState, opts ...pulumi.ResourceOption) (*Connection, error)

GetConnection gets an existing Connection resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewConnection

func NewConnection(ctx *pulumi.Context,
	name string, args *ConnectionArgs, opts ...pulumi.ResourceOption) (*Connection, error)

NewConnection registers a new resource with the given unique name, arguments, and options.

func (Connection) ElementType added in v3.13.0

func (Connection) ElementType() reflect.Type

func (Connection) ToConnectionOutput added in v3.13.0

func (i Connection) ToConnectionOutput() ConnectionOutput

func (Connection) ToConnectionOutputWithContext added in v3.13.0

func (i Connection) ToConnectionOutputWithContext(ctx context.Context) ConnectionOutput

type ConnectionArgs

type ConnectionArgs struct {
	// The bandwidth of the connection. Valid values for dedicated connections: 1Gbps, 10Gbps. Valid values for hosted connections: 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps and 10Gbps. Case sensitive.
	Bandwidth pulumi.StringInput
	// The AWS Direct Connect location where the connection is located. See [DescribeLocations](https://docs.aws.amazon.com/directconnect/latest/APIReference/API_DescribeLocations.html) for the list of AWS Direct Connect locations. Use `locationCode`.
	Location pulumi.StringInput
	// The name of the connection.
	Name pulumi.StringPtrInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a Connection resource.

func (ConnectionArgs) ElementType

func (ConnectionArgs) ElementType() reflect.Type

type ConnectionAssociation

type ConnectionAssociation struct {
	pulumi.CustomResourceState

	// The ID of the connection.
	ConnectionId pulumi.StringOutput `pulumi:"connectionId"`
	// The ID of the LAG with which to associate the connection.
	LagId pulumi.StringOutput `pulumi:"lagId"`
}

Associates a Direct Connect Connection with a LAG.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/directconnect"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleConnection, err := directconnect.NewConnection(ctx, "exampleConnection", &directconnect.ConnectionArgs{
			Bandwidth: pulumi.String("1Gbps"),
			Location:  pulumi.String("EqSe2-EQ"),
		})
		if err != nil {
			return err
		}
		exampleLinkAggregationGroup, err := directconnect.NewLinkAggregationGroup(ctx, "exampleLinkAggregationGroup", &directconnect.LinkAggregationGroupArgs{
			ConnectionsBandwidth: pulumi.String("1Gbps"),
			Location:             pulumi.String("EqSe2-EQ"),
		})
		if err != nil {
			return err
		}
		_, err = directconnect.NewConnectionAssociation(ctx, "exampleConnectionAssociation", &directconnect.ConnectionAssociationArgs{
			ConnectionId: exampleConnection.ID(),
			LagId:        exampleLinkAggregationGroup.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetConnectionAssociation

func GetConnectionAssociation(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ConnectionAssociationState, opts ...pulumi.ResourceOption) (*ConnectionAssociation, error)

GetConnectionAssociation gets an existing ConnectionAssociation resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewConnectionAssociation

func NewConnectionAssociation(ctx *pulumi.Context,
	name string, args *ConnectionAssociationArgs, opts ...pulumi.ResourceOption) (*ConnectionAssociation, error)

NewConnectionAssociation registers a new resource with the given unique name, arguments, and options.

func (ConnectionAssociation) ElementType added in v3.13.0

func (ConnectionAssociation) ElementType() reflect.Type

func (ConnectionAssociation) ToConnectionAssociationOutput added in v3.13.0

func (i ConnectionAssociation) ToConnectionAssociationOutput() ConnectionAssociationOutput

func (ConnectionAssociation) ToConnectionAssociationOutputWithContext added in v3.13.0

func (i ConnectionAssociation) ToConnectionAssociationOutputWithContext(ctx context.Context) ConnectionAssociationOutput

type ConnectionAssociationArgs

type ConnectionAssociationArgs struct {
	// The ID of the connection.
	ConnectionId pulumi.StringInput
	// The ID of the LAG with which to associate the connection.
	LagId pulumi.StringInput
}

The set of arguments for constructing a ConnectionAssociation resource.

func (ConnectionAssociationArgs) ElementType

func (ConnectionAssociationArgs) ElementType() reflect.Type

type ConnectionAssociationInput added in v3.13.0

type ConnectionAssociationInput interface {
	pulumi.Input

	ToConnectionAssociationOutput() ConnectionAssociationOutput
	ToConnectionAssociationOutputWithContext(ctx context.Context) ConnectionAssociationOutput
}

type ConnectionAssociationOutput added in v3.13.0

type ConnectionAssociationOutput struct {
	*pulumi.OutputState
}

func (ConnectionAssociationOutput) ElementType added in v3.13.0

func (ConnectionAssociationOutput) ToConnectionAssociationOutput added in v3.13.0

func (o ConnectionAssociationOutput) ToConnectionAssociationOutput() ConnectionAssociationOutput

func (ConnectionAssociationOutput) ToConnectionAssociationOutputWithContext added in v3.13.0

func (o ConnectionAssociationOutput) ToConnectionAssociationOutputWithContext(ctx context.Context) ConnectionAssociationOutput

type ConnectionAssociationState

type ConnectionAssociationState struct {
	// The ID of the connection.
	ConnectionId pulumi.StringPtrInput
	// The ID of the LAG with which to associate the connection.
	LagId pulumi.StringPtrInput
}

func (ConnectionAssociationState) ElementType

func (ConnectionAssociationState) ElementType() reflect.Type

type ConnectionInput added in v3.13.0

type ConnectionInput interface {
	pulumi.Input

	ToConnectionOutput() ConnectionOutput
	ToConnectionOutputWithContext(ctx context.Context) ConnectionOutput
}

type ConnectionOutput added in v3.13.0

type ConnectionOutput struct {
	*pulumi.OutputState
}

func (ConnectionOutput) ElementType added in v3.13.0

func (ConnectionOutput) ElementType() reflect.Type

func (ConnectionOutput) ToConnectionOutput added in v3.13.0

func (o ConnectionOutput) ToConnectionOutput() ConnectionOutput

func (ConnectionOutput) ToConnectionOutputWithContext added in v3.13.0

func (o ConnectionOutput) ToConnectionOutputWithContext(ctx context.Context) ConnectionOutput

type ConnectionState

type ConnectionState struct {
	// The ARN of the connection.
	Arn pulumi.StringPtrInput
	// The Direct Connect endpoint on which the physical connection terminates.
	AwsDevice pulumi.StringPtrInput
	// The bandwidth of the connection. Valid values for dedicated connections: 1Gbps, 10Gbps. Valid values for hosted connections: 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps and 10Gbps. Case sensitive.
	Bandwidth pulumi.StringPtrInput
	// Indicates whether the connection supports a secondary BGP peer in the same address family (IPv4/IPv6).
	HasLogicalRedundancy pulumi.StringPtrInput
	// Boolean value representing if jumbo frames have been enabled for this connection.
	JumboFrameCapable pulumi.BoolPtrInput
	// The AWS Direct Connect location where the connection is located. See [DescribeLocations](https://docs.aws.amazon.com/directconnect/latest/APIReference/API_DescribeLocations.html) for the list of AWS Direct Connect locations. Use `locationCode`.
	Location pulumi.StringPtrInput
	// The name of the connection.
	Name pulumi.StringPtrInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

func (ConnectionState) ElementType

func (ConnectionState) ElementType() reflect.Type

type Gateway

type Gateway struct {
	pulumi.CustomResourceState

	// The ASN 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.
	AmazonSideAsn pulumi.StringOutput `pulumi:"amazonSideAsn"`
	// The name of the connection.
	Name pulumi.StringOutput `pulumi:"name"`
	// AWS Account ID of the gateway.
	OwnerAccountId pulumi.StringOutput `pulumi:"ownerAccountId"`
}

Provides a Direct Connect Gateway.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/directconnect"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := directconnect.NewGateway(ctx, "example", &directconnect.GatewayArgs{
			AmazonSideAsn: pulumi.String("64512"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Direct Connect Gateways can be imported using the `gateway id`, e.g.

```sh

$ pulumi import aws:directconnect/gateway:Gateway test abcd1234-dcba-5678-be23-cdef9876ab45

```

func GetGateway

func GetGateway(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GatewayState, opts ...pulumi.ResourceOption) (*Gateway, error)

GetGateway gets an existing Gateway resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewGateway

func NewGateway(ctx *pulumi.Context,
	name string, args *GatewayArgs, opts ...pulumi.ResourceOption) (*Gateway, error)

NewGateway registers a new resource with the given unique name, arguments, and options.

func (Gateway) ElementType added in v3.13.0

func (Gateway) ElementType() reflect.Type

func (Gateway) ToGatewayOutput added in v3.13.0

func (i Gateway) ToGatewayOutput() GatewayOutput

func (Gateway) ToGatewayOutputWithContext added in v3.13.0

func (i Gateway) ToGatewayOutputWithContext(ctx context.Context) GatewayOutput

type GatewayArgs

type GatewayArgs struct {
	// The ASN 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.
	AmazonSideAsn pulumi.StringInput
	// The name of the connection.
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a Gateway resource.

func (GatewayArgs) ElementType

func (GatewayArgs) ElementType() reflect.Type

type GatewayAssociation

type GatewayAssociation struct {
	pulumi.CustomResourceState

	// VPC prefixes (CIDRs) to advertise to the Direct Connect gateway. Defaults to the CIDR block of the VPC associated with the Virtual Gateway. To enable drift detection, must be configured.
	AllowedPrefixes pulumi.StringArrayOutput `pulumi:"allowedPrefixes"`
	// The ID of the VGW or transit gateway with which to associate the Direct Connect gateway.
	// Used for single account Direct Connect gateway associations.
	AssociatedGatewayId pulumi.StringOutput `pulumi:"associatedGatewayId"`
	// The ID of the AWS account that owns the VGW or transit gateway with which to associate the Direct Connect gateway.
	// Used for cross-account Direct Connect gateway associations.
	AssociatedGatewayOwnerAccountId pulumi.StringOutput `pulumi:"associatedGatewayOwnerAccountId"`
	// The type of the associated gateway, `transitGateway` or `virtualPrivateGateway`.
	AssociatedGatewayType pulumi.StringOutput `pulumi:"associatedGatewayType"`
	// The ID of the Direct Connect gateway association.
	DxGatewayAssociationId pulumi.StringOutput `pulumi:"dxGatewayAssociationId"`
	// The ID of the Direct Connect gateway.
	DxGatewayId pulumi.StringOutput `pulumi:"dxGatewayId"`
	// The ID of the AWS account that owns the Direct Connect gateway.
	DxGatewayOwnerAccountId pulumi.StringOutput `pulumi:"dxGatewayOwnerAccountId"`
	// The ID of the Direct Connect gateway association proposal.
	// Used for cross-account Direct Connect gateway associations.
	ProposalId pulumi.StringPtrOutput `pulumi:"proposalId"`
}

Associates a Direct Connect Gateway with a VGW or transit gateway.

To create a cross-account association, create an `directconnect.GatewayAssociationProposal` resource in the AWS account that owns the VGW or transit gateway and then accept the proposal in the AWS account that owns the Direct Connect Gateway by creating an `directconnect.GatewayAssociation` resource with the `proposalId` and `associatedGatewayOwnerAccountId` attributes set.

## Example Usage ### VPN Gateway Association

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/directconnect"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/ec2"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleGateway, err := directconnect.NewGateway(ctx, "exampleGateway", &directconnect.GatewayArgs{
			AmazonSideAsn: pulumi.String("64512"),
		})
		if err != nil {
			return err
		}
		exampleVpc, err := ec2.NewVpc(ctx, "exampleVpc", &ec2.VpcArgs{
			CidrBlock: pulumi.String("10.255.255.0/28"),
		})
		if err != nil {
			return err
		}
		exampleVpnGateway, err := ec2.NewVpnGateway(ctx, "exampleVpnGateway", &ec2.VpnGatewayArgs{
			VpcId: exampleVpc.ID(),
		})
		if err != nil {
			return err
		}
		_, err = directconnect.NewGatewayAssociation(ctx, "exampleGatewayAssociation", &directconnect.GatewayAssociationArgs{
			DxGatewayId:         exampleGateway.ID(),
			AssociatedGatewayId: exampleVpnGateway.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Transit Gateway Association

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/directconnect"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/ec2transitgateway"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleGateway, err := directconnect.NewGateway(ctx, "exampleGateway", &directconnect.GatewayArgs{
			AmazonSideAsn: pulumi.String("64512"),
		})
		if err != nil {
			return err
		}
		exampleTransitGateway, err := ec2transitgateway.NewTransitGateway(ctx, "exampleTransitGateway", nil)
		if err != nil {
			return err
		}
		_, err = directconnect.NewGatewayAssociation(ctx, "exampleGatewayAssociation", &directconnect.GatewayAssociationArgs{
			DxGatewayId:         exampleGateway.ID(),
			AssociatedGatewayId: exampleTransitGateway.ID(),
			AllowedPrefixes: pulumi.StringArray{
				pulumi.String("10.255.255.0/30"),
				pulumi.String("10.255.255.8/30"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Allowed Prefixes

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/directconnect"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/ec2"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleGateway, err := directconnect.NewGateway(ctx, "exampleGateway", &directconnect.GatewayArgs{
			AmazonSideAsn: pulumi.String("64512"),
		})
		if err != nil {
			return err
		}
		exampleVpc, err := ec2.NewVpc(ctx, "exampleVpc", &ec2.VpcArgs{
			CidrBlock: pulumi.String("10.255.255.0/28"),
		})
		if err != nil {
			return err
		}
		exampleVpnGateway, err := ec2.NewVpnGateway(ctx, "exampleVpnGateway", &ec2.VpnGatewayArgs{
			VpcId: exampleVpc.ID(),
		})
		if err != nil {
			return err
		}
		_, err = directconnect.NewGatewayAssociation(ctx, "exampleGatewayAssociation", &directconnect.GatewayAssociationArgs{
			DxGatewayId:         exampleGateway.ID(),
			AssociatedGatewayId: exampleVpnGateway.ID(),
			AllowedPrefixes: pulumi.StringArray{
				pulumi.String("210.52.109.0/24"),
				pulumi.String("175.45.176.0/22"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Direct Connect gateway associations can be imported using `dx_gateway_id` together with `associated_gateway_id`, e.g.

```sh

$ pulumi import aws:directconnect/gatewayAssociation:GatewayAssociation example dxgw-12345678/vgw-98765432

```

func GetGatewayAssociation

func GetGatewayAssociation(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GatewayAssociationState, opts ...pulumi.ResourceOption) (*GatewayAssociation, error)

GetGatewayAssociation gets an existing GatewayAssociation resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewGatewayAssociation

func NewGatewayAssociation(ctx *pulumi.Context,
	name string, args *GatewayAssociationArgs, opts ...pulumi.ResourceOption) (*GatewayAssociation, error)

NewGatewayAssociation registers a new resource with the given unique name, arguments, and options.

func (GatewayAssociation) ElementType added in v3.13.0

func (GatewayAssociation) ElementType() reflect.Type

func (GatewayAssociation) ToGatewayAssociationOutput added in v3.13.0

func (i GatewayAssociation) ToGatewayAssociationOutput() GatewayAssociationOutput

func (GatewayAssociation) ToGatewayAssociationOutputWithContext added in v3.13.0

func (i GatewayAssociation) ToGatewayAssociationOutputWithContext(ctx context.Context) GatewayAssociationOutput

type GatewayAssociationArgs

type GatewayAssociationArgs struct {
	// VPC prefixes (CIDRs) to advertise to the Direct Connect gateway. Defaults to the CIDR block of the VPC associated with the Virtual Gateway. To enable drift detection, must be configured.
	AllowedPrefixes pulumi.StringArrayInput
	// The ID of the VGW or transit gateway with which to associate the Direct Connect gateway.
	// Used for single account Direct Connect gateway associations.
	AssociatedGatewayId pulumi.StringPtrInput
	// The ID of the AWS account that owns the VGW or transit gateway with which to associate the Direct Connect gateway.
	// Used for cross-account Direct Connect gateway associations.
	AssociatedGatewayOwnerAccountId pulumi.StringPtrInput
	// The ID of the Direct Connect gateway.
	DxGatewayId pulumi.StringInput
	// The ID of the Direct Connect gateway association proposal.
	// Used for cross-account Direct Connect gateway associations.
	ProposalId pulumi.StringPtrInput
}

The set of arguments for constructing a GatewayAssociation resource.

func (GatewayAssociationArgs) ElementType

func (GatewayAssociationArgs) ElementType() reflect.Type

type GatewayAssociationInput added in v3.13.0

type GatewayAssociationInput interface {
	pulumi.Input

	ToGatewayAssociationOutput() GatewayAssociationOutput
	ToGatewayAssociationOutputWithContext(ctx context.Context) GatewayAssociationOutput
}

type GatewayAssociationOutput added in v3.13.0

type GatewayAssociationOutput struct {
	*pulumi.OutputState
}

func (GatewayAssociationOutput) ElementType added in v3.13.0

func (GatewayAssociationOutput) ElementType() reflect.Type

func (GatewayAssociationOutput) ToGatewayAssociationOutput added in v3.13.0

func (o GatewayAssociationOutput) ToGatewayAssociationOutput() GatewayAssociationOutput

func (GatewayAssociationOutput) ToGatewayAssociationOutputWithContext added in v3.13.0

func (o GatewayAssociationOutput) ToGatewayAssociationOutputWithContext(ctx context.Context) GatewayAssociationOutput

type GatewayAssociationProposal

type GatewayAssociationProposal struct {
	pulumi.CustomResourceState

	// VPC prefixes (CIDRs) to advertise to the Direct Connect gateway. Defaults to the CIDR block of the VPC associated with the Virtual Gateway. To enable drift detection, must be configured.
	AllowedPrefixes pulumi.StringArrayOutput `pulumi:"allowedPrefixes"`
	// The ID of the VGW or transit gateway with which to associate the Direct Connect gateway.
	AssociatedGatewayId pulumi.StringOutput `pulumi:"associatedGatewayId"`
	// The ID of the AWS account that owns the VGW or transit gateway with which to associate the Direct Connect gateway.
	AssociatedGatewayOwnerAccountId pulumi.StringOutput `pulumi:"associatedGatewayOwnerAccountId"`
	// The type of the associated gateway, `transitGateway` or `virtualPrivateGateway`.
	AssociatedGatewayType pulumi.StringOutput `pulumi:"associatedGatewayType"`
	// Direct Connect Gateway identifier.
	DxGatewayId pulumi.StringOutput `pulumi:"dxGatewayId"`
	// AWS Account identifier of the Direct Connect Gateway's owner.
	DxGatewayOwnerAccountId pulumi.StringOutput `pulumi:"dxGatewayOwnerAccountId"`
}

Manages a Direct Connect Gateway Association Proposal, typically for enabling cross-account associations. For single account associations, see the `directconnect.GatewayAssociation` resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/directconnect"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := directconnect.NewGatewayAssociationProposal(ctx, "example", &directconnect.GatewayAssociationProposalArgs{
			DxGatewayId:             pulumi.Any(aws_dx_gateway.Example.Id),
			DxGatewayOwnerAccountId: pulumi.Any(aws_dx_gateway.Example.Owner_account_id),
			AssociatedGatewayId:     pulumi.Any(aws_vpn_gateway.Example.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Direct Connect Gateway Association Proposals can be imported using the proposal ID, e.g.

```sh

$ pulumi import aws:directconnect/gatewayAssociationProposal:GatewayAssociationProposal example ac90e981-b718-4364-872d-65478c84fafe

```

func GetGatewayAssociationProposal

func GetGatewayAssociationProposal(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GatewayAssociationProposalState, opts ...pulumi.ResourceOption) (*GatewayAssociationProposal, error)

GetGatewayAssociationProposal gets an existing GatewayAssociationProposal resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewGatewayAssociationProposal

func NewGatewayAssociationProposal(ctx *pulumi.Context,
	name string, args *GatewayAssociationProposalArgs, opts ...pulumi.ResourceOption) (*GatewayAssociationProposal, error)

NewGatewayAssociationProposal registers a new resource with the given unique name, arguments, and options.

func (GatewayAssociationProposal) ElementType added in v3.13.0

func (GatewayAssociationProposal) ElementType() reflect.Type

func (GatewayAssociationProposal) ToGatewayAssociationProposalOutput added in v3.13.0

func (i GatewayAssociationProposal) ToGatewayAssociationProposalOutput() GatewayAssociationProposalOutput

func (GatewayAssociationProposal) ToGatewayAssociationProposalOutputWithContext added in v3.13.0

func (i GatewayAssociationProposal) ToGatewayAssociationProposalOutputWithContext(ctx context.Context) GatewayAssociationProposalOutput

type GatewayAssociationProposalArgs

type GatewayAssociationProposalArgs struct {
	// VPC prefixes (CIDRs) to advertise to the Direct Connect gateway. Defaults to the CIDR block of the VPC associated with the Virtual Gateway. To enable drift detection, must be configured.
	AllowedPrefixes pulumi.StringArrayInput
	// The ID of the VGW or transit gateway with which to associate the Direct Connect gateway.
	AssociatedGatewayId pulumi.StringInput
	// Direct Connect Gateway identifier.
	DxGatewayId pulumi.StringInput
	// AWS Account identifier of the Direct Connect Gateway's owner.
	DxGatewayOwnerAccountId pulumi.StringInput
}

The set of arguments for constructing a GatewayAssociationProposal resource.

func (GatewayAssociationProposalArgs) ElementType

type GatewayAssociationProposalInput added in v3.13.0

type GatewayAssociationProposalInput interface {
	pulumi.Input

	ToGatewayAssociationProposalOutput() GatewayAssociationProposalOutput
	ToGatewayAssociationProposalOutputWithContext(ctx context.Context) GatewayAssociationProposalOutput
}

type GatewayAssociationProposalOutput added in v3.13.0

type GatewayAssociationProposalOutput struct {
	*pulumi.OutputState
}

func (GatewayAssociationProposalOutput) ElementType added in v3.13.0

func (GatewayAssociationProposalOutput) ToGatewayAssociationProposalOutput added in v3.13.0

func (o GatewayAssociationProposalOutput) ToGatewayAssociationProposalOutput() GatewayAssociationProposalOutput

func (GatewayAssociationProposalOutput) ToGatewayAssociationProposalOutputWithContext added in v3.13.0

func (o GatewayAssociationProposalOutput) ToGatewayAssociationProposalOutputWithContext(ctx context.Context) GatewayAssociationProposalOutput

type GatewayAssociationProposalState

type GatewayAssociationProposalState struct {
	// VPC prefixes (CIDRs) to advertise to the Direct Connect gateway. Defaults to the CIDR block of the VPC associated with the Virtual Gateway. To enable drift detection, must be configured.
	AllowedPrefixes pulumi.StringArrayInput
	// The ID of the VGW or transit gateway with which to associate the Direct Connect gateway.
	AssociatedGatewayId pulumi.StringPtrInput
	// The ID of the AWS account that owns the VGW or transit gateway with which to associate the Direct Connect gateway.
	AssociatedGatewayOwnerAccountId pulumi.StringPtrInput
	// The type of the associated gateway, `transitGateway` or `virtualPrivateGateway`.
	AssociatedGatewayType pulumi.StringPtrInput
	// Direct Connect Gateway identifier.
	DxGatewayId pulumi.StringPtrInput
	// AWS Account identifier of the Direct Connect Gateway's owner.
	DxGatewayOwnerAccountId pulumi.StringPtrInput
}

func (GatewayAssociationProposalState) ElementType

type GatewayAssociationState

type GatewayAssociationState struct {
	// VPC prefixes (CIDRs) to advertise to the Direct Connect gateway. Defaults to the CIDR block of the VPC associated with the Virtual Gateway. To enable drift detection, must be configured.
	AllowedPrefixes pulumi.StringArrayInput
	// The ID of the VGW or transit gateway with which to associate the Direct Connect gateway.
	// Used for single account Direct Connect gateway associations.
	AssociatedGatewayId pulumi.StringPtrInput
	// The ID of the AWS account that owns the VGW or transit gateway with which to associate the Direct Connect gateway.
	// Used for cross-account Direct Connect gateway associations.
	AssociatedGatewayOwnerAccountId pulumi.StringPtrInput
	// The type of the associated gateway, `transitGateway` or `virtualPrivateGateway`.
	AssociatedGatewayType pulumi.StringPtrInput
	// The ID of the Direct Connect gateway association.
	DxGatewayAssociationId pulumi.StringPtrInput
	// The ID of the Direct Connect gateway.
	DxGatewayId pulumi.StringPtrInput
	// The ID of the AWS account that owns the Direct Connect gateway.
	DxGatewayOwnerAccountId pulumi.StringPtrInput
	// The ID of the Direct Connect gateway association proposal.
	// Used for cross-account Direct Connect gateway associations.
	ProposalId pulumi.StringPtrInput
}

func (GatewayAssociationState) ElementType

func (GatewayAssociationState) ElementType() reflect.Type

type GatewayInput added in v3.13.0

type GatewayInput interface {
	pulumi.Input

	ToGatewayOutput() GatewayOutput
	ToGatewayOutputWithContext(ctx context.Context) GatewayOutput
}

type GatewayOutput added in v3.13.0

type GatewayOutput struct {
	*pulumi.OutputState
}

func (GatewayOutput) ElementType added in v3.13.0

func (GatewayOutput) ElementType() reflect.Type

func (GatewayOutput) ToGatewayOutput added in v3.13.0

func (o GatewayOutput) ToGatewayOutput() GatewayOutput

func (GatewayOutput) ToGatewayOutputWithContext added in v3.13.0

func (o GatewayOutput) ToGatewayOutputWithContext(ctx context.Context) GatewayOutput

type GatewayState

type GatewayState struct {
	// The ASN 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.
	AmazonSideAsn pulumi.StringPtrInput
	// The name of the connection.
	Name pulumi.StringPtrInput
	// AWS Account ID of the gateway.
	OwnerAccountId pulumi.StringPtrInput
}

func (GatewayState) ElementType

func (GatewayState) ElementType() reflect.Type

type HostedPrivateVirtualInterface

type HostedPrivateVirtualInterface struct {
	pulumi.CustomResourceState

	// The address family for the BGP peer. ` ipv4  ` or `ipv6`.
	AddressFamily pulumi.StringOutput `pulumi:"addressFamily"`
	// The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.
	AmazonAddress pulumi.StringOutput `pulumi:"amazonAddress"`
	AmazonSideAsn pulumi.StringOutput `pulumi:"amazonSideAsn"`
	// The ARN of the virtual interface.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The Direct Connect endpoint on which the virtual interface terminates.
	AwsDevice pulumi.StringOutput `pulumi:"awsDevice"`
	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
	BgpAsn pulumi.IntOutput `pulumi:"bgpAsn"`
	// The authentication key for BGP configuration.
	BgpAuthKey pulumi.StringOutput `pulumi:"bgpAuthKey"`
	// The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.
	ConnectionId pulumi.StringOutput `pulumi:"connectionId"`
	// The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.
	CustomerAddress pulumi.StringOutput `pulumi:"customerAddress"`
	// Indicates whether jumbo frames (9001 MTU) are supported.
	JumboFrameCapable pulumi.BoolOutput `pulumi:"jumboFrameCapable"`
	// The maximum transmission unit (MTU) is the size, in bytes, of the largest permissible packet that can be passed over the connection. The MTU of a virtual private interface can be either `1500` or `9001` (jumbo frames). Default is `1500`.
	Mtu pulumi.IntPtrOutput `pulumi:"mtu"`
	// The name for the virtual interface.
	Name pulumi.StringOutput `pulumi:"name"`
	// The AWS account that will own the new virtual interface.
	OwnerAccountId pulumi.StringOutput `pulumi:"ownerAccountId"`
	// The VLAN ID.
	Vlan pulumi.IntOutput `pulumi:"vlan"`
}

Provides a Direct Connect hosted private virtual interface resource. This resource represents the allocator's side of the hosted virtual interface. A hosted virtual interface is a virtual interface that is owned by another AWS account.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/directconnect"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := directconnect.NewHostedPrivateVirtualInterface(ctx, "foo", &directconnect.HostedPrivateVirtualInterfaceArgs{
			AddressFamily: pulumi.String("ipv4"),
			BgpAsn:        pulumi.Int(65352),
			ConnectionId:  pulumi.String("dxcon-zzzzzzzz"),
			Vlan:          pulumi.Int(4094),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Direct Connect hosted private virtual interfaces can be imported using the `vif id`, e.g.

```sh

$ pulumi import aws:directconnect/hostedPrivateVirtualInterface:HostedPrivateVirtualInterface test dxvif-33cc44dd

```

func GetHostedPrivateVirtualInterface

func GetHostedPrivateVirtualInterface(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HostedPrivateVirtualInterfaceState, opts ...pulumi.ResourceOption) (*HostedPrivateVirtualInterface, error)

GetHostedPrivateVirtualInterface gets an existing HostedPrivateVirtualInterface resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewHostedPrivateVirtualInterface

func NewHostedPrivateVirtualInterface(ctx *pulumi.Context,
	name string, args *HostedPrivateVirtualInterfaceArgs, opts ...pulumi.ResourceOption) (*HostedPrivateVirtualInterface, error)

NewHostedPrivateVirtualInterface registers a new resource with the given unique name, arguments, and options.

func (HostedPrivateVirtualInterface) ElementType added in v3.13.0

func (HostedPrivateVirtualInterface) ToHostedPrivateVirtualInterfaceOutput added in v3.13.0

func (i HostedPrivateVirtualInterface) ToHostedPrivateVirtualInterfaceOutput() HostedPrivateVirtualInterfaceOutput

func (HostedPrivateVirtualInterface) ToHostedPrivateVirtualInterfaceOutputWithContext added in v3.13.0

func (i HostedPrivateVirtualInterface) ToHostedPrivateVirtualInterfaceOutputWithContext(ctx context.Context) HostedPrivateVirtualInterfaceOutput

type HostedPrivateVirtualInterfaceAccepter

type HostedPrivateVirtualInterfaceAccepter struct {
	pulumi.CustomResourceState

	// The ARN of the virtual interface.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The ID of the Direct Connect gateway to which to connect the virtual interface.
	DxGatewayId pulumi.StringPtrOutput `pulumi:"dxGatewayId"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The ID of the Direct Connect virtual interface to accept.
	VirtualInterfaceId pulumi.StringOutput `pulumi:"virtualInterfaceId"`
	// The ID of the virtual private gateway to which to connect the virtual interface.
	VpnGatewayId pulumi.StringPtrOutput `pulumi:"vpnGatewayId"`
}

Provides a resource to manage the accepter's side of a Direct Connect hosted private virtual interface. This resource accepts ownership of a private virtual interface created by another AWS account.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/directconnect"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/ec2"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/providers"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := providers.Newaws(ctx, "accepter", nil)
		if err != nil {
			return err
		}
		accepterCallerIdentity, err := aws.GetCallerIdentity(ctx, nil, nil)
		if err != nil {
			return err
		}
		vpnGw, err := ec2.NewVpnGateway(ctx, "vpnGw", nil, pulumi.Provider(aws.Accepter))
		if err != nil {
			return err
		}
		creator, err := directconnect.NewHostedPrivateVirtualInterface(ctx, "creator", &directconnect.HostedPrivateVirtualInterfaceArgs{
			ConnectionId:   pulumi.String("dxcon-zzzzzzzz"),
			OwnerAccountId: pulumi.String(accepterCallerIdentity.AccountId),
			Vlan:           pulumi.Int(4094),
			AddressFamily:  pulumi.String("ipv4"),
			BgpAsn:         pulumi.Int(65352),
		}, pulumi.DependsOn([]pulumi.Resource{
			vpnGw,
		}))
		if err != nil {
			return err
		}
		_, err = directconnect.NewHostedPrivateVirtualInterfaceAccepter(ctx, "accepterHostedPrivateVirtualInterfaceAccepter", &directconnect.HostedPrivateVirtualInterfaceAccepterArgs{
			VirtualInterfaceId: creator.ID(),
			VpnGatewayId:       vpnGw.ID(),
			Tags: pulumi.StringMap{
				"Side": pulumi.String("Accepter"),
			},
		}, pulumi.Provider(aws.Accepter))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Direct Connect hosted private virtual interfaces can be imported using the `vif id`, e.g.

```sh

$ pulumi import aws:directconnect/hostedPrivateVirtualInterfaceAccepter:HostedPrivateVirtualInterfaceAccepter test dxvif-33cc44dd

```

func GetHostedPrivateVirtualInterfaceAccepter

func GetHostedPrivateVirtualInterfaceAccepter(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HostedPrivateVirtualInterfaceAccepterState, opts ...pulumi.ResourceOption) (*HostedPrivateVirtualInterfaceAccepter, error)

GetHostedPrivateVirtualInterfaceAccepter gets an existing HostedPrivateVirtualInterfaceAccepter resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewHostedPrivateVirtualInterfaceAccepter

func NewHostedPrivateVirtualInterfaceAccepter(ctx *pulumi.Context,
	name string, args *HostedPrivateVirtualInterfaceAccepterArgs, opts ...pulumi.ResourceOption) (*HostedPrivateVirtualInterfaceAccepter, error)

NewHostedPrivateVirtualInterfaceAccepter registers a new resource with the given unique name, arguments, and options.

func (HostedPrivateVirtualInterfaceAccepter) ElementType added in v3.13.0

func (HostedPrivateVirtualInterfaceAccepter) ToHostedPrivateVirtualInterfaceAccepterOutput added in v3.13.0

func (i HostedPrivateVirtualInterfaceAccepter) ToHostedPrivateVirtualInterfaceAccepterOutput() HostedPrivateVirtualInterfaceAccepterOutput

func (HostedPrivateVirtualInterfaceAccepter) ToHostedPrivateVirtualInterfaceAccepterOutputWithContext added in v3.13.0

func (i HostedPrivateVirtualInterfaceAccepter) ToHostedPrivateVirtualInterfaceAccepterOutputWithContext(ctx context.Context) HostedPrivateVirtualInterfaceAccepterOutput

type HostedPrivateVirtualInterfaceAccepterArgs

type HostedPrivateVirtualInterfaceAccepterArgs struct {
	// The ID of the Direct Connect gateway to which to connect the virtual interface.
	DxGatewayId pulumi.StringPtrInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The ID of the Direct Connect virtual interface to accept.
	VirtualInterfaceId pulumi.StringInput
	// The ID of the virtual private gateway to which to connect the virtual interface.
	VpnGatewayId pulumi.StringPtrInput
}

The set of arguments for constructing a HostedPrivateVirtualInterfaceAccepter resource.

func (HostedPrivateVirtualInterfaceAccepterArgs) ElementType

type HostedPrivateVirtualInterfaceAccepterInput added in v3.13.0

type HostedPrivateVirtualInterfaceAccepterInput interface {
	pulumi.Input

	ToHostedPrivateVirtualInterfaceAccepterOutput() HostedPrivateVirtualInterfaceAccepterOutput
	ToHostedPrivateVirtualInterfaceAccepterOutputWithContext(ctx context.Context) HostedPrivateVirtualInterfaceAccepterOutput
}

type HostedPrivateVirtualInterfaceAccepterOutput added in v3.13.0

type HostedPrivateVirtualInterfaceAccepterOutput struct {
	*pulumi.OutputState
}

func (HostedPrivateVirtualInterfaceAccepterOutput) ElementType added in v3.13.0

func (HostedPrivateVirtualInterfaceAccepterOutput) ToHostedPrivateVirtualInterfaceAccepterOutput added in v3.13.0

func (o HostedPrivateVirtualInterfaceAccepterOutput) ToHostedPrivateVirtualInterfaceAccepterOutput() HostedPrivateVirtualInterfaceAccepterOutput

func (HostedPrivateVirtualInterfaceAccepterOutput) ToHostedPrivateVirtualInterfaceAccepterOutputWithContext added in v3.13.0

func (o HostedPrivateVirtualInterfaceAccepterOutput) ToHostedPrivateVirtualInterfaceAccepterOutputWithContext(ctx context.Context) HostedPrivateVirtualInterfaceAccepterOutput

type HostedPrivateVirtualInterfaceAccepterState

type HostedPrivateVirtualInterfaceAccepterState struct {
	// The ARN of the virtual interface.
	Arn pulumi.StringPtrInput
	// The ID of the Direct Connect gateway to which to connect the virtual interface.
	DxGatewayId pulumi.StringPtrInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The ID of the Direct Connect virtual interface to accept.
	VirtualInterfaceId pulumi.StringPtrInput
	// The ID of the virtual private gateway to which to connect the virtual interface.
	VpnGatewayId pulumi.StringPtrInput
}

func (HostedPrivateVirtualInterfaceAccepterState) ElementType

type HostedPrivateVirtualInterfaceArgs

type HostedPrivateVirtualInterfaceArgs struct {
	// The address family for the BGP peer. ` ipv4  ` or `ipv6`.
	AddressFamily pulumi.StringInput
	// The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.
	AmazonAddress pulumi.StringPtrInput
	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
	BgpAsn pulumi.IntInput
	// The authentication key for BGP configuration.
	BgpAuthKey pulumi.StringPtrInput
	// The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.
	ConnectionId pulumi.StringInput
	// The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.
	CustomerAddress pulumi.StringPtrInput
	// The maximum transmission unit (MTU) is the size, in bytes, of the largest permissible packet that can be passed over the connection. The MTU of a virtual private interface can be either `1500` or `9001` (jumbo frames). Default is `1500`.
	Mtu pulumi.IntPtrInput
	// The name for the virtual interface.
	Name pulumi.StringPtrInput
	// The AWS account that will own the new virtual interface.
	OwnerAccountId pulumi.StringInput
	// The VLAN ID.
	Vlan pulumi.IntInput
}

The set of arguments for constructing a HostedPrivateVirtualInterface resource.

func (HostedPrivateVirtualInterfaceArgs) ElementType

type HostedPrivateVirtualInterfaceInput added in v3.13.0

type HostedPrivateVirtualInterfaceInput interface {
	pulumi.Input

	ToHostedPrivateVirtualInterfaceOutput() HostedPrivateVirtualInterfaceOutput
	ToHostedPrivateVirtualInterfaceOutputWithContext(ctx context.Context) HostedPrivateVirtualInterfaceOutput
}

type HostedPrivateVirtualInterfaceOutput added in v3.13.0

type HostedPrivateVirtualInterfaceOutput struct {
	*pulumi.OutputState
}

func (HostedPrivateVirtualInterfaceOutput) ElementType added in v3.13.0

func (HostedPrivateVirtualInterfaceOutput) ToHostedPrivateVirtualInterfaceOutput added in v3.13.0

func (o HostedPrivateVirtualInterfaceOutput) ToHostedPrivateVirtualInterfaceOutput() HostedPrivateVirtualInterfaceOutput

func (HostedPrivateVirtualInterfaceOutput) ToHostedPrivateVirtualInterfaceOutputWithContext added in v3.13.0

func (o HostedPrivateVirtualInterfaceOutput) ToHostedPrivateVirtualInterfaceOutputWithContext(ctx context.Context) HostedPrivateVirtualInterfaceOutput

type HostedPrivateVirtualInterfaceState

type HostedPrivateVirtualInterfaceState struct {
	// The address family for the BGP peer. ` ipv4  ` or `ipv6`.
	AddressFamily pulumi.StringPtrInput
	// The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.
	AmazonAddress pulumi.StringPtrInput
	AmazonSideAsn pulumi.StringPtrInput
	// The ARN of the virtual interface.
	Arn pulumi.StringPtrInput
	// The Direct Connect endpoint on which the virtual interface terminates.
	AwsDevice pulumi.StringPtrInput
	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
	BgpAsn pulumi.IntPtrInput
	// The authentication key for BGP configuration.
	BgpAuthKey pulumi.StringPtrInput
	// The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.
	ConnectionId pulumi.StringPtrInput
	// The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.
	CustomerAddress pulumi.StringPtrInput
	// Indicates whether jumbo frames (9001 MTU) are supported.
	JumboFrameCapable pulumi.BoolPtrInput
	// The maximum transmission unit (MTU) is the size, in bytes, of the largest permissible packet that can be passed over the connection. The MTU of a virtual private interface can be either `1500` or `9001` (jumbo frames). Default is `1500`.
	Mtu pulumi.IntPtrInput
	// The name for the virtual interface.
	Name pulumi.StringPtrInput
	// The AWS account that will own the new virtual interface.
	OwnerAccountId pulumi.StringPtrInput
	// The VLAN ID.
	Vlan pulumi.IntPtrInput
}

func (HostedPrivateVirtualInterfaceState) ElementType

type HostedPublicVirtualInterface

type HostedPublicVirtualInterface struct {
	pulumi.CustomResourceState

	// The address family for the BGP peer. ` ipv4  ` or `ipv6`.
	AddressFamily pulumi.StringOutput `pulumi:"addressFamily"`
	// The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.
	AmazonAddress pulumi.StringOutput `pulumi:"amazonAddress"`
	AmazonSideAsn pulumi.StringOutput `pulumi:"amazonSideAsn"`
	// The ARN of the virtual interface.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The Direct Connect endpoint on which the virtual interface terminates.
	AwsDevice pulumi.StringOutput `pulumi:"awsDevice"`
	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
	BgpAsn pulumi.IntOutput `pulumi:"bgpAsn"`
	// The authentication key for BGP configuration.
	BgpAuthKey pulumi.StringOutput `pulumi:"bgpAuthKey"`
	// The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.
	ConnectionId pulumi.StringOutput `pulumi:"connectionId"`
	// The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.
	CustomerAddress pulumi.StringOutput `pulumi:"customerAddress"`
	// The name for the virtual interface.
	Name pulumi.StringOutput `pulumi:"name"`
	// The AWS account that will own the new virtual interface.
	OwnerAccountId pulumi.StringOutput `pulumi:"ownerAccountId"`
	// A list of routes to be advertised to the AWS network in this region.
	RouteFilterPrefixes pulumi.StringArrayOutput `pulumi:"routeFilterPrefixes"`
	// The VLAN ID.
	Vlan pulumi.IntOutput `pulumi:"vlan"`
}

Provides a Direct Connect hosted public virtual interface resource. This resource represents the allocator's side of the hosted virtual interface. A hosted virtual interface is a virtual interface that is owned by another AWS account.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/directconnect"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := directconnect.NewHostedPublicVirtualInterface(ctx, "foo", &directconnect.HostedPublicVirtualInterfaceArgs{
			AddressFamily:   pulumi.String("ipv4"),
			AmazonAddress:   pulumi.String("175.45.176.2/30"),
			BgpAsn:          pulumi.Int(65352),
			ConnectionId:    pulumi.String("dxcon-zzzzzzzz"),
			CustomerAddress: pulumi.String("175.45.176.1/30"),
			RouteFilterPrefixes: pulumi.StringArray{
				pulumi.String("210.52.109.0/24"),
				pulumi.String("175.45.176.0/22"),
			},
			Vlan: pulumi.Int(4094),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Direct Connect hosted public virtual interfaces can be imported using the `vif id`, e.g.

```sh

$ pulumi import aws:directconnect/hostedPublicVirtualInterface:HostedPublicVirtualInterface test dxvif-33cc44dd

```

func GetHostedPublicVirtualInterface

func GetHostedPublicVirtualInterface(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HostedPublicVirtualInterfaceState, opts ...pulumi.ResourceOption) (*HostedPublicVirtualInterface, error)

GetHostedPublicVirtualInterface gets an existing HostedPublicVirtualInterface resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewHostedPublicVirtualInterface

func NewHostedPublicVirtualInterface(ctx *pulumi.Context,
	name string, args *HostedPublicVirtualInterfaceArgs, opts ...pulumi.ResourceOption) (*HostedPublicVirtualInterface, error)

NewHostedPublicVirtualInterface registers a new resource with the given unique name, arguments, and options.

func (HostedPublicVirtualInterface) ElementType added in v3.13.0

func (HostedPublicVirtualInterface) ToHostedPublicVirtualInterfaceOutput added in v3.13.0

func (i HostedPublicVirtualInterface) ToHostedPublicVirtualInterfaceOutput() HostedPublicVirtualInterfaceOutput

func (HostedPublicVirtualInterface) ToHostedPublicVirtualInterfaceOutputWithContext added in v3.13.0

func (i HostedPublicVirtualInterface) ToHostedPublicVirtualInterfaceOutputWithContext(ctx context.Context) HostedPublicVirtualInterfaceOutput

type HostedPublicVirtualInterfaceAccepter

type HostedPublicVirtualInterfaceAccepter struct {
	pulumi.CustomResourceState

	// The ARN of the virtual interface.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The ID of the Direct Connect virtual interface to accept.
	VirtualInterfaceId pulumi.StringOutput `pulumi:"virtualInterfaceId"`
}

Provides a resource to manage the accepter's side of a Direct Connect hosted public virtual interface. This resource accepts ownership of a public virtual interface created by another AWS account.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/directconnect"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/providers"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := providers.Newaws(ctx, "accepter", nil)
		if err != nil {
			return err
		}
		accepterCallerIdentity, err := aws.GetCallerIdentity(ctx, nil, nil)
		if err != nil {
			return err
		}
		creator, err := directconnect.NewHostedPublicVirtualInterface(ctx, "creator", &directconnect.HostedPublicVirtualInterfaceArgs{
			ConnectionId:    pulumi.String("dxcon-zzzzzzzz"),
			OwnerAccountId:  pulumi.String(accepterCallerIdentity.AccountId),
			Vlan:            pulumi.Int(4094),
			AddressFamily:   pulumi.String("ipv4"),
			BgpAsn:          pulumi.Int(65352),
			CustomerAddress: pulumi.String("175.45.176.1/30"),
			AmazonAddress:   pulumi.String("175.45.176.2/30"),
			RouteFilterPrefixes: pulumi.StringArray{
				pulumi.String("210.52.109.0/24"),
				pulumi.String("175.45.176.0/22"),
			},
		})
		if err != nil {
			return err
		}
		_, err = directconnect.NewHostedPublicVirtualInterfaceAccepter(ctx, "accepterHostedPublicVirtualInterfaceAccepter", &directconnect.HostedPublicVirtualInterfaceAccepterArgs{
			VirtualInterfaceId: creator.ID(),
			Tags: pulumi.StringMap{
				"Side": pulumi.String("Accepter"),
			},
		}, pulumi.Provider(aws.Accepter))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Direct Connect hosted public virtual interfaces can be imported using the `vif id`, e.g.

```sh

$ pulumi import aws:directconnect/hostedPublicVirtualInterfaceAccepter:HostedPublicVirtualInterfaceAccepter test dxvif-33cc44dd

```

func GetHostedPublicVirtualInterfaceAccepter

func GetHostedPublicVirtualInterfaceAccepter(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HostedPublicVirtualInterfaceAccepterState, opts ...pulumi.ResourceOption) (*HostedPublicVirtualInterfaceAccepter, error)

GetHostedPublicVirtualInterfaceAccepter gets an existing HostedPublicVirtualInterfaceAccepter resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewHostedPublicVirtualInterfaceAccepter

func NewHostedPublicVirtualInterfaceAccepter(ctx *pulumi.Context,
	name string, args *HostedPublicVirtualInterfaceAccepterArgs, opts ...pulumi.ResourceOption) (*HostedPublicVirtualInterfaceAccepter, error)

NewHostedPublicVirtualInterfaceAccepter registers a new resource with the given unique name, arguments, and options.

func (HostedPublicVirtualInterfaceAccepter) ElementType added in v3.13.0

func (HostedPublicVirtualInterfaceAccepter) ToHostedPublicVirtualInterfaceAccepterOutput added in v3.13.0

func (i HostedPublicVirtualInterfaceAccepter) ToHostedPublicVirtualInterfaceAccepterOutput() HostedPublicVirtualInterfaceAccepterOutput

func (HostedPublicVirtualInterfaceAccepter) ToHostedPublicVirtualInterfaceAccepterOutputWithContext added in v3.13.0

func (i HostedPublicVirtualInterfaceAccepter) ToHostedPublicVirtualInterfaceAccepterOutputWithContext(ctx context.Context) HostedPublicVirtualInterfaceAccepterOutput

type HostedPublicVirtualInterfaceAccepterArgs

type HostedPublicVirtualInterfaceAccepterArgs struct {
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The ID of the Direct Connect virtual interface to accept.
	VirtualInterfaceId pulumi.StringInput
}

The set of arguments for constructing a HostedPublicVirtualInterfaceAccepter resource.

func (HostedPublicVirtualInterfaceAccepterArgs) ElementType

type HostedPublicVirtualInterfaceAccepterInput added in v3.13.0

type HostedPublicVirtualInterfaceAccepterInput interface {
	pulumi.Input

	ToHostedPublicVirtualInterfaceAccepterOutput() HostedPublicVirtualInterfaceAccepterOutput
	ToHostedPublicVirtualInterfaceAccepterOutputWithContext(ctx context.Context) HostedPublicVirtualInterfaceAccepterOutput
}

type HostedPublicVirtualInterfaceAccepterOutput added in v3.13.0

type HostedPublicVirtualInterfaceAccepterOutput struct {
	*pulumi.OutputState
}

func (HostedPublicVirtualInterfaceAccepterOutput) ElementType added in v3.13.0

func (HostedPublicVirtualInterfaceAccepterOutput) ToHostedPublicVirtualInterfaceAccepterOutput added in v3.13.0

func (o HostedPublicVirtualInterfaceAccepterOutput) ToHostedPublicVirtualInterfaceAccepterOutput() HostedPublicVirtualInterfaceAccepterOutput

func (HostedPublicVirtualInterfaceAccepterOutput) ToHostedPublicVirtualInterfaceAccepterOutputWithContext added in v3.13.0

func (o HostedPublicVirtualInterfaceAccepterOutput) ToHostedPublicVirtualInterfaceAccepterOutputWithContext(ctx context.Context) HostedPublicVirtualInterfaceAccepterOutput

type HostedPublicVirtualInterfaceAccepterState

type HostedPublicVirtualInterfaceAccepterState struct {
	// The ARN of the virtual interface.
	Arn pulumi.StringPtrInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The ID of the Direct Connect virtual interface to accept.
	VirtualInterfaceId pulumi.StringPtrInput
}

func (HostedPublicVirtualInterfaceAccepterState) ElementType

type HostedPublicVirtualInterfaceArgs

type HostedPublicVirtualInterfaceArgs struct {
	// The address family for the BGP peer. ` ipv4  ` or `ipv6`.
	AddressFamily pulumi.StringInput
	// The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.
	AmazonAddress pulumi.StringPtrInput
	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
	BgpAsn pulumi.IntInput
	// The authentication key for BGP configuration.
	BgpAuthKey pulumi.StringPtrInput
	// The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.
	ConnectionId pulumi.StringInput
	// The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.
	CustomerAddress pulumi.StringPtrInput
	// The name for the virtual interface.
	Name pulumi.StringPtrInput
	// The AWS account that will own the new virtual interface.
	OwnerAccountId pulumi.StringInput
	// A list of routes to be advertised to the AWS network in this region.
	RouteFilterPrefixes pulumi.StringArrayInput
	// The VLAN ID.
	Vlan pulumi.IntInput
}

The set of arguments for constructing a HostedPublicVirtualInterface resource.

func (HostedPublicVirtualInterfaceArgs) ElementType

type HostedPublicVirtualInterfaceInput added in v3.13.0

type HostedPublicVirtualInterfaceInput interface {
	pulumi.Input

	ToHostedPublicVirtualInterfaceOutput() HostedPublicVirtualInterfaceOutput
	ToHostedPublicVirtualInterfaceOutputWithContext(ctx context.Context) HostedPublicVirtualInterfaceOutput
}

type HostedPublicVirtualInterfaceOutput added in v3.13.0

type HostedPublicVirtualInterfaceOutput struct {
	*pulumi.OutputState
}

func (HostedPublicVirtualInterfaceOutput) ElementType added in v3.13.0

func (HostedPublicVirtualInterfaceOutput) ToHostedPublicVirtualInterfaceOutput added in v3.13.0

func (o HostedPublicVirtualInterfaceOutput) ToHostedPublicVirtualInterfaceOutput() HostedPublicVirtualInterfaceOutput

func (HostedPublicVirtualInterfaceOutput) ToHostedPublicVirtualInterfaceOutputWithContext added in v3.13.0

func (o HostedPublicVirtualInterfaceOutput) ToHostedPublicVirtualInterfaceOutputWithContext(ctx context.Context) HostedPublicVirtualInterfaceOutput

type HostedPublicVirtualInterfaceState

type HostedPublicVirtualInterfaceState struct {
	// The address family for the BGP peer. ` ipv4  ` or `ipv6`.
	AddressFamily pulumi.StringPtrInput
	// The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.
	AmazonAddress pulumi.StringPtrInput
	AmazonSideAsn pulumi.StringPtrInput
	// The ARN of the virtual interface.
	Arn pulumi.StringPtrInput
	// The Direct Connect endpoint on which the virtual interface terminates.
	AwsDevice pulumi.StringPtrInput
	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
	BgpAsn pulumi.IntPtrInput
	// The authentication key for BGP configuration.
	BgpAuthKey pulumi.StringPtrInput
	// The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.
	ConnectionId pulumi.StringPtrInput
	// The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.
	CustomerAddress pulumi.StringPtrInput
	// The name for the virtual interface.
	Name pulumi.StringPtrInput
	// The AWS account that will own the new virtual interface.
	OwnerAccountId pulumi.StringPtrInput
	// A list of routes to be advertised to the AWS network in this region.
	RouteFilterPrefixes pulumi.StringArrayInput
	// The VLAN ID.
	Vlan pulumi.IntPtrInput
}

func (HostedPublicVirtualInterfaceState) ElementType

type HostedTransitVirtualInterface

type HostedTransitVirtualInterface struct {
	pulumi.CustomResourceState

	// The address family for the BGP peer. ` ipv4  ` or `ipv6`.
	AddressFamily pulumi.StringOutput `pulumi:"addressFamily"`
	// The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.
	AmazonAddress pulumi.StringOutput `pulumi:"amazonAddress"`
	AmazonSideAsn pulumi.StringOutput `pulumi:"amazonSideAsn"`
	// The ARN of the virtual interface.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The Direct Connect endpoint on which the virtual interface terminates.
	AwsDevice pulumi.StringOutput `pulumi:"awsDevice"`
	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
	BgpAsn pulumi.IntOutput `pulumi:"bgpAsn"`
	// The authentication key for BGP configuration.
	BgpAuthKey pulumi.StringOutput `pulumi:"bgpAuthKey"`
	// The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.
	ConnectionId pulumi.StringOutput `pulumi:"connectionId"`
	// The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.
	CustomerAddress pulumi.StringOutput `pulumi:"customerAddress"`
	// Indicates whether jumbo frames (8500 MTU) are supported.
	JumboFrameCapable pulumi.BoolOutput `pulumi:"jumboFrameCapable"`
	// The maximum transmission unit (MTU) is the size, in bytes, of the largest permissible packet that can be passed over the connection. The MTU of a virtual transit interface can be either `1500` or `8500` (jumbo frames). Default is `1500`.
	Mtu pulumi.IntPtrOutput `pulumi:"mtu"`
	// The name for the virtual interface.
	Name pulumi.StringOutput `pulumi:"name"`
	// The AWS account that will own the new virtual interface.
	OwnerAccountId pulumi.StringOutput `pulumi:"ownerAccountId"`
	// The VLAN ID.
	Vlan pulumi.IntOutput `pulumi:"vlan"`
}

Provides a Direct Connect hosted transit virtual interface resource. This resource represents the allocator's side of the hosted virtual interface. A hosted virtual interface is a virtual interface that is owned by another AWS account.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/directconnect"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := directconnect.NewHostedTransitVirtualInterface(ctx, "example", &directconnect.HostedTransitVirtualInterfaceArgs{
			ConnectionId:  pulumi.Any(aws_dx_connection.Example.Id),
			Vlan:          pulumi.Int(4094),
			AddressFamily: pulumi.String("ipv4"),
			BgpAsn:        pulumi.Int(65352),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Direct Connect hosted transit virtual interfaces can be imported using the `vif id`, e.g.

```sh

$ pulumi import aws:directconnect/hostedTransitVirtualInterface:HostedTransitVirtualInterface test dxvif-33cc44dd

```

func GetHostedTransitVirtualInterface

func GetHostedTransitVirtualInterface(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HostedTransitVirtualInterfaceState, opts ...pulumi.ResourceOption) (*HostedTransitVirtualInterface, error)

GetHostedTransitVirtualInterface gets an existing HostedTransitVirtualInterface resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewHostedTransitVirtualInterface

func NewHostedTransitVirtualInterface(ctx *pulumi.Context,
	name string, args *HostedTransitVirtualInterfaceArgs, opts ...pulumi.ResourceOption) (*HostedTransitVirtualInterface, error)

NewHostedTransitVirtualInterface registers a new resource with the given unique name, arguments, and options.

func (HostedTransitVirtualInterface) ElementType added in v3.13.0

func (HostedTransitVirtualInterface) ToHostedTransitVirtualInterfaceOutput added in v3.13.0

func (i HostedTransitVirtualInterface) ToHostedTransitVirtualInterfaceOutput() HostedTransitVirtualInterfaceOutput

func (HostedTransitVirtualInterface) ToHostedTransitVirtualInterfaceOutputWithContext added in v3.13.0

func (i HostedTransitVirtualInterface) ToHostedTransitVirtualInterfaceOutputWithContext(ctx context.Context) HostedTransitVirtualInterfaceOutput

type HostedTransitVirtualInterfaceAcceptor

type HostedTransitVirtualInterfaceAcceptor struct {
	pulumi.CustomResourceState

	// The ARN of the virtual interface.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The ID of the Direct Connect gateway to which to connect the virtual interface.
	DxGatewayId pulumi.StringOutput `pulumi:"dxGatewayId"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The ID of the Direct Connect virtual interface to accept.
	VirtualInterfaceId pulumi.StringOutput `pulumi:"virtualInterfaceId"`
}

Provides a resource to manage the accepter's side of a Direct Connect hosted transit virtual interface. This resource accepts ownership of a transit virtual interface created by another AWS account.

> **NOTE:** AWS allows a Direct Connect hosted transit virtual interface to be deleted from either the allocator's or accepter's side. However, this provider only allows the Direct Connect hosted transit virtual interface to be deleted from the allocator's side by removing the corresponding `directconnect.HostedTransitVirtualInterface` resource from your configuration. Removing a `directconnect.HostedTransitVirtualInterfaceAcceptor` resource from your configuration will remove it from your statefile and management, **but will not delete the Direct Connect virtual interface.**

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/directconnect"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/providers"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := providers.Newaws(ctx, "accepter", nil)
		if err != nil {
			return err
		}
		accepterCallerIdentity, err := aws.GetCallerIdentity(ctx, nil, nil)
		if err != nil {
			return err
		}
		example, err := directconnect.NewGateway(ctx, "example", &directconnect.GatewayArgs{
			AmazonSideAsn: pulumi.String("64512"),
		}, pulumi.Provider(aws.Accepter))
		if err != nil {
			return err
		}
		creator, err := directconnect.NewHostedTransitVirtualInterface(ctx, "creator", &directconnect.HostedTransitVirtualInterfaceArgs{
			ConnectionId:   pulumi.String("dxcon-zzzzzzzz"),
			OwnerAccountId: pulumi.String(accepterCallerIdentity.AccountId),
			Vlan:           pulumi.Int(4094),
			AddressFamily:  pulumi.String("ipv4"),
			BgpAsn:         pulumi.Int(65352),
		}, pulumi.DependsOn([]pulumi.Resource{
			example,
		}))
		if err != nil {
			return err
		}
		_, err = directconnect.NewHostedTransitVirtualInterfaceAcceptor(ctx, "accepterHostedTransitVirtualInterfaceAcceptor", &directconnect.HostedTransitVirtualInterfaceAcceptorArgs{
			VirtualInterfaceId: creator.ID(),
			DxGatewayId:        example.ID(),
			Tags: pulumi.StringMap{
				"Side": pulumi.String("Accepter"),
			},
		}, pulumi.Provider(aws.Accepter))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Direct Connect hosted transit virtual interfaces can be imported using the `vif id`, e.g.

```sh

$ pulumi import aws:directconnect/hostedTransitVirtualInterfaceAcceptor:HostedTransitVirtualInterfaceAcceptor test dxvif-33cc44dd

```

func GetHostedTransitVirtualInterfaceAcceptor

func GetHostedTransitVirtualInterfaceAcceptor(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HostedTransitVirtualInterfaceAcceptorState, opts ...pulumi.ResourceOption) (*HostedTransitVirtualInterfaceAcceptor, error)

GetHostedTransitVirtualInterfaceAcceptor gets an existing HostedTransitVirtualInterfaceAcceptor resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewHostedTransitVirtualInterfaceAcceptor

func NewHostedTransitVirtualInterfaceAcceptor(ctx *pulumi.Context,
	name string, args *HostedTransitVirtualInterfaceAcceptorArgs, opts ...pulumi.ResourceOption) (*HostedTransitVirtualInterfaceAcceptor, error)

NewHostedTransitVirtualInterfaceAcceptor registers a new resource with the given unique name, arguments, and options.

func (HostedTransitVirtualInterfaceAcceptor) ElementType added in v3.13.0

func (HostedTransitVirtualInterfaceAcceptor) ToHostedTransitVirtualInterfaceAcceptorOutput added in v3.13.0

func (i HostedTransitVirtualInterfaceAcceptor) ToHostedTransitVirtualInterfaceAcceptorOutput() HostedTransitVirtualInterfaceAcceptorOutput

func (HostedTransitVirtualInterfaceAcceptor) ToHostedTransitVirtualInterfaceAcceptorOutputWithContext added in v3.13.0

func (i HostedTransitVirtualInterfaceAcceptor) ToHostedTransitVirtualInterfaceAcceptorOutputWithContext(ctx context.Context) HostedTransitVirtualInterfaceAcceptorOutput

type HostedTransitVirtualInterfaceAcceptorArgs

type HostedTransitVirtualInterfaceAcceptorArgs struct {
	// The ID of the Direct Connect gateway to which to connect the virtual interface.
	DxGatewayId pulumi.StringInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The ID of the Direct Connect virtual interface to accept.
	VirtualInterfaceId pulumi.StringInput
}

The set of arguments for constructing a HostedTransitVirtualInterfaceAcceptor resource.

func (HostedTransitVirtualInterfaceAcceptorArgs) ElementType

type HostedTransitVirtualInterfaceAcceptorInput added in v3.13.0

type HostedTransitVirtualInterfaceAcceptorInput interface {
	pulumi.Input

	ToHostedTransitVirtualInterfaceAcceptorOutput() HostedTransitVirtualInterfaceAcceptorOutput
	ToHostedTransitVirtualInterfaceAcceptorOutputWithContext(ctx context.Context) HostedTransitVirtualInterfaceAcceptorOutput
}

type HostedTransitVirtualInterfaceAcceptorOutput added in v3.13.0

type HostedTransitVirtualInterfaceAcceptorOutput struct {
	*pulumi.OutputState
}

func (HostedTransitVirtualInterfaceAcceptorOutput) ElementType added in v3.13.0

func (HostedTransitVirtualInterfaceAcceptorOutput) ToHostedTransitVirtualInterfaceAcceptorOutput added in v3.13.0

func (o HostedTransitVirtualInterfaceAcceptorOutput) ToHostedTransitVirtualInterfaceAcceptorOutput() HostedTransitVirtualInterfaceAcceptorOutput

func (HostedTransitVirtualInterfaceAcceptorOutput) ToHostedTransitVirtualInterfaceAcceptorOutputWithContext added in v3.13.0

func (o HostedTransitVirtualInterfaceAcceptorOutput) ToHostedTransitVirtualInterfaceAcceptorOutputWithContext(ctx context.Context) HostedTransitVirtualInterfaceAcceptorOutput

type HostedTransitVirtualInterfaceAcceptorState

type HostedTransitVirtualInterfaceAcceptorState struct {
	// The ARN of the virtual interface.
	Arn pulumi.StringPtrInput
	// The ID of the Direct Connect gateway to which to connect the virtual interface.
	DxGatewayId pulumi.StringPtrInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The ID of the Direct Connect virtual interface to accept.
	VirtualInterfaceId pulumi.StringPtrInput
}

func (HostedTransitVirtualInterfaceAcceptorState) ElementType

type HostedTransitVirtualInterfaceArgs

type HostedTransitVirtualInterfaceArgs struct {
	// The address family for the BGP peer. ` ipv4  ` or `ipv6`.
	AddressFamily pulumi.StringInput
	// The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.
	AmazonAddress pulumi.StringPtrInput
	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
	BgpAsn pulumi.IntInput
	// The authentication key for BGP configuration.
	BgpAuthKey pulumi.StringPtrInput
	// The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.
	ConnectionId pulumi.StringInput
	// The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.
	CustomerAddress pulumi.StringPtrInput
	// The maximum transmission unit (MTU) is the size, in bytes, of the largest permissible packet that can be passed over the connection. The MTU of a virtual transit interface can be either `1500` or `8500` (jumbo frames). Default is `1500`.
	Mtu pulumi.IntPtrInput
	// The name for the virtual interface.
	Name pulumi.StringPtrInput
	// The AWS account that will own the new virtual interface.
	OwnerAccountId pulumi.StringInput
	// The VLAN ID.
	Vlan pulumi.IntInput
}

The set of arguments for constructing a HostedTransitVirtualInterface resource.

func (HostedTransitVirtualInterfaceArgs) ElementType

type HostedTransitVirtualInterfaceInput added in v3.13.0

type HostedTransitVirtualInterfaceInput interface {
	pulumi.Input

	ToHostedTransitVirtualInterfaceOutput() HostedTransitVirtualInterfaceOutput
	ToHostedTransitVirtualInterfaceOutputWithContext(ctx context.Context) HostedTransitVirtualInterfaceOutput
}

type HostedTransitVirtualInterfaceOutput added in v3.13.0

type HostedTransitVirtualInterfaceOutput struct {
	*pulumi.OutputState
}

func (HostedTransitVirtualInterfaceOutput) ElementType added in v3.13.0

func (HostedTransitVirtualInterfaceOutput) ToHostedTransitVirtualInterfaceOutput added in v3.13.0

func (o HostedTransitVirtualInterfaceOutput) ToHostedTransitVirtualInterfaceOutput() HostedTransitVirtualInterfaceOutput

func (HostedTransitVirtualInterfaceOutput) ToHostedTransitVirtualInterfaceOutputWithContext added in v3.13.0

func (o HostedTransitVirtualInterfaceOutput) ToHostedTransitVirtualInterfaceOutputWithContext(ctx context.Context) HostedTransitVirtualInterfaceOutput

type HostedTransitVirtualInterfaceState

type HostedTransitVirtualInterfaceState struct {
	// The address family for the BGP peer. ` ipv4  ` or `ipv6`.
	AddressFamily pulumi.StringPtrInput
	// The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.
	AmazonAddress pulumi.StringPtrInput
	AmazonSideAsn pulumi.StringPtrInput
	// The ARN of the virtual interface.
	Arn pulumi.StringPtrInput
	// The Direct Connect endpoint on which the virtual interface terminates.
	AwsDevice pulumi.StringPtrInput
	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
	BgpAsn pulumi.IntPtrInput
	// The authentication key for BGP configuration.
	BgpAuthKey pulumi.StringPtrInput
	// The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.
	ConnectionId pulumi.StringPtrInput
	// The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.
	CustomerAddress pulumi.StringPtrInput
	// Indicates whether jumbo frames (8500 MTU) are supported.
	JumboFrameCapable pulumi.BoolPtrInput
	// The maximum transmission unit (MTU) is the size, in bytes, of the largest permissible packet that can be passed over the connection. The MTU of a virtual transit interface can be either `1500` or `8500` (jumbo frames). Default is `1500`.
	Mtu pulumi.IntPtrInput
	// The name for the virtual interface.
	Name pulumi.StringPtrInput
	// The AWS account that will own the new virtual interface.
	OwnerAccountId pulumi.StringPtrInput
	// The VLAN ID.
	Vlan pulumi.IntPtrInput
}

func (HostedTransitVirtualInterfaceState) ElementType

type LinkAggregationGroup

type LinkAggregationGroup struct {
	pulumi.CustomResourceState

	// The ARN of the LAG.
	// * `jumboFrameCapable` -Indicates whether jumbo frames (9001 MTU) are supported.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The bandwidth of the individual physical connections bundled by the LAG. Valid values: 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps and 10Gbps. Case sensitive.
	ConnectionsBandwidth pulumi.StringOutput `pulumi:"connectionsBandwidth"`
	// A boolean that indicates all connections associated with the LAG should be deleted so that the LAG can be destroyed without error. These objects are *not* recoverable.
	ForceDestroy pulumi.BoolPtrOutput `pulumi:"forceDestroy"`
	// Indicates whether the LAG supports a secondary BGP peer in the same address family (IPv4/IPv6).
	HasLogicalRedundancy pulumi.StringOutput `pulumi:"hasLogicalRedundancy"`
	JumboFrameCapable    pulumi.BoolOutput   `pulumi:"jumboFrameCapable"`
	// The AWS Direct Connect location in which the LAG should be allocated. See [DescribeLocations](https://docs.aws.amazon.com/directconnect/latest/APIReference/API_DescribeLocations.html) for the list of AWS Direct Connect locations. Use `locationCode`.
	Location pulumi.StringOutput `pulumi:"location"`
	// The name of the LAG.
	Name pulumi.StringOutput `pulumi:"name"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Provides a Direct Connect LAG. Connections can be added to the LAG via the `directconnect.Connection` and `directconnect.ConnectionAssociation` resources.

> *NOTE:* When creating a LAG, Direct Connect requires creating a Connection. This provider will remove this unmanaged connection during resource creation.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/directconnect"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := directconnect.NewLinkAggregationGroup(ctx, "hoge", &directconnect.LinkAggregationGroupArgs{
			ConnectionsBandwidth: pulumi.String("1Gbps"),
			ForceDestroy:         pulumi.Bool(true),
			Location:             pulumi.String("EqDC2"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Direct Connect LAGs can be imported using the `lag id`, e.g.

```sh

$ pulumi import aws:directconnect/linkAggregationGroup:LinkAggregationGroup test_lag dxlag-fgnsp5rq

```

func GetLinkAggregationGroup

func GetLinkAggregationGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LinkAggregationGroupState, opts ...pulumi.ResourceOption) (*LinkAggregationGroup, error)

GetLinkAggregationGroup gets an existing LinkAggregationGroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewLinkAggregationGroup

func NewLinkAggregationGroup(ctx *pulumi.Context,
	name string, args *LinkAggregationGroupArgs, opts ...pulumi.ResourceOption) (*LinkAggregationGroup, error)

NewLinkAggregationGroup registers a new resource with the given unique name, arguments, and options.

func (LinkAggregationGroup) ElementType added in v3.13.0

func (LinkAggregationGroup) ElementType() reflect.Type

func (LinkAggregationGroup) ToLinkAggregationGroupOutput added in v3.13.0

func (i LinkAggregationGroup) ToLinkAggregationGroupOutput() LinkAggregationGroupOutput

func (LinkAggregationGroup) ToLinkAggregationGroupOutputWithContext added in v3.13.0

func (i LinkAggregationGroup) ToLinkAggregationGroupOutputWithContext(ctx context.Context) LinkAggregationGroupOutput

type LinkAggregationGroupArgs

type LinkAggregationGroupArgs struct {
	// The bandwidth of the individual physical connections bundled by the LAG. Valid values: 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps and 10Gbps. Case sensitive.
	ConnectionsBandwidth pulumi.StringInput
	// A boolean that indicates all connections associated with the LAG should be deleted so that the LAG can be destroyed without error. These objects are *not* recoverable.
	ForceDestroy pulumi.BoolPtrInput
	// The AWS Direct Connect location in which the LAG should be allocated. See [DescribeLocations](https://docs.aws.amazon.com/directconnect/latest/APIReference/API_DescribeLocations.html) for the list of AWS Direct Connect locations. Use `locationCode`.
	Location pulumi.StringInput
	// The name of the LAG.
	Name pulumi.StringPtrInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a LinkAggregationGroup resource.

func (LinkAggregationGroupArgs) ElementType

func (LinkAggregationGroupArgs) ElementType() reflect.Type

type LinkAggregationGroupInput added in v3.13.0

type LinkAggregationGroupInput interface {
	pulumi.Input

	ToLinkAggregationGroupOutput() LinkAggregationGroupOutput
	ToLinkAggregationGroupOutputWithContext(ctx context.Context) LinkAggregationGroupOutput
}

type LinkAggregationGroupOutput added in v3.13.0

type LinkAggregationGroupOutput struct {
	*pulumi.OutputState
}

func (LinkAggregationGroupOutput) ElementType added in v3.13.0

func (LinkAggregationGroupOutput) ElementType() reflect.Type

func (LinkAggregationGroupOutput) ToLinkAggregationGroupOutput added in v3.13.0

func (o LinkAggregationGroupOutput) ToLinkAggregationGroupOutput() LinkAggregationGroupOutput

func (LinkAggregationGroupOutput) ToLinkAggregationGroupOutputWithContext added in v3.13.0

func (o LinkAggregationGroupOutput) ToLinkAggregationGroupOutputWithContext(ctx context.Context) LinkAggregationGroupOutput

type LinkAggregationGroupState

type LinkAggregationGroupState struct {
	// The ARN of the LAG.
	// * `jumboFrameCapable` -Indicates whether jumbo frames (9001 MTU) are supported.
	Arn pulumi.StringPtrInput
	// The bandwidth of the individual physical connections bundled by the LAG. Valid values: 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps and 10Gbps. Case sensitive.
	ConnectionsBandwidth pulumi.StringPtrInput
	// A boolean that indicates all connections associated with the LAG should be deleted so that the LAG can be destroyed without error. These objects are *not* recoverable.
	ForceDestroy pulumi.BoolPtrInput
	// Indicates whether the LAG supports a secondary BGP peer in the same address family (IPv4/IPv6).
	HasLogicalRedundancy pulumi.StringPtrInput
	JumboFrameCapable    pulumi.BoolPtrInput
	// The AWS Direct Connect location in which the LAG should be allocated. See [DescribeLocations](https://docs.aws.amazon.com/directconnect/latest/APIReference/API_DescribeLocations.html) for the list of AWS Direct Connect locations. Use `locationCode`.
	Location pulumi.StringPtrInput
	// The name of the LAG.
	Name pulumi.StringPtrInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

func (LinkAggregationGroupState) ElementType

func (LinkAggregationGroupState) ElementType() reflect.Type

type LookupGatewayArgs

type LookupGatewayArgs struct {
	// The name of the gateway to retrieve.
	Name string `pulumi:"name"`
}

A collection of arguments for invoking getGateway.

type LookupGatewayResult

type LookupGatewayResult struct {
	// The ASN on the Amazon side of the connection.
	AmazonSideAsn string `pulumi:"amazonSideAsn"`
	// The provider-assigned unique ID for this managed resource.
	Id   string `pulumi:"id"`
	Name string `pulumi:"name"`
	// AWS Account ID of the gateway.
	OwnerAccountId string `pulumi:"ownerAccountId"`
}

A collection of values returned by getGateway.

func LookupGateway

func LookupGateway(ctx *pulumi.Context, args *LookupGatewayArgs, opts ...pulumi.InvokeOption) (*LookupGatewayResult, error)

Retrieve information about a Direct Connect Gateway.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/directconnect"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := directconnect.LookupGateway(ctx, &directconnect.LookupGatewayArgs{
			Name: "example",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type PrivateVirtualInterface

type PrivateVirtualInterface struct {
	pulumi.CustomResourceState

	// The address family for the BGP peer. ` ipv4  ` or `ipv6`.
	AddressFamily pulumi.StringOutput `pulumi:"addressFamily"`
	// The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.
	AmazonAddress pulumi.StringOutput `pulumi:"amazonAddress"`
	AmazonSideAsn pulumi.StringOutput `pulumi:"amazonSideAsn"`
	// The ARN of the virtual interface.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The Direct Connect endpoint on which the virtual interface terminates.
	AwsDevice pulumi.StringOutput `pulumi:"awsDevice"`
	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
	BgpAsn pulumi.IntOutput `pulumi:"bgpAsn"`
	// The authentication key for BGP configuration.
	BgpAuthKey pulumi.StringOutput `pulumi:"bgpAuthKey"`
	// The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.
	ConnectionId pulumi.StringOutput `pulumi:"connectionId"`
	// The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.
	CustomerAddress pulumi.StringOutput `pulumi:"customerAddress"`
	// The ID of the Direct Connect gateway to which to connect the virtual interface.
	DxGatewayId pulumi.StringPtrOutput `pulumi:"dxGatewayId"`
	// Indicates whether jumbo frames (9001 MTU) are supported.
	JumboFrameCapable pulumi.BoolOutput `pulumi:"jumboFrameCapable"`
	// The maximum transmission unit (MTU) is the size, in bytes, of the largest permissible packet that can be passed over the connection.
	// The MTU of a virtual private interface can be either `1500` or `9001` (jumbo frames). Default is `1500`.
	Mtu pulumi.IntPtrOutput `pulumi:"mtu"`
	// The name for the virtual interface.
	Name pulumi.StringOutput `pulumi:"name"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The VLAN ID.
	Vlan pulumi.IntOutput `pulumi:"vlan"`
	// The ID of the virtual private gateway to which to connect the virtual interface.
	VpnGatewayId pulumi.StringPtrOutput `pulumi:"vpnGatewayId"`
}

Provides a Direct Connect private virtual interface resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/directconnect"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := directconnect.NewPrivateVirtualInterface(ctx, "foo", &directconnect.PrivateVirtualInterfaceArgs{
			AddressFamily: pulumi.String("ipv4"),
			BgpAsn:        pulumi.Int(65352),
			ConnectionId:  pulumi.String("dxcon-zzzzzzzz"),
			Vlan:          pulumi.Int(4094),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Direct Connect private virtual interfaces can be imported using the `vif id`, e.g.

```sh

$ pulumi import aws:directconnect/privateVirtualInterface:PrivateVirtualInterface test dxvif-33cc44dd

```

func GetPrivateVirtualInterface

func GetPrivateVirtualInterface(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PrivateVirtualInterfaceState, opts ...pulumi.ResourceOption) (*PrivateVirtualInterface, error)

GetPrivateVirtualInterface gets an existing PrivateVirtualInterface resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewPrivateVirtualInterface

func NewPrivateVirtualInterface(ctx *pulumi.Context,
	name string, args *PrivateVirtualInterfaceArgs, opts ...pulumi.ResourceOption) (*PrivateVirtualInterface, error)

NewPrivateVirtualInterface registers a new resource with the given unique name, arguments, and options.

func (PrivateVirtualInterface) ElementType added in v3.13.0

func (PrivateVirtualInterface) ElementType() reflect.Type

func (PrivateVirtualInterface) ToPrivateVirtualInterfaceOutput added in v3.13.0

func (i PrivateVirtualInterface) ToPrivateVirtualInterfaceOutput() PrivateVirtualInterfaceOutput

func (PrivateVirtualInterface) ToPrivateVirtualInterfaceOutputWithContext added in v3.13.0

func (i PrivateVirtualInterface) ToPrivateVirtualInterfaceOutputWithContext(ctx context.Context) PrivateVirtualInterfaceOutput

type PrivateVirtualInterfaceArgs

type PrivateVirtualInterfaceArgs struct {
	// The address family for the BGP peer. ` ipv4  ` or `ipv6`.
	AddressFamily pulumi.StringInput
	// The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.
	AmazonAddress pulumi.StringPtrInput
	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
	BgpAsn pulumi.IntInput
	// The authentication key for BGP configuration.
	BgpAuthKey pulumi.StringPtrInput
	// The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.
	ConnectionId pulumi.StringInput
	// The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.
	CustomerAddress pulumi.StringPtrInput
	// The ID of the Direct Connect gateway to which to connect the virtual interface.
	DxGatewayId pulumi.StringPtrInput
	// The maximum transmission unit (MTU) is the size, in bytes, of the largest permissible packet that can be passed over the connection.
	// The MTU of a virtual private interface can be either `1500` or `9001` (jumbo frames). Default is `1500`.
	Mtu pulumi.IntPtrInput
	// The name for the virtual interface.
	Name pulumi.StringPtrInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The VLAN ID.
	Vlan pulumi.IntInput
	// The ID of the virtual private gateway to which to connect the virtual interface.
	VpnGatewayId pulumi.StringPtrInput
}

The set of arguments for constructing a PrivateVirtualInterface resource.

func (PrivateVirtualInterfaceArgs) ElementType

type PrivateVirtualInterfaceInput added in v3.13.0

type PrivateVirtualInterfaceInput interface {
	pulumi.Input

	ToPrivateVirtualInterfaceOutput() PrivateVirtualInterfaceOutput
	ToPrivateVirtualInterfaceOutputWithContext(ctx context.Context) PrivateVirtualInterfaceOutput
}

type PrivateVirtualInterfaceOutput added in v3.13.0

type PrivateVirtualInterfaceOutput struct {
	*pulumi.OutputState
}

func (PrivateVirtualInterfaceOutput) ElementType added in v3.13.0

func (PrivateVirtualInterfaceOutput) ToPrivateVirtualInterfaceOutput added in v3.13.0

func (o PrivateVirtualInterfaceOutput) ToPrivateVirtualInterfaceOutput() PrivateVirtualInterfaceOutput

func (PrivateVirtualInterfaceOutput) ToPrivateVirtualInterfaceOutputWithContext added in v3.13.0

func (o PrivateVirtualInterfaceOutput) ToPrivateVirtualInterfaceOutputWithContext(ctx context.Context) PrivateVirtualInterfaceOutput

type PrivateVirtualInterfaceState

type PrivateVirtualInterfaceState struct {
	// The address family for the BGP peer. ` ipv4  ` or `ipv6`.
	AddressFamily pulumi.StringPtrInput
	// The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.
	AmazonAddress pulumi.StringPtrInput
	AmazonSideAsn pulumi.StringPtrInput
	// The ARN of the virtual interface.
	Arn pulumi.StringPtrInput
	// The Direct Connect endpoint on which the virtual interface terminates.
	AwsDevice pulumi.StringPtrInput
	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
	BgpAsn pulumi.IntPtrInput
	// The authentication key for BGP configuration.
	BgpAuthKey pulumi.StringPtrInput
	// The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.
	ConnectionId pulumi.StringPtrInput
	// The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.
	CustomerAddress pulumi.StringPtrInput
	// The ID of the Direct Connect gateway to which to connect the virtual interface.
	DxGatewayId pulumi.StringPtrInput
	// Indicates whether jumbo frames (9001 MTU) are supported.
	JumboFrameCapable pulumi.BoolPtrInput
	// The maximum transmission unit (MTU) is the size, in bytes, of the largest permissible packet that can be passed over the connection.
	// The MTU of a virtual private interface can be either `1500` or `9001` (jumbo frames). Default is `1500`.
	Mtu pulumi.IntPtrInput
	// The name for the virtual interface.
	Name pulumi.StringPtrInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The VLAN ID.
	Vlan pulumi.IntPtrInput
	// The ID of the virtual private gateway to which to connect the virtual interface.
	VpnGatewayId pulumi.StringPtrInput
}

func (PrivateVirtualInterfaceState) ElementType

type PublicVirtualInterface

type PublicVirtualInterface struct {
	pulumi.CustomResourceState

	// The address family for the BGP peer. ` ipv4  ` or `ipv6`.
	AddressFamily pulumi.StringOutput `pulumi:"addressFamily"`
	// The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.
	AmazonAddress pulumi.StringOutput `pulumi:"amazonAddress"`
	AmazonSideAsn pulumi.StringOutput `pulumi:"amazonSideAsn"`
	// The ARN of the virtual interface.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The Direct Connect endpoint on which the virtual interface terminates.
	AwsDevice pulumi.StringOutput `pulumi:"awsDevice"`
	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
	BgpAsn pulumi.IntOutput `pulumi:"bgpAsn"`
	// The authentication key for BGP configuration.
	BgpAuthKey pulumi.StringOutput `pulumi:"bgpAuthKey"`
	// The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.
	ConnectionId pulumi.StringOutput `pulumi:"connectionId"`
	// The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.
	CustomerAddress pulumi.StringOutput `pulumi:"customerAddress"`
	// The name for the virtual interface.
	Name pulumi.StringOutput `pulumi:"name"`
	// A list of routes to be advertised to the AWS network in this region.
	RouteFilterPrefixes pulumi.StringArrayOutput `pulumi:"routeFilterPrefixes"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The VLAN ID.
	Vlan pulumi.IntOutput `pulumi:"vlan"`
}

Provides a Direct Connect public virtual interface resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/directconnect"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := directconnect.NewPublicVirtualInterface(ctx, "foo", &directconnect.PublicVirtualInterfaceArgs{
			AddressFamily:   pulumi.String("ipv4"),
			AmazonAddress:   pulumi.String("175.45.176.2/30"),
			BgpAsn:          pulumi.Int(65352),
			ConnectionId:    pulumi.String("dxcon-zzzzzzzz"),
			CustomerAddress: pulumi.String("175.45.176.1/30"),
			RouteFilterPrefixes: pulumi.StringArray{
				pulumi.String("210.52.109.0/24"),
				pulumi.String("175.45.176.0/22"),
			},
			Vlan: pulumi.Int(4094),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Direct Connect public virtual interfaces can be imported using the `vif id`, e.g.

```sh

$ pulumi import aws:directconnect/publicVirtualInterface:PublicVirtualInterface test dxvif-33cc44dd

```

func GetPublicVirtualInterface

func GetPublicVirtualInterface(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PublicVirtualInterfaceState, opts ...pulumi.ResourceOption) (*PublicVirtualInterface, error)

GetPublicVirtualInterface gets an existing PublicVirtualInterface resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewPublicVirtualInterface

func NewPublicVirtualInterface(ctx *pulumi.Context,
	name string, args *PublicVirtualInterfaceArgs, opts ...pulumi.ResourceOption) (*PublicVirtualInterface, error)

NewPublicVirtualInterface registers a new resource with the given unique name, arguments, and options.

func (PublicVirtualInterface) ElementType added in v3.13.0

func (PublicVirtualInterface) ElementType() reflect.Type

func (PublicVirtualInterface) ToPublicVirtualInterfaceOutput added in v3.13.0

func (i PublicVirtualInterface) ToPublicVirtualInterfaceOutput() PublicVirtualInterfaceOutput

func (PublicVirtualInterface) ToPublicVirtualInterfaceOutputWithContext added in v3.13.0

func (i PublicVirtualInterface) ToPublicVirtualInterfaceOutputWithContext(ctx context.Context) PublicVirtualInterfaceOutput

type PublicVirtualInterfaceArgs

type PublicVirtualInterfaceArgs struct {
	// The address family for the BGP peer. ` ipv4  ` or `ipv6`.
	AddressFamily pulumi.StringInput
	// The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.
	AmazonAddress pulumi.StringPtrInput
	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
	BgpAsn pulumi.IntInput
	// The authentication key for BGP configuration.
	BgpAuthKey pulumi.StringPtrInput
	// The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.
	ConnectionId pulumi.StringInput
	// The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.
	CustomerAddress pulumi.StringPtrInput
	// The name for the virtual interface.
	Name pulumi.StringPtrInput
	// A list of routes to be advertised to the AWS network in this region.
	RouteFilterPrefixes pulumi.StringArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The VLAN ID.
	Vlan pulumi.IntInput
}

The set of arguments for constructing a PublicVirtualInterface resource.

func (PublicVirtualInterfaceArgs) ElementType

func (PublicVirtualInterfaceArgs) ElementType() reflect.Type

type PublicVirtualInterfaceInput added in v3.13.0

type PublicVirtualInterfaceInput interface {
	pulumi.Input

	ToPublicVirtualInterfaceOutput() PublicVirtualInterfaceOutput
	ToPublicVirtualInterfaceOutputWithContext(ctx context.Context) PublicVirtualInterfaceOutput
}

type PublicVirtualInterfaceOutput added in v3.13.0

type PublicVirtualInterfaceOutput struct {
	*pulumi.OutputState
}

func (PublicVirtualInterfaceOutput) ElementType added in v3.13.0

func (PublicVirtualInterfaceOutput) ToPublicVirtualInterfaceOutput added in v3.13.0

func (o PublicVirtualInterfaceOutput) ToPublicVirtualInterfaceOutput() PublicVirtualInterfaceOutput

func (PublicVirtualInterfaceOutput) ToPublicVirtualInterfaceOutputWithContext added in v3.13.0

func (o PublicVirtualInterfaceOutput) ToPublicVirtualInterfaceOutputWithContext(ctx context.Context) PublicVirtualInterfaceOutput

type PublicVirtualInterfaceState

type PublicVirtualInterfaceState struct {
	// The address family for the BGP peer. ` ipv4  ` or `ipv6`.
	AddressFamily pulumi.StringPtrInput
	// The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.
	AmazonAddress pulumi.StringPtrInput
	AmazonSideAsn pulumi.StringPtrInput
	// The ARN of the virtual interface.
	Arn pulumi.StringPtrInput
	// The Direct Connect endpoint on which the virtual interface terminates.
	AwsDevice pulumi.StringPtrInput
	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
	BgpAsn pulumi.IntPtrInput
	// The authentication key for BGP configuration.
	BgpAuthKey pulumi.StringPtrInput
	// The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.
	ConnectionId pulumi.StringPtrInput
	// The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.
	CustomerAddress pulumi.StringPtrInput
	// The name for the virtual interface.
	Name pulumi.StringPtrInput
	// A list of routes to be advertised to the AWS network in this region.
	RouteFilterPrefixes pulumi.StringArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The VLAN ID.
	Vlan pulumi.IntPtrInput
}

func (PublicVirtualInterfaceState) ElementType

type TransitVirtualInterface

type TransitVirtualInterface struct {
	pulumi.CustomResourceState

	// The address family for the BGP peer. ` ipv4  ` or `ipv6`.
	AddressFamily pulumi.StringOutput `pulumi:"addressFamily"`
	// The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.
	AmazonAddress pulumi.StringOutput `pulumi:"amazonAddress"`
	AmazonSideAsn pulumi.StringOutput `pulumi:"amazonSideAsn"`
	// The ARN of the virtual interface.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The Direct Connect endpoint on which the virtual interface terminates.
	AwsDevice pulumi.StringOutput `pulumi:"awsDevice"`
	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
	BgpAsn pulumi.IntOutput `pulumi:"bgpAsn"`
	// The authentication key for BGP configuration.
	BgpAuthKey pulumi.StringOutput `pulumi:"bgpAuthKey"`
	// The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.
	ConnectionId pulumi.StringOutput `pulumi:"connectionId"`
	// The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.
	CustomerAddress pulumi.StringOutput `pulumi:"customerAddress"`
	// The ID of the Direct Connect gateway to which to connect the virtual interface.
	DxGatewayId pulumi.StringOutput `pulumi:"dxGatewayId"`
	// Indicates whether jumbo frames (8500 MTU) are supported.
	JumboFrameCapable pulumi.BoolOutput `pulumi:"jumboFrameCapable"`
	// The maximum transmission unit (MTU) is the size, in bytes, of the largest permissible packet that can be passed over the connection.
	// The MTU of a virtual transit interface can be either `1500` or `8500` (jumbo frames). Default is `1500`.
	Mtu pulumi.IntPtrOutput `pulumi:"mtu"`
	// The name for the virtual interface.
	Name pulumi.StringOutput `pulumi:"name"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The VLAN ID.
	Vlan pulumi.IntOutput `pulumi:"vlan"`
}

Provides a Direct Connect transit virtual interface resource. A transit virtual interface is a VLAN that transports traffic from a Direct Connect gateway to one or more transit gateways.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/directconnect"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleGateway, err := directconnect.NewGateway(ctx, "exampleGateway", &directconnect.GatewayArgs{
			AmazonSideAsn: pulumi.String("64512"),
		})
		if err != nil {
			return err
		}
		_, err = directconnect.NewTransitVirtualInterface(ctx, "exampleTransitVirtualInterface", &directconnect.TransitVirtualInterfaceArgs{
			ConnectionId:  pulumi.Any(aws_dx_connection.Example.Id),
			DxGatewayId:   exampleGateway.ID(),
			Vlan:          pulumi.Int(4094),
			AddressFamily: pulumi.String("ipv4"),
			BgpAsn:        pulumi.Int(65352),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Direct Connect transit virtual interfaces can be imported using the `vif id`, e.g.

```sh

$ pulumi import aws:directconnect/transitVirtualInterface:TransitVirtualInterface test dxvif-33cc44dd

```

func GetTransitVirtualInterface

func GetTransitVirtualInterface(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TransitVirtualInterfaceState, opts ...pulumi.ResourceOption) (*TransitVirtualInterface, error)

GetTransitVirtualInterface gets an existing TransitVirtualInterface resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewTransitVirtualInterface

func NewTransitVirtualInterface(ctx *pulumi.Context,
	name string, args *TransitVirtualInterfaceArgs, opts ...pulumi.ResourceOption) (*TransitVirtualInterface, error)

NewTransitVirtualInterface registers a new resource with the given unique name, arguments, and options.

func (TransitVirtualInterface) ElementType added in v3.13.0

func (TransitVirtualInterface) ElementType() reflect.Type

func (TransitVirtualInterface) ToTransitVirtualInterfaceOutput added in v3.13.0

func (i TransitVirtualInterface) ToTransitVirtualInterfaceOutput() TransitVirtualInterfaceOutput

func (TransitVirtualInterface) ToTransitVirtualInterfaceOutputWithContext added in v3.13.0

func (i TransitVirtualInterface) ToTransitVirtualInterfaceOutputWithContext(ctx context.Context) TransitVirtualInterfaceOutput

type TransitVirtualInterfaceArgs

type TransitVirtualInterfaceArgs struct {
	// The address family for the BGP peer. ` ipv4  ` or `ipv6`.
	AddressFamily pulumi.StringInput
	// The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.
	AmazonAddress pulumi.StringPtrInput
	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
	BgpAsn pulumi.IntInput
	// The authentication key for BGP configuration.
	BgpAuthKey pulumi.StringPtrInput
	// The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.
	ConnectionId pulumi.StringInput
	// The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.
	CustomerAddress pulumi.StringPtrInput
	// The ID of the Direct Connect gateway to which to connect the virtual interface.
	DxGatewayId pulumi.StringInput
	// The maximum transmission unit (MTU) is the size, in bytes, of the largest permissible packet that can be passed over the connection.
	// The MTU of a virtual transit interface can be either `1500` or `8500` (jumbo frames). Default is `1500`.
	Mtu pulumi.IntPtrInput
	// The name for the virtual interface.
	Name pulumi.StringPtrInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The VLAN ID.
	Vlan pulumi.IntInput
}

The set of arguments for constructing a TransitVirtualInterface resource.

func (TransitVirtualInterfaceArgs) ElementType

type TransitVirtualInterfaceInput added in v3.13.0

type TransitVirtualInterfaceInput interface {
	pulumi.Input

	ToTransitVirtualInterfaceOutput() TransitVirtualInterfaceOutput
	ToTransitVirtualInterfaceOutputWithContext(ctx context.Context) TransitVirtualInterfaceOutput
}

type TransitVirtualInterfaceOutput added in v3.13.0

type TransitVirtualInterfaceOutput struct {
	*pulumi.OutputState
}

func (TransitVirtualInterfaceOutput) ElementType added in v3.13.0

func (TransitVirtualInterfaceOutput) ToTransitVirtualInterfaceOutput added in v3.13.0

func (o TransitVirtualInterfaceOutput) ToTransitVirtualInterfaceOutput() TransitVirtualInterfaceOutput

func (TransitVirtualInterfaceOutput) ToTransitVirtualInterfaceOutputWithContext added in v3.13.0

func (o TransitVirtualInterfaceOutput) ToTransitVirtualInterfaceOutputWithContext(ctx context.Context) TransitVirtualInterfaceOutput

type TransitVirtualInterfaceState

type TransitVirtualInterfaceState struct {
	// The address family for the BGP peer. ` ipv4  ` or `ipv6`.
	AddressFamily pulumi.StringPtrInput
	// The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.
	AmazonAddress pulumi.StringPtrInput
	AmazonSideAsn pulumi.StringPtrInput
	// The ARN of the virtual interface.
	Arn pulumi.StringPtrInput
	// The Direct Connect endpoint on which the virtual interface terminates.
	AwsDevice pulumi.StringPtrInput
	// The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.
	BgpAsn pulumi.IntPtrInput
	// The authentication key for BGP configuration.
	BgpAuthKey pulumi.StringPtrInput
	// The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.
	ConnectionId pulumi.StringPtrInput
	// The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.
	CustomerAddress pulumi.StringPtrInput
	// The ID of the Direct Connect gateway to which to connect the virtual interface.
	DxGatewayId pulumi.StringPtrInput
	// Indicates whether jumbo frames (8500 MTU) are supported.
	JumboFrameCapable pulumi.BoolPtrInput
	// The maximum transmission unit (MTU) is the size, in bytes, of the largest permissible packet that can be passed over the connection.
	// The MTU of a virtual transit interface can be either `1500` or `8500` (jumbo frames). Default is `1500`.
	Mtu pulumi.IntPtrInput
	// The name for the virtual interface.
	Name pulumi.StringPtrInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The VLAN ID.
	Vlan pulumi.IntPtrInput
}

func (TransitVirtualInterfaceState) ElementType

Jump to

Keyboard shortcuts

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