directconnect

package
v5.43.0 Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2023 License: Apache-2.0 Imports: 7 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/v5/go/aws/directconnect"
"github.com/pulumi/pulumi/sdk/v3/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

func (*BgpPeer) ElementType() reflect.Type

func (*BgpPeer) ToBgpPeerOutput

func (i *BgpPeer) ToBgpPeerOutput() BgpPeerOutput

func (*BgpPeer) ToBgpPeerOutputWithContext

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 BgpPeerArray

type BgpPeerArray []BgpPeerInput

func (BgpPeerArray) ElementType

func (BgpPeerArray) ElementType() reflect.Type

func (BgpPeerArray) ToBgpPeerArrayOutput

func (i BgpPeerArray) ToBgpPeerArrayOutput() BgpPeerArrayOutput

func (BgpPeerArray) ToBgpPeerArrayOutputWithContext

func (i BgpPeerArray) ToBgpPeerArrayOutputWithContext(ctx context.Context) BgpPeerArrayOutput

type BgpPeerArrayInput

type BgpPeerArrayInput interface {
	pulumi.Input

	ToBgpPeerArrayOutput() BgpPeerArrayOutput
	ToBgpPeerArrayOutputWithContext(context.Context) BgpPeerArrayOutput
}

BgpPeerArrayInput is an input type that accepts BgpPeerArray and BgpPeerArrayOutput values. You can construct a concrete instance of `BgpPeerArrayInput` via:

BgpPeerArray{ BgpPeerArgs{...} }

type BgpPeerArrayOutput

type BgpPeerArrayOutput struct{ *pulumi.OutputState }

func (BgpPeerArrayOutput) ElementType

func (BgpPeerArrayOutput) ElementType() reflect.Type

func (BgpPeerArrayOutput) Index

func (BgpPeerArrayOutput) ToBgpPeerArrayOutput

func (o BgpPeerArrayOutput) ToBgpPeerArrayOutput() BgpPeerArrayOutput

func (BgpPeerArrayOutput) ToBgpPeerArrayOutputWithContext

func (o BgpPeerArrayOutput) ToBgpPeerArrayOutputWithContext(ctx context.Context) BgpPeerArrayOutput

type BgpPeerInput

type BgpPeerInput interface {
	pulumi.Input

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

type BgpPeerMap

type BgpPeerMap map[string]BgpPeerInput

func (BgpPeerMap) ElementType

func (BgpPeerMap) ElementType() reflect.Type

func (BgpPeerMap) ToBgpPeerMapOutput

func (i BgpPeerMap) ToBgpPeerMapOutput() BgpPeerMapOutput

func (BgpPeerMap) ToBgpPeerMapOutputWithContext

func (i BgpPeerMap) ToBgpPeerMapOutputWithContext(ctx context.Context) BgpPeerMapOutput

type BgpPeerMapInput

type BgpPeerMapInput interface {
	pulumi.Input

	ToBgpPeerMapOutput() BgpPeerMapOutput
	ToBgpPeerMapOutputWithContext(context.Context) BgpPeerMapOutput
}

BgpPeerMapInput is an input type that accepts BgpPeerMap and BgpPeerMapOutput values. You can construct a concrete instance of `BgpPeerMapInput` via:

BgpPeerMap{ "key": BgpPeerArgs{...} }

type BgpPeerMapOutput

type BgpPeerMapOutput struct{ *pulumi.OutputState }

func (BgpPeerMapOutput) ElementType

func (BgpPeerMapOutput) ElementType() reflect.Type

func (BgpPeerMapOutput) MapIndex

func (BgpPeerMapOutput) ToBgpPeerMapOutput

func (o BgpPeerMapOutput) ToBgpPeerMapOutput() BgpPeerMapOutput

func (BgpPeerMapOutput) ToBgpPeerMapOutputWithContext

func (o BgpPeerMapOutput) ToBgpPeerMapOutputWithContext(ctx context.Context) BgpPeerMapOutput

type BgpPeerOutput

type BgpPeerOutput struct{ *pulumi.OutputState }

func (BgpPeerOutput) AddressFamily added in v5.4.0

func (o BgpPeerOutput) AddressFamily() pulumi.StringOutput

The address family for the BGP peer. ` ipv4 ` or `ipv6`.

func (BgpPeerOutput) AmazonAddress added in v5.4.0

func (o BgpPeerOutput) AmazonAddress() pulumi.StringOutput

The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers on public virtual interfaces.

func (BgpPeerOutput) AwsDevice added in v5.4.0

func (o BgpPeerOutput) AwsDevice() pulumi.StringOutput

The Direct Connect endpoint on which the BGP peer terminates.

func (BgpPeerOutput) BgpAsn added in v5.4.0

func (o BgpPeerOutput) BgpAsn() pulumi.IntOutput

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

func (BgpPeerOutput) BgpAuthKey added in v5.4.0

func (o BgpPeerOutput) BgpAuthKey() pulumi.StringOutput

The authentication key for BGP configuration.

func (BgpPeerOutput) BgpPeerId added in v5.4.0

func (o BgpPeerOutput) BgpPeerId() pulumi.StringOutput

The ID of the BGP peer.

func (BgpPeerOutput) BgpStatus added in v5.4.0

func (o BgpPeerOutput) BgpStatus() pulumi.StringOutput

The Up/Down state of the BGP peer.

func (BgpPeerOutput) CustomerAddress added in v5.4.0

func (o BgpPeerOutput) CustomerAddress() pulumi.StringOutput

The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers on public virtual interfaces.

func (BgpPeerOutput) ElementType

func (BgpPeerOutput) ElementType() reflect.Type

func (BgpPeerOutput) ToBgpPeerOutput

func (o BgpPeerOutput) ToBgpPeerOutput() BgpPeerOutput

func (BgpPeerOutput) ToBgpPeerOutputWithContext

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

func (BgpPeerOutput) VirtualInterfaceId added in v5.4.0

func (o BgpPeerOutput) VirtualInterfaceId() pulumi.StringOutput

The ID of the Direct Connect virtual interface on which to create the BGP peer.

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, 10Gbps and 100Gbps. Case sensitive.
	Bandwidth pulumi.StringOutput `pulumi:"bandwidth"`
	// The connection MAC Security (MACsec) encryption mode. MAC Security (MACsec) is only available on dedicated connections. Valid values are `noEncrypt`, `shouldEncrypt`, and `mustEncrypt`.
	EncryptionMode pulumi.StringOutput `pulumi:"encryptionMode"`
	// 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"`
	// Boolean value indicating whether the connection supports MAC Security (MACsec).
	MacsecCapable pulumi.BoolOutput `pulumi:"macsecCapable"`
	// The name of the connection.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the AWS account that owns the connection.
	OwnerAccountId pulumi.StringOutput `pulumi:"ownerAccountId"`
	// The name of the AWS Direct Connect service provider associated with the connection.
	PartnerName pulumi.StringOutput `pulumi:"partnerName"`
	// The MAC Security (MACsec) port link status of the connection.
	PortEncryptionStatus pulumi.StringOutput `pulumi:"portEncryptionStatus"`
	// The name of the service provider associated with the connection.
	ProviderName pulumi.StringOutput `pulumi:"providerName"`
	// Boolean value indicating whether you want the connection to support MAC Security (MACsec). MAC Security (MACsec) is only available on dedicated connections. See [MACsec prerequisites](https://docs.aws.amazon.com/directconnect/latest/UserGuide/direct-connect-mac-sec-getting-started.html#mac-sec-prerequisites) for more information about MAC Security (MACsec) prerequisites. Default value: `false`.
	//
	// > **NOTE:** Changing the value of `requestMacsec` will cause the resource to be destroyed and re-created.
	RequestMacsec pulumi.BoolPtrOutput `pulumi:"requestMacsec"`
	// Set to true if you do not wish the connection to be deleted at destroy time, and instead just removed from the state.
	SkipDestroy pulumi.BoolPtrOutput `pulumi:"skipDestroy"`
	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// The VLAN ID.
	VlanId pulumi.StringOutput `pulumi:"vlanId"`
}

Provides a Connection of Direct Connect.

## Example Usage ### Create a connection

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/directconnect"
"github.com/pulumi/pulumi/sdk/v3/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
	})
}

``` ### Request a MACsec-capable connection

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := directconnect.NewConnection(ctx, "example", &directconnect.ConnectionArgs{
			Bandwidth:     pulumi.String("10Gbps"),
			Location:      pulumi.String("EqDA2"),
			RequestMacsec: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Configure encryption mode for MACsec-capable connections

> **NOTE:** You can only specify the `encryptionMode` argument once the connection is in an `Available` state.

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := directconnect.NewConnection(ctx, "example", &directconnect.ConnectionArgs{
			Bandwidth:      pulumi.String("10Gbps"),
			EncryptionMode: pulumi.String("must_encrypt"),
			Location:       pulumi.String("EqDC2"),
			RequestMacsec:  pulumi.Bool(true),
		})
		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

func (*Connection) ElementType() reflect.Type

func (*Connection) ToConnectionOutput

func (i *Connection) ToConnectionOutput() ConnectionOutput

func (*Connection) ToConnectionOutputWithContext

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, 10Gbps and 100Gbps. Case sensitive.
	Bandwidth pulumi.StringInput
	// The connection MAC Security (MACsec) encryption mode. MAC Security (MACsec) is only available on dedicated connections. Valid values are `noEncrypt`, `shouldEncrypt`, and `mustEncrypt`.
	EncryptionMode pulumi.StringPtrInput
	// 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
	// The name of the service provider associated with the connection.
	ProviderName pulumi.StringPtrInput
	// Boolean value indicating whether you want the connection to support MAC Security (MACsec). MAC Security (MACsec) is only available on dedicated connections. See [MACsec prerequisites](https://docs.aws.amazon.com/directconnect/latest/UserGuide/direct-connect-mac-sec-getting-started.html#mac-sec-prerequisites) for more information about MAC Security (MACsec) prerequisites. Default value: `false`.
	//
	// > **NOTE:** Changing the value of `requestMacsec` will cause the resource to be destroyed and re-created.
	RequestMacsec pulumi.BoolPtrInput
	// Set to true if you do not wish the connection to be deleted at destroy time, and instead just removed from the state.
	SkipDestroy pulumi.BoolPtrInput
	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a Connection resource.

func (ConnectionArgs) ElementType

func (ConnectionArgs) ElementType() reflect.Type

type ConnectionArray

type ConnectionArray []ConnectionInput

func (ConnectionArray) ElementType

func (ConnectionArray) ElementType() reflect.Type

func (ConnectionArray) ToConnectionArrayOutput

func (i ConnectionArray) ToConnectionArrayOutput() ConnectionArrayOutput

func (ConnectionArray) ToConnectionArrayOutputWithContext

func (i ConnectionArray) ToConnectionArrayOutputWithContext(ctx context.Context) ConnectionArrayOutput

type ConnectionArrayInput

type ConnectionArrayInput interface {
	pulumi.Input

	ToConnectionArrayOutput() ConnectionArrayOutput
	ToConnectionArrayOutputWithContext(context.Context) ConnectionArrayOutput
}

ConnectionArrayInput is an input type that accepts ConnectionArray and ConnectionArrayOutput values. You can construct a concrete instance of `ConnectionArrayInput` via:

ConnectionArray{ ConnectionArgs{...} }

type ConnectionArrayOutput

type ConnectionArrayOutput struct{ *pulumi.OutputState }

func (ConnectionArrayOutput) ElementType

func (ConnectionArrayOutput) ElementType() reflect.Type

func (ConnectionArrayOutput) Index

func (ConnectionArrayOutput) ToConnectionArrayOutput

func (o ConnectionArrayOutput) ToConnectionArrayOutput() ConnectionArrayOutput

func (ConnectionArrayOutput) ToConnectionArrayOutputWithContext

func (o ConnectionArrayOutput) ToConnectionArrayOutputWithContext(ctx context.Context) ConnectionArrayOutput

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/v5/go/aws/directconnect"
"github.com/pulumi/pulumi/sdk/v3/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

func (*ConnectionAssociation) ElementType() reflect.Type

func (*ConnectionAssociation) ToConnectionAssociationOutput

func (i *ConnectionAssociation) ToConnectionAssociationOutput() ConnectionAssociationOutput

func (*ConnectionAssociation) ToConnectionAssociationOutputWithContext

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 ConnectionAssociationArray

type ConnectionAssociationArray []ConnectionAssociationInput

func (ConnectionAssociationArray) ElementType

func (ConnectionAssociationArray) ElementType() reflect.Type

func (ConnectionAssociationArray) ToConnectionAssociationArrayOutput

func (i ConnectionAssociationArray) ToConnectionAssociationArrayOutput() ConnectionAssociationArrayOutput

func (ConnectionAssociationArray) ToConnectionAssociationArrayOutputWithContext

func (i ConnectionAssociationArray) ToConnectionAssociationArrayOutputWithContext(ctx context.Context) ConnectionAssociationArrayOutput

type ConnectionAssociationArrayInput

type ConnectionAssociationArrayInput interface {
	pulumi.Input

	ToConnectionAssociationArrayOutput() ConnectionAssociationArrayOutput
	ToConnectionAssociationArrayOutputWithContext(context.Context) ConnectionAssociationArrayOutput
}

ConnectionAssociationArrayInput is an input type that accepts ConnectionAssociationArray and ConnectionAssociationArrayOutput values. You can construct a concrete instance of `ConnectionAssociationArrayInput` via:

ConnectionAssociationArray{ ConnectionAssociationArgs{...} }

type ConnectionAssociationArrayOutput

type ConnectionAssociationArrayOutput struct{ *pulumi.OutputState }

func (ConnectionAssociationArrayOutput) ElementType

func (ConnectionAssociationArrayOutput) Index

func (ConnectionAssociationArrayOutput) ToConnectionAssociationArrayOutput

func (o ConnectionAssociationArrayOutput) ToConnectionAssociationArrayOutput() ConnectionAssociationArrayOutput

func (ConnectionAssociationArrayOutput) ToConnectionAssociationArrayOutputWithContext

func (o ConnectionAssociationArrayOutput) ToConnectionAssociationArrayOutputWithContext(ctx context.Context) ConnectionAssociationArrayOutput

type ConnectionAssociationInput

type ConnectionAssociationInput interface {
	pulumi.Input

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

type ConnectionAssociationMap

type ConnectionAssociationMap map[string]ConnectionAssociationInput

func (ConnectionAssociationMap) ElementType

func (ConnectionAssociationMap) ElementType() reflect.Type

func (ConnectionAssociationMap) ToConnectionAssociationMapOutput

func (i ConnectionAssociationMap) ToConnectionAssociationMapOutput() ConnectionAssociationMapOutput

func (ConnectionAssociationMap) ToConnectionAssociationMapOutputWithContext

func (i ConnectionAssociationMap) ToConnectionAssociationMapOutputWithContext(ctx context.Context) ConnectionAssociationMapOutput

type ConnectionAssociationMapInput

type ConnectionAssociationMapInput interface {
	pulumi.Input

	ToConnectionAssociationMapOutput() ConnectionAssociationMapOutput
	ToConnectionAssociationMapOutputWithContext(context.Context) ConnectionAssociationMapOutput
}

ConnectionAssociationMapInput is an input type that accepts ConnectionAssociationMap and ConnectionAssociationMapOutput values. You can construct a concrete instance of `ConnectionAssociationMapInput` via:

ConnectionAssociationMap{ "key": ConnectionAssociationArgs{...} }

type ConnectionAssociationMapOutput

type ConnectionAssociationMapOutput struct{ *pulumi.OutputState }

func (ConnectionAssociationMapOutput) ElementType

func (ConnectionAssociationMapOutput) MapIndex

func (ConnectionAssociationMapOutput) ToConnectionAssociationMapOutput

func (o ConnectionAssociationMapOutput) ToConnectionAssociationMapOutput() ConnectionAssociationMapOutput

func (ConnectionAssociationMapOutput) ToConnectionAssociationMapOutputWithContext

func (o ConnectionAssociationMapOutput) ToConnectionAssociationMapOutputWithContext(ctx context.Context) ConnectionAssociationMapOutput

type ConnectionAssociationOutput

type ConnectionAssociationOutput struct{ *pulumi.OutputState }

func (ConnectionAssociationOutput) ConnectionId added in v5.4.0

The ID of the connection.

func (ConnectionAssociationOutput) ElementType

func (ConnectionAssociationOutput) LagId added in v5.4.0

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

func (ConnectionAssociationOutput) ToConnectionAssociationOutput

func (o ConnectionAssociationOutput) ToConnectionAssociationOutput() ConnectionAssociationOutput

func (ConnectionAssociationOutput) ToConnectionAssociationOutputWithContext

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 ConnectionConfirmation

type ConnectionConfirmation struct {
	pulumi.CustomResourceState

	// The ID of the hosted connection.
	ConnectionId pulumi.StringOutput `pulumi:"connectionId"`
}

Provides a confirmation of the creation of the specified hosted connection on an interconnect.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := directconnect.NewConnectionConfirmation(ctx, "confirmation", &directconnect.ConnectionConfirmationArgs{
			ConnectionId: pulumi.String("dxcon-ffabc123"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetConnectionConfirmation

func GetConnectionConfirmation(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ConnectionConfirmationState, opts ...pulumi.ResourceOption) (*ConnectionConfirmation, error)

GetConnectionConfirmation gets an existing ConnectionConfirmation 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 NewConnectionConfirmation

func NewConnectionConfirmation(ctx *pulumi.Context,
	name string, args *ConnectionConfirmationArgs, opts ...pulumi.ResourceOption) (*ConnectionConfirmation, error)

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

func (*ConnectionConfirmation) ElementType

func (*ConnectionConfirmation) ElementType() reflect.Type

func (*ConnectionConfirmation) ToConnectionConfirmationOutput

func (i *ConnectionConfirmation) ToConnectionConfirmationOutput() ConnectionConfirmationOutput

func (*ConnectionConfirmation) ToConnectionConfirmationOutputWithContext

func (i *ConnectionConfirmation) ToConnectionConfirmationOutputWithContext(ctx context.Context) ConnectionConfirmationOutput

type ConnectionConfirmationArgs

type ConnectionConfirmationArgs struct {
	// The ID of the hosted connection.
	ConnectionId pulumi.StringInput
}

The set of arguments for constructing a ConnectionConfirmation resource.

func (ConnectionConfirmationArgs) ElementType

func (ConnectionConfirmationArgs) ElementType() reflect.Type

type ConnectionConfirmationArray

type ConnectionConfirmationArray []ConnectionConfirmationInput

func (ConnectionConfirmationArray) ElementType

func (ConnectionConfirmationArray) ToConnectionConfirmationArrayOutput

func (i ConnectionConfirmationArray) ToConnectionConfirmationArrayOutput() ConnectionConfirmationArrayOutput

func (ConnectionConfirmationArray) ToConnectionConfirmationArrayOutputWithContext

func (i ConnectionConfirmationArray) ToConnectionConfirmationArrayOutputWithContext(ctx context.Context) ConnectionConfirmationArrayOutput

type ConnectionConfirmationArrayInput

type ConnectionConfirmationArrayInput interface {
	pulumi.Input

	ToConnectionConfirmationArrayOutput() ConnectionConfirmationArrayOutput
	ToConnectionConfirmationArrayOutputWithContext(context.Context) ConnectionConfirmationArrayOutput
}

ConnectionConfirmationArrayInput is an input type that accepts ConnectionConfirmationArray and ConnectionConfirmationArrayOutput values. You can construct a concrete instance of `ConnectionConfirmationArrayInput` via:

ConnectionConfirmationArray{ ConnectionConfirmationArgs{...} }

type ConnectionConfirmationArrayOutput

type ConnectionConfirmationArrayOutput struct{ *pulumi.OutputState }

func (ConnectionConfirmationArrayOutput) ElementType

func (ConnectionConfirmationArrayOutput) Index

func (ConnectionConfirmationArrayOutput) ToConnectionConfirmationArrayOutput

func (o ConnectionConfirmationArrayOutput) ToConnectionConfirmationArrayOutput() ConnectionConfirmationArrayOutput

func (ConnectionConfirmationArrayOutput) ToConnectionConfirmationArrayOutputWithContext

func (o ConnectionConfirmationArrayOutput) ToConnectionConfirmationArrayOutputWithContext(ctx context.Context) ConnectionConfirmationArrayOutput

type ConnectionConfirmationInput

type ConnectionConfirmationInput interface {
	pulumi.Input

	ToConnectionConfirmationOutput() ConnectionConfirmationOutput
	ToConnectionConfirmationOutputWithContext(ctx context.Context) ConnectionConfirmationOutput
}

type ConnectionConfirmationMap

type ConnectionConfirmationMap map[string]ConnectionConfirmationInput

func (ConnectionConfirmationMap) ElementType

func (ConnectionConfirmationMap) ElementType() reflect.Type

func (ConnectionConfirmationMap) ToConnectionConfirmationMapOutput

func (i ConnectionConfirmationMap) ToConnectionConfirmationMapOutput() ConnectionConfirmationMapOutput

func (ConnectionConfirmationMap) ToConnectionConfirmationMapOutputWithContext

func (i ConnectionConfirmationMap) ToConnectionConfirmationMapOutputWithContext(ctx context.Context) ConnectionConfirmationMapOutput

type ConnectionConfirmationMapInput

type ConnectionConfirmationMapInput interface {
	pulumi.Input

	ToConnectionConfirmationMapOutput() ConnectionConfirmationMapOutput
	ToConnectionConfirmationMapOutputWithContext(context.Context) ConnectionConfirmationMapOutput
}

ConnectionConfirmationMapInput is an input type that accepts ConnectionConfirmationMap and ConnectionConfirmationMapOutput values. You can construct a concrete instance of `ConnectionConfirmationMapInput` via:

ConnectionConfirmationMap{ "key": ConnectionConfirmationArgs{...} }

type ConnectionConfirmationMapOutput

type ConnectionConfirmationMapOutput struct{ *pulumi.OutputState }

func (ConnectionConfirmationMapOutput) ElementType

func (ConnectionConfirmationMapOutput) MapIndex

func (ConnectionConfirmationMapOutput) ToConnectionConfirmationMapOutput

func (o ConnectionConfirmationMapOutput) ToConnectionConfirmationMapOutput() ConnectionConfirmationMapOutput

func (ConnectionConfirmationMapOutput) ToConnectionConfirmationMapOutputWithContext

func (o ConnectionConfirmationMapOutput) ToConnectionConfirmationMapOutputWithContext(ctx context.Context) ConnectionConfirmationMapOutput

type ConnectionConfirmationOutput

type ConnectionConfirmationOutput struct{ *pulumi.OutputState }

func (ConnectionConfirmationOutput) ConnectionId added in v5.4.0

The ID of the hosted connection.

func (ConnectionConfirmationOutput) ElementType

func (ConnectionConfirmationOutput) ToConnectionConfirmationOutput

func (o ConnectionConfirmationOutput) ToConnectionConfirmationOutput() ConnectionConfirmationOutput

func (ConnectionConfirmationOutput) ToConnectionConfirmationOutputWithContext

func (o ConnectionConfirmationOutput) ToConnectionConfirmationOutputWithContext(ctx context.Context) ConnectionConfirmationOutput

type ConnectionConfirmationState

type ConnectionConfirmationState struct {
	// The ID of the hosted connection.
	ConnectionId pulumi.StringPtrInput
}

func (ConnectionConfirmationState) ElementType

type ConnectionInput

type ConnectionInput interface {
	pulumi.Input

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

type ConnectionMap

type ConnectionMap map[string]ConnectionInput

func (ConnectionMap) ElementType

func (ConnectionMap) ElementType() reflect.Type

func (ConnectionMap) ToConnectionMapOutput

func (i ConnectionMap) ToConnectionMapOutput() ConnectionMapOutput

func (ConnectionMap) ToConnectionMapOutputWithContext

func (i ConnectionMap) ToConnectionMapOutputWithContext(ctx context.Context) ConnectionMapOutput

type ConnectionMapInput

type ConnectionMapInput interface {
	pulumi.Input

	ToConnectionMapOutput() ConnectionMapOutput
	ToConnectionMapOutputWithContext(context.Context) ConnectionMapOutput
}

ConnectionMapInput is an input type that accepts ConnectionMap and ConnectionMapOutput values. You can construct a concrete instance of `ConnectionMapInput` via:

ConnectionMap{ "key": ConnectionArgs{...} }

type ConnectionMapOutput

type ConnectionMapOutput struct{ *pulumi.OutputState }

func (ConnectionMapOutput) ElementType

func (ConnectionMapOutput) ElementType() reflect.Type

func (ConnectionMapOutput) MapIndex

func (ConnectionMapOutput) ToConnectionMapOutput

func (o ConnectionMapOutput) ToConnectionMapOutput() ConnectionMapOutput

func (ConnectionMapOutput) ToConnectionMapOutputWithContext

func (o ConnectionMapOutput) ToConnectionMapOutputWithContext(ctx context.Context) ConnectionMapOutput

type ConnectionOutput

type ConnectionOutput struct{ *pulumi.OutputState }

func (ConnectionOutput) Arn added in v5.4.0

The ARN of the connection.

func (ConnectionOutput) AwsDevice added in v5.4.0

func (o ConnectionOutput) AwsDevice() pulumi.StringOutput

The Direct Connect endpoint on which the physical connection terminates.

func (ConnectionOutput) Bandwidth added in v5.4.0

func (o ConnectionOutput) Bandwidth() pulumi.StringOutput

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, 10Gbps and 100Gbps. Case sensitive.

func (ConnectionOutput) ElementType

func (ConnectionOutput) ElementType() reflect.Type

func (ConnectionOutput) EncryptionMode added in v5.25.0

func (o ConnectionOutput) EncryptionMode() pulumi.StringOutput

The connection MAC Security (MACsec) encryption mode. MAC Security (MACsec) is only available on dedicated connections. Valid values are `noEncrypt`, `shouldEncrypt`, and `mustEncrypt`.

func (ConnectionOutput) HasLogicalRedundancy added in v5.4.0

func (o ConnectionOutput) HasLogicalRedundancy() pulumi.StringOutput

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

func (ConnectionOutput) JumboFrameCapable added in v5.4.0

func (o ConnectionOutput) JumboFrameCapable() pulumi.BoolOutput

Boolean value representing if jumbo frames have been enabled for this connection.

func (ConnectionOutput) Location added in v5.4.0

func (o ConnectionOutput) Location() pulumi.StringOutput

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

func (ConnectionOutput) MacsecCapable added in v5.25.0

func (o ConnectionOutput) MacsecCapable() pulumi.BoolOutput

Boolean value indicating whether the connection supports MAC Security (MACsec).

func (ConnectionOutput) Name added in v5.4.0

The name of the connection.

func (ConnectionOutput) OwnerAccountId added in v5.4.0

func (o ConnectionOutput) OwnerAccountId() pulumi.StringOutput

The ID of the AWS account that owns the connection.

func (ConnectionOutput) PartnerName added in v5.37.0

func (o ConnectionOutput) PartnerName() pulumi.StringOutput

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

func (ConnectionOutput) PortEncryptionStatus added in v5.25.0

func (o ConnectionOutput) PortEncryptionStatus() pulumi.StringOutput

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

func (ConnectionOutput) ProviderName added in v5.4.0

func (o ConnectionOutput) ProviderName() pulumi.StringOutput

The name of the service provider associated with the connection.

func (ConnectionOutput) RequestMacsec added in v5.25.0

func (o ConnectionOutput) RequestMacsec() pulumi.BoolPtrOutput

Boolean value indicating whether you want the connection to support MAC Security (MACsec). MAC Security (MACsec) is only available on dedicated connections. See [MACsec prerequisites](https://docs.aws.amazon.com/directconnect/latest/UserGuide/direct-connect-mac-sec-getting-started.html#mac-sec-prerequisites) for more information about MAC Security (MACsec) prerequisites. Default value: `false`.

> **NOTE:** Changing the value of `requestMacsec` will cause the resource to be destroyed and re-created.

func (ConnectionOutput) SkipDestroy added in v5.25.0

func (o ConnectionOutput) SkipDestroy() pulumi.BoolPtrOutput

Set to true if you do not wish the connection to be deleted at destroy time, and instead just removed from the state.

func (ConnectionOutput) Tags added in v5.4.0

A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (ConnectionOutput) TagsAll added in v5.4.0

A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (ConnectionOutput) ToConnectionOutput

func (o ConnectionOutput) ToConnectionOutput() ConnectionOutput

func (ConnectionOutput) ToConnectionOutputWithContext

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

func (ConnectionOutput) VlanId added in v5.18.0

The VLAN ID.

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, 10Gbps and 100Gbps. Case sensitive.
	Bandwidth pulumi.StringPtrInput
	// The connection MAC Security (MACsec) encryption mode. MAC Security (MACsec) is only available on dedicated connections. Valid values are `noEncrypt`, `shouldEncrypt`, and `mustEncrypt`.
	EncryptionMode 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
	// Boolean value indicating whether the connection supports MAC Security (MACsec).
	MacsecCapable pulumi.BoolPtrInput
	// The name of the connection.
	Name pulumi.StringPtrInput
	// The ID of the AWS account that owns the connection.
	OwnerAccountId pulumi.StringPtrInput
	// The name of the AWS Direct Connect service provider associated with the connection.
	PartnerName pulumi.StringPtrInput
	// The MAC Security (MACsec) port link status of the connection.
	PortEncryptionStatus pulumi.StringPtrInput
	// The name of the service provider associated with the connection.
	ProviderName pulumi.StringPtrInput
	// Boolean value indicating whether you want the connection to support MAC Security (MACsec). MAC Security (MACsec) is only available on dedicated connections. See [MACsec prerequisites](https://docs.aws.amazon.com/directconnect/latest/UserGuide/direct-connect-mac-sec-getting-started.html#mac-sec-prerequisites) for more information about MAC Security (MACsec) prerequisites. Default value: `false`.
	//
	// > **NOTE:** Changing the value of `requestMacsec` will cause the resource to be destroyed and re-created.
	RequestMacsec pulumi.BoolPtrInput
	// Set to true if you do not wish the connection to be deleted at destroy time, and instead just removed from the state.
	SkipDestroy pulumi.BoolPtrInput
	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
	// The VLAN ID.
	VlanId pulumi.StringPtrInput
}

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/v5/go/aws/directconnect"
"github.com/pulumi/pulumi/sdk/v3/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

func (*Gateway) ElementType() reflect.Type

func (*Gateway) ToGatewayOutput

func (i *Gateway) ToGatewayOutput() GatewayOutput

func (*Gateway) ToGatewayOutputWithContext

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 GatewayArray

type GatewayArray []GatewayInput

func (GatewayArray) ElementType

func (GatewayArray) ElementType() reflect.Type

func (GatewayArray) ToGatewayArrayOutput

func (i GatewayArray) ToGatewayArrayOutput() GatewayArrayOutput

func (GatewayArray) ToGatewayArrayOutputWithContext

func (i GatewayArray) ToGatewayArrayOutputWithContext(ctx context.Context) GatewayArrayOutput

type GatewayArrayInput

type GatewayArrayInput interface {
	pulumi.Input

	ToGatewayArrayOutput() GatewayArrayOutput
	ToGatewayArrayOutputWithContext(context.Context) GatewayArrayOutput
}

GatewayArrayInput is an input type that accepts GatewayArray and GatewayArrayOutput values. You can construct a concrete instance of `GatewayArrayInput` via:

GatewayArray{ GatewayArgs{...} }

type GatewayArrayOutput

type GatewayArrayOutput struct{ *pulumi.OutputState }

func (GatewayArrayOutput) ElementType

func (GatewayArrayOutput) ElementType() reflect.Type

func (GatewayArrayOutput) Index

func (GatewayArrayOutput) ToGatewayArrayOutput

func (o GatewayArrayOutput) ToGatewayArrayOutput() GatewayArrayOutput

func (GatewayArrayOutput) ToGatewayArrayOutputWithContext

func (o GatewayArrayOutput) ToGatewayArrayOutputWithContext(ctx context.Context) GatewayArrayOutput

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"`
	// Deprecated: use 'associated_gateway_id' argument instead
	VpnGatewayId pulumi.StringPtrOutput `pulumi:"vpnGatewayId"`
}

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/v5/go/aws/directconnect"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2"
"github.com/pulumi/pulumi/sdk/v3/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/v5/go/aws/directconnect"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2transitgateway"
"github.com/pulumi/pulumi/sdk/v3/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/v5/go/aws/directconnect"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2"
"github.com/pulumi/pulumi/sdk/v3/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 345508c3-7215-4aef-9832-07c125d5bd0f/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

func (*GatewayAssociation) ElementType() reflect.Type

func (*GatewayAssociation) ToGatewayAssociationOutput

func (i *GatewayAssociation) ToGatewayAssociationOutput() GatewayAssociationOutput

func (*GatewayAssociation) ToGatewayAssociationOutputWithContext

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
	// Deprecated: use 'associated_gateway_id' argument instead
	VpnGatewayId pulumi.StringPtrInput
}

The set of arguments for constructing a GatewayAssociation resource.

func (GatewayAssociationArgs) ElementType

func (GatewayAssociationArgs) ElementType() reflect.Type

type GatewayAssociationArray

type GatewayAssociationArray []GatewayAssociationInput

func (GatewayAssociationArray) ElementType

func (GatewayAssociationArray) ElementType() reflect.Type

func (GatewayAssociationArray) ToGatewayAssociationArrayOutput

func (i GatewayAssociationArray) ToGatewayAssociationArrayOutput() GatewayAssociationArrayOutput

func (GatewayAssociationArray) ToGatewayAssociationArrayOutputWithContext

func (i GatewayAssociationArray) ToGatewayAssociationArrayOutputWithContext(ctx context.Context) GatewayAssociationArrayOutput

type GatewayAssociationArrayInput

type GatewayAssociationArrayInput interface {
	pulumi.Input

	ToGatewayAssociationArrayOutput() GatewayAssociationArrayOutput
	ToGatewayAssociationArrayOutputWithContext(context.Context) GatewayAssociationArrayOutput
}

GatewayAssociationArrayInput is an input type that accepts GatewayAssociationArray and GatewayAssociationArrayOutput values. You can construct a concrete instance of `GatewayAssociationArrayInput` via:

GatewayAssociationArray{ GatewayAssociationArgs{...} }

type GatewayAssociationArrayOutput

type GatewayAssociationArrayOutput struct{ *pulumi.OutputState }

func (GatewayAssociationArrayOutput) ElementType

func (GatewayAssociationArrayOutput) Index

func (GatewayAssociationArrayOutput) ToGatewayAssociationArrayOutput

func (o GatewayAssociationArrayOutput) ToGatewayAssociationArrayOutput() GatewayAssociationArrayOutput

func (GatewayAssociationArrayOutput) ToGatewayAssociationArrayOutputWithContext

func (o GatewayAssociationArrayOutput) ToGatewayAssociationArrayOutputWithContext(ctx context.Context) GatewayAssociationArrayOutput

type GatewayAssociationInput

type GatewayAssociationInput interface {
	pulumi.Input

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

type GatewayAssociationMap

type GatewayAssociationMap map[string]GatewayAssociationInput

func (GatewayAssociationMap) ElementType

func (GatewayAssociationMap) ElementType() reflect.Type

func (GatewayAssociationMap) ToGatewayAssociationMapOutput

func (i GatewayAssociationMap) ToGatewayAssociationMapOutput() GatewayAssociationMapOutput

func (GatewayAssociationMap) ToGatewayAssociationMapOutputWithContext

func (i GatewayAssociationMap) ToGatewayAssociationMapOutputWithContext(ctx context.Context) GatewayAssociationMapOutput

type GatewayAssociationMapInput

type GatewayAssociationMapInput interface {
	pulumi.Input

	ToGatewayAssociationMapOutput() GatewayAssociationMapOutput
	ToGatewayAssociationMapOutputWithContext(context.Context) GatewayAssociationMapOutput
}

GatewayAssociationMapInput is an input type that accepts GatewayAssociationMap and GatewayAssociationMapOutput values. You can construct a concrete instance of `GatewayAssociationMapInput` via:

GatewayAssociationMap{ "key": GatewayAssociationArgs{...} }

type GatewayAssociationMapOutput

type GatewayAssociationMapOutput struct{ *pulumi.OutputState }

func (GatewayAssociationMapOutput) ElementType

func (GatewayAssociationMapOutput) MapIndex

func (GatewayAssociationMapOutput) ToGatewayAssociationMapOutput

func (o GatewayAssociationMapOutput) ToGatewayAssociationMapOutput() GatewayAssociationMapOutput

func (GatewayAssociationMapOutput) ToGatewayAssociationMapOutputWithContext

func (o GatewayAssociationMapOutput) ToGatewayAssociationMapOutputWithContext(ctx context.Context) GatewayAssociationMapOutput

type GatewayAssociationOutput

type GatewayAssociationOutput struct{ *pulumi.OutputState }

func (GatewayAssociationOutput) AllowedPrefixes added in v5.4.0

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.

func (GatewayAssociationOutput) AssociatedGatewayId added in v5.4.0

func (o GatewayAssociationOutput) AssociatedGatewayId() pulumi.StringOutput

The ID of the VGW or transit gateway with which to associate the Direct Connect gateway. Used for single account Direct Connect gateway associations.

func (GatewayAssociationOutput) AssociatedGatewayOwnerAccountId added in v5.4.0

func (o GatewayAssociationOutput) AssociatedGatewayOwnerAccountId() pulumi.StringOutput

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.

func (GatewayAssociationOutput) AssociatedGatewayType added in v5.4.0

func (o GatewayAssociationOutput) AssociatedGatewayType() pulumi.StringOutput

The type of the associated gateway, `transitGateway` or `virtualPrivateGateway`.

func (GatewayAssociationOutput) DxGatewayAssociationId added in v5.4.0

func (o GatewayAssociationOutput) DxGatewayAssociationId() pulumi.StringOutput

The ID of the Direct Connect gateway association.

func (GatewayAssociationOutput) DxGatewayId added in v5.4.0

The ID of the Direct Connect gateway.

func (GatewayAssociationOutput) DxGatewayOwnerAccountId added in v5.4.0

func (o GatewayAssociationOutput) DxGatewayOwnerAccountId() pulumi.StringOutput

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

func (GatewayAssociationOutput) ElementType

func (GatewayAssociationOutput) ElementType() reflect.Type

func (GatewayAssociationOutput) ProposalId added in v5.4.0

The ID of the Direct Connect gateway association proposal. Used for cross-account Direct Connect gateway associations.

func (GatewayAssociationOutput) ToGatewayAssociationOutput

func (o GatewayAssociationOutput) ToGatewayAssociationOutput() GatewayAssociationOutput

func (GatewayAssociationOutput) ToGatewayAssociationOutputWithContext

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

func (GatewayAssociationOutput) VpnGatewayId deprecated added in v5.4.0

Deprecated: use 'associated_gateway_id' argument instead

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/v5/go/aws/directconnect"
"github.com/pulumi/pulumi/sdk/v3/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 either a proposal ID or proposal ID, Direct Connect Gateway ID and associated gateway ID separated by `/`, e.g.,

```sh

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

```

or

```sh

$ pulumi import aws:directconnect/gatewayAssociationProposal:GatewayAssociationProposal example ac90e981-b718-4364-872d-65478c84fafe/abcd1234-dcba-5678-be23-cdef9876ab45/vgw-12345678

```

The latter case is useful when a previous proposal has been accepted and deleted by AWS. The `aws_dx_gateway_association_proposal` resource will then represent a pseudo-proposal for the same Direct Connect Gateway and associated gateway. If no previous proposal is available, use a tool like [`uuidgen`](http://manpages.ubuntu.com/manpages/bionic/man1/uuidgen.1.html) to generate a new random pseudo-proposal ID.

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

func (*GatewayAssociationProposal) ElementType() reflect.Type

func (*GatewayAssociationProposal) ToGatewayAssociationProposalOutput

func (i *GatewayAssociationProposal) ToGatewayAssociationProposalOutput() GatewayAssociationProposalOutput

func (*GatewayAssociationProposal) ToGatewayAssociationProposalOutputWithContext

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 GatewayAssociationProposalArray

type GatewayAssociationProposalArray []GatewayAssociationProposalInput

func (GatewayAssociationProposalArray) ElementType

func (GatewayAssociationProposalArray) ToGatewayAssociationProposalArrayOutput

func (i GatewayAssociationProposalArray) ToGatewayAssociationProposalArrayOutput() GatewayAssociationProposalArrayOutput

func (GatewayAssociationProposalArray) ToGatewayAssociationProposalArrayOutputWithContext

func (i GatewayAssociationProposalArray) ToGatewayAssociationProposalArrayOutputWithContext(ctx context.Context) GatewayAssociationProposalArrayOutput

type GatewayAssociationProposalArrayInput

type GatewayAssociationProposalArrayInput interface {
	pulumi.Input

	ToGatewayAssociationProposalArrayOutput() GatewayAssociationProposalArrayOutput
	ToGatewayAssociationProposalArrayOutputWithContext(context.Context) GatewayAssociationProposalArrayOutput
}

GatewayAssociationProposalArrayInput is an input type that accepts GatewayAssociationProposalArray and GatewayAssociationProposalArrayOutput values. You can construct a concrete instance of `GatewayAssociationProposalArrayInput` via:

GatewayAssociationProposalArray{ GatewayAssociationProposalArgs{...} }

type GatewayAssociationProposalArrayOutput

type GatewayAssociationProposalArrayOutput struct{ *pulumi.OutputState }

func (GatewayAssociationProposalArrayOutput) ElementType

func (GatewayAssociationProposalArrayOutput) Index

func (GatewayAssociationProposalArrayOutput) ToGatewayAssociationProposalArrayOutput

func (o GatewayAssociationProposalArrayOutput) ToGatewayAssociationProposalArrayOutput() GatewayAssociationProposalArrayOutput

func (GatewayAssociationProposalArrayOutput) ToGatewayAssociationProposalArrayOutputWithContext

func (o GatewayAssociationProposalArrayOutput) ToGatewayAssociationProposalArrayOutputWithContext(ctx context.Context) GatewayAssociationProposalArrayOutput

type GatewayAssociationProposalInput

type GatewayAssociationProposalInput interface {
	pulumi.Input

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

type GatewayAssociationProposalMap

type GatewayAssociationProposalMap map[string]GatewayAssociationProposalInput

func (GatewayAssociationProposalMap) ElementType

func (GatewayAssociationProposalMap) ToGatewayAssociationProposalMapOutput

func (i GatewayAssociationProposalMap) ToGatewayAssociationProposalMapOutput() GatewayAssociationProposalMapOutput

func (GatewayAssociationProposalMap) ToGatewayAssociationProposalMapOutputWithContext

func (i GatewayAssociationProposalMap) ToGatewayAssociationProposalMapOutputWithContext(ctx context.Context) GatewayAssociationProposalMapOutput

type GatewayAssociationProposalMapInput

type GatewayAssociationProposalMapInput interface {
	pulumi.Input

	ToGatewayAssociationProposalMapOutput() GatewayAssociationProposalMapOutput
	ToGatewayAssociationProposalMapOutputWithContext(context.Context) GatewayAssociationProposalMapOutput
}

GatewayAssociationProposalMapInput is an input type that accepts GatewayAssociationProposalMap and GatewayAssociationProposalMapOutput values. You can construct a concrete instance of `GatewayAssociationProposalMapInput` via:

GatewayAssociationProposalMap{ "key": GatewayAssociationProposalArgs{...} }

type GatewayAssociationProposalMapOutput

type GatewayAssociationProposalMapOutput struct{ *pulumi.OutputState }

func (GatewayAssociationProposalMapOutput) ElementType

func (GatewayAssociationProposalMapOutput) MapIndex

func (GatewayAssociationProposalMapOutput) ToGatewayAssociationProposalMapOutput

func (o GatewayAssociationProposalMapOutput) ToGatewayAssociationProposalMapOutput() GatewayAssociationProposalMapOutput

func (GatewayAssociationProposalMapOutput) ToGatewayAssociationProposalMapOutputWithContext

func (o GatewayAssociationProposalMapOutput) ToGatewayAssociationProposalMapOutputWithContext(ctx context.Context) GatewayAssociationProposalMapOutput

type GatewayAssociationProposalOutput

type GatewayAssociationProposalOutput struct{ *pulumi.OutputState }

func (GatewayAssociationProposalOutput) AllowedPrefixes added in v5.4.0

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.

func (GatewayAssociationProposalOutput) AssociatedGatewayId added in v5.4.0

func (o GatewayAssociationProposalOutput) AssociatedGatewayId() pulumi.StringOutput

The ID of the VGW or transit gateway with which to associate the Direct Connect gateway.

func (GatewayAssociationProposalOutput) AssociatedGatewayOwnerAccountId added in v5.4.0

func (o GatewayAssociationProposalOutput) AssociatedGatewayOwnerAccountId() pulumi.StringOutput

The ID of the AWS account that owns the VGW or transit gateway with which to associate the Direct Connect gateway.

func (GatewayAssociationProposalOutput) AssociatedGatewayType added in v5.4.0

func (o GatewayAssociationProposalOutput) AssociatedGatewayType() pulumi.StringOutput

The type of the associated gateway, `transitGateway` or `virtualPrivateGateway`.

func (GatewayAssociationProposalOutput) DxGatewayId added in v5.4.0

Direct Connect Gateway identifier.

func (GatewayAssociationProposalOutput) DxGatewayOwnerAccountId added in v5.4.0

func (o GatewayAssociationProposalOutput) DxGatewayOwnerAccountId() pulumi.StringOutput

AWS Account identifier of the Direct Connect Gateway's owner.

func (GatewayAssociationProposalOutput) ElementType

func (GatewayAssociationProposalOutput) ToGatewayAssociationProposalOutput

func (o GatewayAssociationProposalOutput) ToGatewayAssociationProposalOutput() GatewayAssociationProposalOutput

func (GatewayAssociationProposalOutput) ToGatewayAssociationProposalOutputWithContext

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
	// Deprecated: use 'associated_gateway_id' argument instead
	VpnGatewayId pulumi.StringPtrInput
}

func (GatewayAssociationState) ElementType

func (GatewayAssociationState) ElementType() reflect.Type

type GatewayInput

type GatewayInput interface {
	pulumi.Input

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

type GatewayMap

type GatewayMap map[string]GatewayInput

func (GatewayMap) ElementType

func (GatewayMap) ElementType() reflect.Type

func (GatewayMap) ToGatewayMapOutput

func (i GatewayMap) ToGatewayMapOutput() GatewayMapOutput

func (GatewayMap) ToGatewayMapOutputWithContext

func (i GatewayMap) ToGatewayMapOutputWithContext(ctx context.Context) GatewayMapOutput

type GatewayMapInput

type GatewayMapInput interface {
	pulumi.Input

	ToGatewayMapOutput() GatewayMapOutput
	ToGatewayMapOutputWithContext(context.Context) GatewayMapOutput
}

GatewayMapInput is an input type that accepts GatewayMap and GatewayMapOutput values. You can construct a concrete instance of `GatewayMapInput` via:

GatewayMap{ "key": GatewayArgs{...} }

type GatewayMapOutput

type GatewayMapOutput struct{ *pulumi.OutputState }

func (GatewayMapOutput) ElementType

func (GatewayMapOutput) ElementType() reflect.Type

func (GatewayMapOutput) MapIndex

func (GatewayMapOutput) ToGatewayMapOutput

func (o GatewayMapOutput) ToGatewayMapOutput() GatewayMapOutput

func (GatewayMapOutput) ToGatewayMapOutputWithContext

func (o GatewayMapOutput) ToGatewayMapOutputWithContext(ctx context.Context) GatewayMapOutput

type GatewayOutput

type GatewayOutput struct{ *pulumi.OutputState }

func (GatewayOutput) AmazonSideAsn added in v5.4.0

func (o GatewayOutput) AmazonSideAsn() pulumi.StringOutput

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.

func (GatewayOutput) ElementType

func (GatewayOutput) ElementType() reflect.Type

func (GatewayOutput) Name added in v5.4.0

The name of the connection.

func (GatewayOutput) OwnerAccountId added in v5.4.0

func (o GatewayOutput) OwnerAccountId() pulumi.StringOutput

AWS Account ID of the gateway.

func (GatewayOutput) ToGatewayOutput

func (o GatewayOutput) ToGatewayOutput() GatewayOutput

func (GatewayOutput) ToGatewayOutputWithContext

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 GetLocationArgs

type GetLocationArgs struct {
	// Code for the location to retrieve.
	LocationCode string `pulumi:"locationCode"`
}

A collection of arguments for invoking getLocation.

type GetLocationOutputArgs

type GetLocationOutputArgs struct {
	// Code for the location to retrieve.
	LocationCode pulumi.StringInput `pulumi:"locationCode"`
}

A collection of arguments for invoking getLocation.

func (GetLocationOutputArgs) ElementType

func (GetLocationOutputArgs) ElementType() reflect.Type

type GetLocationResult

type GetLocationResult struct {
	// The available MAC Security (MACsec) port speeds for the location.
	AvailableMacsecPortSpeeds []string `pulumi:"availableMacsecPortSpeeds"`
	// The available port speeds for the location.
	AvailablePortSpeeds []string `pulumi:"availablePortSpeeds"`
	// Names of the service providers for the location.
	AvailableProviders []string `pulumi:"availableProviders"`
	// The provider-assigned unique ID for this managed resource.
	Id           string `pulumi:"id"`
	LocationCode string `pulumi:"locationCode"`
	// Name of the location. This includes the name of the colocation partner and the physical site of the building.
	LocationName string `pulumi:"locationName"`
}

A collection of values returned by getLocation.

func GetLocation

func GetLocation(ctx *pulumi.Context, args *GetLocationArgs, opts ...pulumi.InvokeOption) (*GetLocationResult, error)

Retrieve information about a specific AWS Direct Connect location in the current AWS Region. These are the locations that can be specified when configuring `directconnect.Connection` or `directconnect.LinkAggregationGroup` resources.

> **Note:** This data source is different from the `directconnect.getLocations` data source which retrieves information about all the AWS Direct Connect locations in the current AWS Region.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := directconnect.GetLocation(ctx, &directconnect.GetLocationArgs{
			LocationCode: "CS32A-24FL",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetLocationResultOutput

type GetLocationResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getLocation.

func (GetLocationResultOutput) AvailableMacsecPortSpeeds added in v5.11.0

func (o GetLocationResultOutput) AvailableMacsecPortSpeeds() pulumi.StringArrayOutput

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

func (GetLocationResultOutput) AvailablePortSpeeds

func (o GetLocationResultOutput) AvailablePortSpeeds() pulumi.StringArrayOutput

The available port speeds for the location.

func (GetLocationResultOutput) AvailableProviders

func (o GetLocationResultOutput) AvailableProviders() pulumi.StringArrayOutput

Names of the service providers for the location.

func (GetLocationResultOutput) ElementType

func (GetLocationResultOutput) ElementType() reflect.Type

func (GetLocationResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetLocationResultOutput) LocationCode

func (o GetLocationResultOutput) LocationCode() pulumi.StringOutput

func (GetLocationResultOutput) LocationName

func (o GetLocationResultOutput) LocationName() pulumi.StringOutput

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

func (GetLocationResultOutput) ToGetLocationResultOutput

func (o GetLocationResultOutput) ToGetLocationResultOutput() GetLocationResultOutput

func (GetLocationResultOutput) ToGetLocationResultOutputWithContext

func (o GetLocationResultOutput) ToGetLocationResultOutputWithContext(ctx context.Context) GetLocationResultOutput

type GetLocationsResult

type GetLocationsResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Code for the locations.
	LocationCodes []string `pulumi:"locationCodes"`
}

A collection of values returned by getLocations.

func GetLocations

func GetLocations(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetLocationsResult, error)

Retrieve information about the AWS Direct Connect locations in the current AWS Region. These are the locations that can be specified when configuring `directconnect.Connection` or `directconnect.LinkAggregationGroup` resources.

> **Note:** This data source is different from the `directconnect.getLocation` data source which retrieves information about a specific AWS Direct Connect location in the current AWS Region.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := directconnect.GetLocations(ctx, nil, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetRouterConfigurationArgs added in v5.20.0

type GetRouterConfigurationArgs struct {
	// ID of the Router Type. For example: `CiscoSystemsInc-2900SeriesRouters-IOS124`
	//
	// There is currently no AWS API to retrieve the full list of `routerTypeIdentifier` values. Here is a list of known `RouterType` objects that can be used:
	//
	// “`go
	// package main
	//
	// import (
	// 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	// )
	//
	// func main() {
	// 	pulumi.Run(func(ctx *pulumi.Context) error {
	// 		return nil
	// 	})
	// }
	// “`
	RouterTypeIdentifier string `pulumi:"routerTypeIdentifier"`
	// ID of the Direct Connect Virtual Interface
	VirtualInterfaceId string `pulumi:"virtualInterfaceId"`
}

A collection of arguments for invoking getRouterConfiguration.

type GetRouterConfigurationOutputArgs added in v5.20.0

type GetRouterConfigurationOutputArgs struct {
	// ID of the Router Type. For example: `CiscoSystemsInc-2900SeriesRouters-IOS124`
	//
	// There is currently no AWS API to retrieve the full list of `routerTypeIdentifier` values. Here is a list of known `RouterType` objects that can be used:
	//
	// “`go
	// package main
	//
	// import (
	// 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	// )
	//
	// func main() {
	// 	pulumi.Run(func(ctx *pulumi.Context) error {
	// 		return nil
	// 	})
	// }
	// “`
	RouterTypeIdentifier pulumi.StringInput `pulumi:"routerTypeIdentifier"`
	// ID of the Direct Connect Virtual Interface
	VirtualInterfaceId pulumi.StringInput `pulumi:"virtualInterfaceId"`
}

A collection of arguments for invoking getRouterConfiguration.

func (GetRouterConfigurationOutputArgs) ElementType added in v5.20.0

type GetRouterConfigurationResult added in v5.20.0

type GetRouterConfigurationResult struct {
	// Instructions for configuring your router
	CustomerRouterConfig string `pulumi:"customerRouterConfig"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Router type identifier
	RouterTypeIdentifier string `pulumi:"routerTypeIdentifier"`
	// Block of the router type details
	Routers              []GetRouterConfigurationRouter `pulumi:"routers"`
	VirtualInterfaceId   string                         `pulumi:"virtualInterfaceId"`
	VirtualInterfaceName string                         `pulumi:"virtualInterfaceName"`
}

A collection of values returned by getRouterConfiguration.

func GetRouterConfiguration added in v5.20.0

func GetRouterConfiguration(ctx *pulumi.Context, args *GetRouterConfigurationArgs, opts ...pulumi.InvokeOption) (*GetRouterConfigurationResult, error)

Data source for retrieving Router Configuration instructions for a given AWS Direct Connect Virtual Interface and Router Type.

## Example Usage ### Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := directconnect.GetRouterConfiguration(ctx, &directconnect.GetRouterConfigurationArgs{
			RouterTypeIdentifier: "CiscoSystemsInc-2900SeriesRouters-IOS124",
			VirtualInterfaceId:   "dxvif-abcde123",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetRouterConfigurationResultOutput added in v5.20.0

type GetRouterConfigurationResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getRouterConfiguration.

func GetRouterConfigurationOutput added in v5.20.0

func (GetRouterConfigurationResultOutput) CustomerRouterConfig added in v5.20.0

func (o GetRouterConfigurationResultOutput) CustomerRouterConfig() pulumi.StringOutput

Instructions for configuring your router

func (GetRouterConfigurationResultOutput) ElementType added in v5.20.0

func (GetRouterConfigurationResultOutput) Id added in v5.20.0

The provider-assigned unique ID for this managed resource.

func (GetRouterConfigurationResultOutput) RouterTypeIdentifier added in v5.20.0

func (o GetRouterConfigurationResultOutput) RouterTypeIdentifier() pulumi.StringOutput

Router type identifier

func (GetRouterConfigurationResultOutput) Routers added in v5.20.0

Block of the router type details

func (GetRouterConfigurationResultOutput) ToGetRouterConfigurationResultOutput added in v5.20.0

func (o GetRouterConfigurationResultOutput) ToGetRouterConfigurationResultOutput() GetRouterConfigurationResultOutput

func (GetRouterConfigurationResultOutput) ToGetRouterConfigurationResultOutputWithContext added in v5.20.0

func (o GetRouterConfigurationResultOutput) ToGetRouterConfigurationResultOutputWithContext(ctx context.Context) GetRouterConfigurationResultOutput

func (GetRouterConfigurationResultOutput) VirtualInterfaceId added in v5.20.0

func (GetRouterConfigurationResultOutput) VirtualInterfaceName added in v5.20.0

func (o GetRouterConfigurationResultOutput) VirtualInterfaceName() pulumi.StringOutput

type GetRouterConfigurationRouter added in v5.20.0

type GetRouterConfigurationRouter struct {
	// Router platform
	Platform string `pulumi:"platform"`
	// ID of the Router Type. For example: `CiscoSystemsInc-2900SeriesRouters-IOS124`
	//
	// There is currently no AWS API to retrieve the full list of `routerTypeIdentifier` values. Here is a list of known `RouterType` objects that can be used:
	//
	// “`go
	// package main
	//
	// import (
	// 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	// )
	//
	// func main() {
	// 	pulumi.Run(func(ctx *pulumi.Context) error {
	// 		return nil
	// 	})
	// }
	// “`
	RouterTypeIdentifier string `pulumi:"routerTypeIdentifier"`
	// Router operating system
	Software string `pulumi:"software"`
	// Router vendor
	Vendor string `pulumi:"vendor"`
	// Router XSLT Template Name
	XsltTemplateName          string `pulumi:"xsltTemplateName"`
	XsltTemplateNameForMacSec string `pulumi:"xsltTemplateNameForMacSec"`
}

type GetRouterConfigurationRouterArgs added in v5.20.0

type GetRouterConfigurationRouterArgs struct {
	// Router platform
	Platform pulumi.StringInput `pulumi:"platform"`
	// ID of the Router Type. For example: `CiscoSystemsInc-2900SeriesRouters-IOS124`
	//
	// There is currently no AWS API to retrieve the full list of `routerTypeIdentifier` values. Here is a list of known `RouterType` objects that can be used:
	//
	// “`go
	// package main
	//
	// import (
	// 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	// )
	//
	// func main() {
	// 	pulumi.Run(func(ctx *pulumi.Context) error {
	// 		return nil
	// 	})
	// }
	// “`
	RouterTypeIdentifier pulumi.StringInput `pulumi:"routerTypeIdentifier"`
	// Router operating system
	Software pulumi.StringInput `pulumi:"software"`
	// Router vendor
	Vendor pulumi.StringInput `pulumi:"vendor"`
	// Router XSLT Template Name
	XsltTemplateName          pulumi.StringInput `pulumi:"xsltTemplateName"`
	XsltTemplateNameForMacSec pulumi.StringInput `pulumi:"xsltTemplateNameForMacSec"`
}

func (GetRouterConfigurationRouterArgs) ElementType added in v5.20.0

func (GetRouterConfigurationRouterArgs) ToGetRouterConfigurationRouterOutput added in v5.20.0

func (i GetRouterConfigurationRouterArgs) ToGetRouterConfigurationRouterOutput() GetRouterConfigurationRouterOutput

func (GetRouterConfigurationRouterArgs) ToGetRouterConfigurationRouterOutputWithContext added in v5.20.0

func (i GetRouterConfigurationRouterArgs) ToGetRouterConfigurationRouterOutputWithContext(ctx context.Context) GetRouterConfigurationRouterOutput

type GetRouterConfigurationRouterArray added in v5.20.0

type GetRouterConfigurationRouterArray []GetRouterConfigurationRouterInput

func (GetRouterConfigurationRouterArray) ElementType added in v5.20.0

func (GetRouterConfigurationRouterArray) ToGetRouterConfigurationRouterArrayOutput added in v5.20.0

func (i GetRouterConfigurationRouterArray) ToGetRouterConfigurationRouterArrayOutput() GetRouterConfigurationRouterArrayOutput

func (GetRouterConfigurationRouterArray) ToGetRouterConfigurationRouterArrayOutputWithContext added in v5.20.0

func (i GetRouterConfigurationRouterArray) ToGetRouterConfigurationRouterArrayOutputWithContext(ctx context.Context) GetRouterConfigurationRouterArrayOutput

type GetRouterConfigurationRouterArrayInput added in v5.20.0

type GetRouterConfigurationRouterArrayInput interface {
	pulumi.Input

	ToGetRouterConfigurationRouterArrayOutput() GetRouterConfigurationRouterArrayOutput
	ToGetRouterConfigurationRouterArrayOutputWithContext(context.Context) GetRouterConfigurationRouterArrayOutput
}

GetRouterConfigurationRouterArrayInput is an input type that accepts GetRouterConfigurationRouterArray and GetRouterConfigurationRouterArrayOutput values. You can construct a concrete instance of `GetRouterConfigurationRouterArrayInput` via:

GetRouterConfigurationRouterArray{ GetRouterConfigurationRouterArgs{...} }

type GetRouterConfigurationRouterArrayOutput added in v5.20.0

type GetRouterConfigurationRouterArrayOutput struct{ *pulumi.OutputState }

func (GetRouterConfigurationRouterArrayOutput) ElementType added in v5.20.0

func (GetRouterConfigurationRouterArrayOutput) Index added in v5.20.0

func (GetRouterConfigurationRouterArrayOutput) ToGetRouterConfigurationRouterArrayOutput added in v5.20.0

func (o GetRouterConfigurationRouterArrayOutput) ToGetRouterConfigurationRouterArrayOutput() GetRouterConfigurationRouterArrayOutput

func (GetRouterConfigurationRouterArrayOutput) ToGetRouterConfigurationRouterArrayOutputWithContext added in v5.20.0

func (o GetRouterConfigurationRouterArrayOutput) ToGetRouterConfigurationRouterArrayOutputWithContext(ctx context.Context) GetRouterConfigurationRouterArrayOutput

type GetRouterConfigurationRouterInput added in v5.20.0

type GetRouterConfigurationRouterInput interface {
	pulumi.Input

	ToGetRouterConfigurationRouterOutput() GetRouterConfigurationRouterOutput
	ToGetRouterConfigurationRouterOutputWithContext(context.Context) GetRouterConfigurationRouterOutput
}

GetRouterConfigurationRouterInput is an input type that accepts GetRouterConfigurationRouterArgs and GetRouterConfigurationRouterOutput values. You can construct a concrete instance of `GetRouterConfigurationRouterInput` via:

GetRouterConfigurationRouterArgs{...}

type GetRouterConfigurationRouterOutput added in v5.20.0

type GetRouterConfigurationRouterOutput struct{ *pulumi.OutputState }

func (GetRouterConfigurationRouterOutput) ElementType added in v5.20.0

func (GetRouterConfigurationRouterOutput) Platform added in v5.20.0

Router platform

func (GetRouterConfigurationRouterOutput) RouterTypeIdentifier added in v5.20.0

func (o GetRouterConfigurationRouterOutput) RouterTypeIdentifier() pulumi.StringOutput

ID of the Router Type. For example: `CiscoSystemsInc-2900SeriesRouters-IOS124`

There is currently no AWS API to retrieve the full list of `routerTypeIdentifier` values. Here is a list of known `RouterType` objects that can be used:

```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		return nil
	})
}

```

func (GetRouterConfigurationRouterOutput) Software added in v5.20.0

Router operating system

func (GetRouterConfigurationRouterOutput) ToGetRouterConfigurationRouterOutput added in v5.20.0

func (o GetRouterConfigurationRouterOutput) ToGetRouterConfigurationRouterOutput() GetRouterConfigurationRouterOutput

func (GetRouterConfigurationRouterOutput) ToGetRouterConfigurationRouterOutputWithContext added in v5.20.0

func (o GetRouterConfigurationRouterOutput) ToGetRouterConfigurationRouterOutputWithContext(ctx context.Context) GetRouterConfigurationRouterOutput

func (GetRouterConfigurationRouterOutput) Vendor added in v5.20.0

Router vendor

func (GetRouterConfigurationRouterOutput) XsltTemplateName added in v5.20.0

Router XSLT Template Name

func (GetRouterConfigurationRouterOutput) XsltTemplateNameForMacSec added in v5.20.0

func (o GetRouterConfigurationRouterOutput) XsltTemplateNameForMacSec() pulumi.StringOutput

type HostedConnection

type HostedConnection struct {
	pulumi.CustomResourceState

	// 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"`
	// The ID of the interconnect or LAG.
	ConnectionId pulumi.StringOutput `pulumi:"connectionId"`
	// 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 ID of the LAG.
	LagId pulumi.StringOutput `pulumi:"lagId"`
	// The time of the most recent call to [DescribeLoa](https://docs.aws.amazon.com/directconnect/latest/APIReference/API_DescribeLoa.html) for this connection.
	LoaIssueTime pulumi.StringOutput `pulumi:"loaIssueTime"`
	// The location of the connection.
	Location pulumi.StringOutput `pulumi:"location"`
	// The name of the connection.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the AWS account of the customer for the connection.
	OwnerAccountId pulumi.StringOutput `pulumi:"ownerAccountId"`
	// The name of the AWS Direct Connect service provider associated with the connection.
	PartnerName pulumi.StringOutput `pulumi:"partnerName"`
	// The name of the service provider associated with the connection.
	ProviderName pulumi.StringOutput `pulumi:"providerName"`
	// The AWS Region where the connection is located.
	Region pulumi.StringOutput `pulumi:"region"`
	// The state of the connection. Possible values include: ordering, requested, pending, available, down, deleting, deleted, rejected, unknown. See [AllocateHostedConnection](https://docs.aws.amazon.com/directconnect/latest/APIReference/API_AllocateHostedConnection.html) for a description of each connection state.
	State pulumi.StringOutput `pulumi:"state"`
	// The dedicated VLAN provisioned to the hosted connection.
	Vlan pulumi.IntOutput `pulumi:"vlan"`
}

Provides a hosted connection on the specified interconnect or a link aggregation group (LAG) of interconnects. Intended for use by AWS Direct Connect Partners only.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := directconnect.NewHostedConnection(ctx, "hosted", &directconnect.HostedConnectionArgs{
			Bandwidth:      pulumi.String("100Mbps"),
			ConnectionId:   pulumi.String("dxcon-ffabc123"),
			OwnerAccountId: pulumi.String("123456789012"),
			Vlan:           pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetHostedConnection

func GetHostedConnection(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HostedConnectionState, opts ...pulumi.ResourceOption) (*HostedConnection, error)

GetHostedConnection gets an existing HostedConnection 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 NewHostedConnection

func NewHostedConnection(ctx *pulumi.Context,
	name string, args *HostedConnectionArgs, opts ...pulumi.ResourceOption) (*HostedConnection, error)

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

func (*HostedConnection) ElementType

func (*HostedConnection) ElementType() reflect.Type

func (*HostedConnection) ToHostedConnectionOutput

func (i *HostedConnection) ToHostedConnectionOutput() HostedConnectionOutput

func (*HostedConnection) ToHostedConnectionOutputWithContext

func (i *HostedConnection) ToHostedConnectionOutputWithContext(ctx context.Context) HostedConnectionOutput

type HostedConnectionArgs

type HostedConnectionArgs 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 ID of the interconnect or LAG.
	ConnectionId pulumi.StringInput
	// The name of the connection.
	Name pulumi.StringPtrInput
	// The ID of the AWS account of the customer for the connection.
	OwnerAccountId pulumi.StringInput
	// The dedicated VLAN provisioned to the hosted connection.
	Vlan pulumi.IntInput
}

The set of arguments for constructing a HostedConnection resource.

func (HostedConnectionArgs) ElementType

func (HostedConnectionArgs) ElementType() reflect.Type

type HostedConnectionArray

type HostedConnectionArray []HostedConnectionInput

func (HostedConnectionArray) ElementType

func (HostedConnectionArray) ElementType() reflect.Type

func (HostedConnectionArray) ToHostedConnectionArrayOutput

func (i HostedConnectionArray) ToHostedConnectionArrayOutput() HostedConnectionArrayOutput

func (HostedConnectionArray) ToHostedConnectionArrayOutputWithContext

func (i HostedConnectionArray) ToHostedConnectionArrayOutputWithContext(ctx context.Context) HostedConnectionArrayOutput

type HostedConnectionArrayInput

type HostedConnectionArrayInput interface {
	pulumi.Input

	ToHostedConnectionArrayOutput() HostedConnectionArrayOutput
	ToHostedConnectionArrayOutputWithContext(context.Context) HostedConnectionArrayOutput
}

HostedConnectionArrayInput is an input type that accepts HostedConnectionArray and HostedConnectionArrayOutput values. You can construct a concrete instance of `HostedConnectionArrayInput` via:

HostedConnectionArray{ HostedConnectionArgs{...} }

type HostedConnectionArrayOutput

type HostedConnectionArrayOutput struct{ *pulumi.OutputState }

func (HostedConnectionArrayOutput) ElementType

func (HostedConnectionArrayOutput) Index

func (HostedConnectionArrayOutput) ToHostedConnectionArrayOutput

func (o HostedConnectionArrayOutput) ToHostedConnectionArrayOutput() HostedConnectionArrayOutput

func (HostedConnectionArrayOutput) ToHostedConnectionArrayOutputWithContext

func (o HostedConnectionArrayOutput) ToHostedConnectionArrayOutputWithContext(ctx context.Context) HostedConnectionArrayOutput

type HostedConnectionInput

type HostedConnectionInput interface {
	pulumi.Input

	ToHostedConnectionOutput() HostedConnectionOutput
	ToHostedConnectionOutputWithContext(ctx context.Context) HostedConnectionOutput
}

type HostedConnectionMap

type HostedConnectionMap map[string]HostedConnectionInput

func (HostedConnectionMap) ElementType

func (HostedConnectionMap) ElementType() reflect.Type

func (HostedConnectionMap) ToHostedConnectionMapOutput

func (i HostedConnectionMap) ToHostedConnectionMapOutput() HostedConnectionMapOutput

func (HostedConnectionMap) ToHostedConnectionMapOutputWithContext

func (i HostedConnectionMap) ToHostedConnectionMapOutputWithContext(ctx context.Context) HostedConnectionMapOutput

type HostedConnectionMapInput

type HostedConnectionMapInput interface {
	pulumi.Input

	ToHostedConnectionMapOutput() HostedConnectionMapOutput
	ToHostedConnectionMapOutputWithContext(context.Context) HostedConnectionMapOutput
}

HostedConnectionMapInput is an input type that accepts HostedConnectionMap and HostedConnectionMapOutput values. You can construct a concrete instance of `HostedConnectionMapInput` via:

HostedConnectionMap{ "key": HostedConnectionArgs{...} }

type HostedConnectionMapOutput

type HostedConnectionMapOutput struct{ *pulumi.OutputState }

func (HostedConnectionMapOutput) ElementType

func (HostedConnectionMapOutput) ElementType() reflect.Type

func (HostedConnectionMapOutput) MapIndex

func (HostedConnectionMapOutput) ToHostedConnectionMapOutput

func (o HostedConnectionMapOutput) ToHostedConnectionMapOutput() HostedConnectionMapOutput

func (HostedConnectionMapOutput) ToHostedConnectionMapOutputWithContext

func (o HostedConnectionMapOutput) ToHostedConnectionMapOutputWithContext(ctx context.Context) HostedConnectionMapOutput

type HostedConnectionOutput

type HostedConnectionOutput struct{ *pulumi.OutputState }

func (HostedConnectionOutput) AwsDevice added in v5.4.0

The Direct Connect endpoint on which the physical connection terminates.

func (HostedConnectionOutput) Bandwidth added in v5.4.0

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.

func (HostedConnectionOutput) ConnectionId added in v5.4.0

func (o HostedConnectionOutput) ConnectionId() pulumi.StringOutput

The ID of the interconnect or LAG.

func (HostedConnectionOutput) ElementType

func (HostedConnectionOutput) ElementType() reflect.Type

func (HostedConnectionOutput) HasLogicalRedundancy added in v5.4.0

func (o HostedConnectionOutput) HasLogicalRedundancy() pulumi.StringOutput

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

func (HostedConnectionOutput) JumboFrameCapable added in v5.4.0

func (o HostedConnectionOutput) JumboFrameCapable() pulumi.BoolOutput

Boolean value representing if jumbo frames have been enabled for this connection.

func (HostedConnectionOutput) LagId added in v5.4.0

The ID of the LAG.

func (HostedConnectionOutput) LoaIssueTime added in v5.4.0

func (o HostedConnectionOutput) LoaIssueTime() pulumi.StringOutput

The time of the most recent call to [DescribeLoa](https://docs.aws.amazon.com/directconnect/latest/APIReference/API_DescribeLoa.html) for this connection.

func (HostedConnectionOutput) Location added in v5.4.0

The location of the connection.

func (HostedConnectionOutput) Name added in v5.4.0

The name of the connection.

func (HostedConnectionOutput) OwnerAccountId added in v5.4.0

func (o HostedConnectionOutput) OwnerAccountId() pulumi.StringOutput

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

func (HostedConnectionOutput) PartnerName added in v5.4.0

func (o HostedConnectionOutput) PartnerName() pulumi.StringOutput

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

func (HostedConnectionOutput) ProviderName added in v5.4.0

func (o HostedConnectionOutput) ProviderName() pulumi.StringOutput

The name of the service provider associated with the connection.

func (HostedConnectionOutput) Region added in v5.4.0

The AWS Region where the connection is located.

func (HostedConnectionOutput) State added in v5.4.0

The state of the connection. Possible values include: ordering, requested, pending, available, down, deleting, deleted, rejected, unknown. See [AllocateHostedConnection](https://docs.aws.amazon.com/directconnect/latest/APIReference/API_AllocateHostedConnection.html) for a description of each connection state.

func (HostedConnectionOutput) ToHostedConnectionOutput

func (o HostedConnectionOutput) ToHostedConnectionOutput() HostedConnectionOutput

func (HostedConnectionOutput) ToHostedConnectionOutputWithContext

func (o HostedConnectionOutput) ToHostedConnectionOutputWithContext(ctx context.Context) HostedConnectionOutput

func (HostedConnectionOutput) Vlan added in v5.4.0

The dedicated VLAN provisioned to the hosted connection.

type HostedConnectionState

type HostedConnectionState struct {
	// 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
	// The ID of the interconnect or LAG.
	ConnectionId 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 ID of the LAG.
	LagId pulumi.StringPtrInput
	// The time of the most recent call to [DescribeLoa](https://docs.aws.amazon.com/directconnect/latest/APIReference/API_DescribeLoa.html) for this connection.
	LoaIssueTime pulumi.StringPtrInput
	// The location of the connection.
	Location pulumi.StringPtrInput
	// The name of the connection.
	Name pulumi.StringPtrInput
	// The ID of the AWS account of the customer for the connection.
	OwnerAccountId pulumi.StringPtrInput
	// The name of the AWS Direct Connect service provider associated with the connection.
	PartnerName pulumi.StringPtrInput
	// The name of the service provider associated with the connection.
	ProviderName pulumi.StringPtrInput
	// The AWS Region where the connection is located.
	Region pulumi.StringPtrInput
	// The state of the connection. Possible values include: ordering, requested, pending, available, down, deleting, deleted, rejected, unknown. See [AllocateHostedConnection](https://docs.aws.amazon.com/directconnect/latest/APIReference/API_AllocateHostedConnection.html) for a description of each connection state.
	State pulumi.StringPtrInput
	// The dedicated VLAN provisioned to the hosted connection.
	Vlan pulumi.IntPtrInput
}

func (HostedConnectionState) ElementType

func (HostedConnectionState) 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/v5/go/aws/directconnect"
"github.com/pulumi/pulumi/sdk/v3/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

func (*HostedPrivateVirtualInterface) ToHostedPrivateVirtualInterfaceOutput

func (i *HostedPrivateVirtualInterface) ToHostedPrivateVirtualInterfaceOutput() HostedPrivateVirtualInterfaceOutput

func (*HostedPrivateVirtualInterface) ToHostedPrivateVirtualInterfaceOutputWithContext

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// 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/v5/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/directconnect"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := aws.NewProvider(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

func (*HostedPrivateVirtualInterfaceAccepter) ToHostedPrivateVirtualInterfaceAccepterOutput

func (i *HostedPrivateVirtualInterfaceAccepter) ToHostedPrivateVirtualInterfaceAccepterOutput() HostedPrivateVirtualInterfaceAccepterOutput

func (*HostedPrivateVirtualInterfaceAccepter) ToHostedPrivateVirtualInterfaceAccepterOutputWithContext

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	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 HostedPrivateVirtualInterfaceAccepterArray

type HostedPrivateVirtualInterfaceAccepterArray []HostedPrivateVirtualInterfaceAccepterInput

func (HostedPrivateVirtualInterfaceAccepterArray) ElementType

func (HostedPrivateVirtualInterfaceAccepterArray) ToHostedPrivateVirtualInterfaceAccepterArrayOutput

func (i HostedPrivateVirtualInterfaceAccepterArray) ToHostedPrivateVirtualInterfaceAccepterArrayOutput() HostedPrivateVirtualInterfaceAccepterArrayOutput

func (HostedPrivateVirtualInterfaceAccepterArray) ToHostedPrivateVirtualInterfaceAccepterArrayOutputWithContext

func (i HostedPrivateVirtualInterfaceAccepterArray) ToHostedPrivateVirtualInterfaceAccepterArrayOutputWithContext(ctx context.Context) HostedPrivateVirtualInterfaceAccepterArrayOutput

type HostedPrivateVirtualInterfaceAccepterArrayInput

type HostedPrivateVirtualInterfaceAccepterArrayInput interface {
	pulumi.Input

	ToHostedPrivateVirtualInterfaceAccepterArrayOutput() HostedPrivateVirtualInterfaceAccepterArrayOutput
	ToHostedPrivateVirtualInterfaceAccepterArrayOutputWithContext(context.Context) HostedPrivateVirtualInterfaceAccepterArrayOutput
}

HostedPrivateVirtualInterfaceAccepterArrayInput is an input type that accepts HostedPrivateVirtualInterfaceAccepterArray and HostedPrivateVirtualInterfaceAccepterArrayOutput values. You can construct a concrete instance of `HostedPrivateVirtualInterfaceAccepterArrayInput` via:

HostedPrivateVirtualInterfaceAccepterArray{ HostedPrivateVirtualInterfaceAccepterArgs{...} }

type HostedPrivateVirtualInterfaceAccepterArrayOutput

type HostedPrivateVirtualInterfaceAccepterArrayOutput struct{ *pulumi.OutputState }

func (HostedPrivateVirtualInterfaceAccepterArrayOutput) ElementType

func (HostedPrivateVirtualInterfaceAccepterArrayOutput) Index

func (HostedPrivateVirtualInterfaceAccepterArrayOutput) ToHostedPrivateVirtualInterfaceAccepterArrayOutput

func (o HostedPrivateVirtualInterfaceAccepterArrayOutput) ToHostedPrivateVirtualInterfaceAccepterArrayOutput() HostedPrivateVirtualInterfaceAccepterArrayOutput

func (HostedPrivateVirtualInterfaceAccepterArrayOutput) ToHostedPrivateVirtualInterfaceAccepterArrayOutputWithContext

func (o HostedPrivateVirtualInterfaceAccepterArrayOutput) ToHostedPrivateVirtualInterfaceAccepterArrayOutputWithContext(ctx context.Context) HostedPrivateVirtualInterfaceAccepterArrayOutput

type HostedPrivateVirtualInterfaceAccepterInput

type HostedPrivateVirtualInterfaceAccepterInput interface {
	pulumi.Input

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

type HostedPrivateVirtualInterfaceAccepterMap

type HostedPrivateVirtualInterfaceAccepterMap map[string]HostedPrivateVirtualInterfaceAccepterInput

func (HostedPrivateVirtualInterfaceAccepterMap) ElementType

func (HostedPrivateVirtualInterfaceAccepterMap) ToHostedPrivateVirtualInterfaceAccepterMapOutput

func (i HostedPrivateVirtualInterfaceAccepterMap) ToHostedPrivateVirtualInterfaceAccepterMapOutput() HostedPrivateVirtualInterfaceAccepterMapOutput

func (HostedPrivateVirtualInterfaceAccepterMap) ToHostedPrivateVirtualInterfaceAccepterMapOutputWithContext

func (i HostedPrivateVirtualInterfaceAccepterMap) ToHostedPrivateVirtualInterfaceAccepterMapOutputWithContext(ctx context.Context) HostedPrivateVirtualInterfaceAccepterMapOutput

type HostedPrivateVirtualInterfaceAccepterMapInput

type HostedPrivateVirtualInterfaceAccepterMapInput interface {
	pulumi.Input

	ToHostedPrivateVirtualInterfaceAccepterMapOutput() HostedPrivateVirtualInterfaceAccepterMapOutput
	ToHostedPrivateVirtualInterfaceAccepterMapOutputWithContext(context.Context) HostedPrivateVirtualInterfaceAccepterMapOutput
}

HostedPrivateVirtualInterfaceAccepterMapInput is an input type that accepts HostedPrivateVirtualInterfaceAccepterMap and HostedPrivateVirtualInterfaceAccepterMapOutput values. You can construct a concrete instance of `HostedPrivateVirtualInterfaceAccepterMapInput` via:

HostedPrivateVirtualInterfaceAccepterMap{ "key": HostedPrivateVirtualInterfaceAccepterArgs{...} }

type HostedPrivateVirtualInterfaceAccepterMapOutput

type HostedPrivateVirtualInterfaceAccepterMapOutput struct{ *pulumi.OutputState }

func (HostedPrivateVirtualInterfaceAccepterMapOutput) ElementType

func (HostedPrivateVirtualInterfaceAccepterMapOutput) MapIndex

func (HostedPrivateVirtualInterfaceAccepterMapOutput) ToHostedPrivateVirtualInterfaceAccepterMapOutput

func (o HostedPrivateVirtualInterfaceAccepterMapOutput) ToHostedPrivateVirtualInterfaceAccepterMapOutput() HostedPrivateVirtualInterfaceAccepterMapOutput

func (HostedPrivateVirtualInterfaceAccepterMapOutput) ToHostedPrivateVirtualInterfaceAccepterMapOutputWithContext

func (o HostedPrivateVirtualInterfaceAccepterMapOutput) ToHostedPrivateVirtualInterfaceAccepterMapOutputWithContext(ctx context.Context) HostedPrivateVirtualInterfaceAccepterMapOutput

type HostedPrivateVirtualInterfaceAccepterOutput

type HostedPrivateVirtualInterfaceAccepterOutput struct{ *pulumi.OutputState }

func (HostedPrivateVirtualInterfaceAccepterOutput) Arn added in v5.4.0

The ARN of the virtual interface.

func (HostedPrivateVirtualInterfaceAccepterOutput) DxGatewayId added in v5.4.0

The ID of the Direct Connect gateway to which to connect the virtual interface.

func (HostedPrivateVirtualInterfaceAccepterOutput) ElementType

func (HostedPrivateVirtualInterfaceAccepterOutput) Tags added in v5.4.0

A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (HostedPrivateVirtualInterfaceAccepterOutput) TagsAll added in v5.4.0

A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (HostedPrivateVirtualInterfaceAccepterOutput) ToHostedPrivateVirtualInterfaceAccepterOutput

func (o HostedPrivateVirtualInterfaceAccepterOutput) ToHostedPrivateVirtualInterfaceAccepterOutput() HostedPrivateVirtualInterfaceAccepterOutput

func (HostedPrivateVirtualInterfaceAccepterOutput) ToHostedPrivateVirtualInterfaceAccepterOutputWithContext

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

func (HostedPrivateVirtualInterfaceAccepterOutput) VirtualInterfaceId added in v5.4.0

The ID of the Direct Connect virtual interface to accept.

func (HostedPrivateVirtualInterfaceAccepterOutput) VpnGatewayId added in v5.4.0

The ID of the virtual private gateway to which to connect the virtual interface.

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll 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 HostedPrivateVirtualInterfaceArray

type HostedPrivateVirtualInterfaceArray []HostedPrivateVirtualInterfaceInput

func (HostedPrivateVirtualInterfaceArray) ElementType

func (HostedPrivateVirtualInterfaceArray) ToHostedPrivateVirtualInterfaceArrayOutput

func (i HostedPrivateVirtualInterfaceArray) ToHostedPrivateVirtualInterfaceArrayOutput() HostedPrivateVirtualInterfaceArrayOutput

func (HostedPrivateVirtualInterfaceArray) ToHostedPrivateVirtualInterfaceArrayOutputWithContext

func (i HostedPrivateVirtualInterfaceArray) ToHostedPrivateVirtualInterfaceArrayOutputWithContext(ctx context.Context) HostedPrivateVirtualInterfaceArrayOutput

type HostedPrivateVirtualInterfaceArrayInput

type HostedPrivateVirtualInterfaceArrayInput interface {
	pulumi.Input

	ToHostedPrivateVirtualInterfaceArrayOutput() HostedPrivateVirtualInterfaceArrayOutput
	ToHostedPrivateVirtualInterfaceArrayOutputWithContext(context.Context) HostedPrivateVirtualInterfaceArrayOutput
}

HostedPrivateVirtualInterfaceArrayInput is an input type that accepts HostedPrivateVirtualInterfaceArray and HostedPrivateVirtualInterfaceArrayOutput values. You can construct a concrete instance of `HostedPrivateVirtualInterfaceArrayInput` via:

HostedPrivateVirtualInterfaceArray{ HostedPrivateVirtualInterfaceArgs{...} }

type HostedPrivateVirtualInterfaceArrayOutput

type HostedPrivateVirtualInterfaceArrayOutput struct{ *pulumi.OutputState }

func (HostedPrivateVirtualInterfaceArrayOutput) ElementType

func (HostedPrivateVirtualInterfaceArrayOutput) Index

func (HostedPrivateVirtualInterfaceArrayOutput) ToHostedPrivateVirtualInterfaceArrayOutput

func (o HostedPrivateVirtualInterfaceArrayOutput) ToHostedPrivateVirtualInterfaceArrayOutput() HostedPrivateVirtualInterfaceArrayOutput

func (HostedPrivateVirtualInterfaceArrayOutput) ToHostedPrivateVirtualInterfaceArrayOutputWithContext

func (o HostedPrivateVirtualInterfaceArrayOutput) ToHostedPrivateVirtualInterfaceArrayOutputWithContext(ctx context.Context) HostedPrivateVirtualInterfaceArrayOutput

type HostedPrivateVirtualInterfaceInput

type HostedPrivateVirtualInterfaceInput interface {
	pulumi.Input

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

type HostedPrivateVirtualInterfaceMap

type HostedPrivateVirtualInterfaceMap map[string]HostedPrivateVirtualInterfaceInput

func (HostedPrivateVirtualInterfaceMap) ElementType

func (HostedPrivateVirtualInterfaceMap) ToHostedPrivateVirtualInterfaceMapOutput

func (i HostedPrivateVirtualInterfaceMap) ToHostedPrivateVirtualInterfaceMapOutput() HostedPrivateVirtualInterfaceMapOutput

func (HostedPrivateVirtualInterfaceMap) ToHostedPrivateVirtualInterfaceMapOutputWithContext

func (i HostedPrivateVirtualInterfaceMap) ToHostedPrivateVirtualInterfaceMapOutputWithContext(ctx context.Context) HostedPrivateVirtualInterfaceMapOutput

type HostedPrivateVirtualInterfaceMapInput

type HostedPrivateVirtualInterfaceMapInput interface {
	pulumi.Input

	ToHostedPrivateVirtualInterfaceMapOutput() HostedPrivateVirtualInterfaceMapOutput
	ToHostedPrivateVirtualInterfaceMapOutputWithContext(context.Context) HostedPrivateVirtualInterfaceMapOutput
}

HostedPrivateVirtualInterfaceMapInput is an input type that accepts HostedPrivateVirtualInterfaceMap and HostedPrivateVirtualInterfaceMapOutput values. You can construct a concrete instance of `HostedPrivateVirtualInterfaceMapInput` via:

HostedPrivateVirtualInterfaceMap{ "key": HostedPrivateVirtualInterfaceArgs{...} }

type HostedPrivateVirtualInterfaceMapOutput

type HostedPrivateVirtualInterfaceMapOutput struct{ *pulumi.OutputState }

func (HostedPrivateVirtualInterfaceMapOutput) ElementType

func (HostedPrivateVirtualInterfaceMapOutput) MapIndex

func (HostedPrivateVirtualInterfaceMapOutput) ToHostedPrivateVirtualInterfaceMapOutput

func (o HostedPrivateVirtualInterfaceMapOutput) ToHostedPrivateVirtualInterfaceMapOutput() HostedPrivateVirtualInterfaceMapOutput

func (HostedPrivateVirtualInterfaceMapOutput) ToHostedPrivateVirtualInterfaceMapOutputWithContext

func (o HostedPrivateVirtualInterfaceMapOutput) ToHostedPrivateVirtualInterfaceMapOutputWithContext(ctx context.Context) HostedPrivateVirtualInterfaceMapOutput

type HostedPrivateVirtualInterfaceOutput

type HostedPrivateVirtualInterfaceOutput struct{ *pulumi.OutputState }

func (HostedPrivateVirtualInterfaceOutput) AddressFamily added in v5.4.0

The address family for the BGP peer. ` ipv4 ` or `ipv6`.

func (HostedPrivateVirtualInterfaceOutput) AmazonAddress added in v5.4.0

The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.

func (HostedPrivateVirtualInterfaceOutput) AmazonSideAsn added in v5.4.0

func (HostedPrivateVirtualInterfaceOutput) Arn added in v5.4.0

The ARN of the virtual interface.

func (HostedPrivateVirtualInterfaceOutput) AwsDevice added in v5.4.0

The Direct Connect endpoint on which the virtual interface terminates.

func (HostedPrivateVirtualInterfaceOutput) BgpAsn added in v5.4.0

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

func (HostedPrivateVirtualInterfaceOutput) BgpAuthKey added in v5.4.0

The authentication key for BGP configuration.

func (HostedPrivateVirtualInterfaceOutput) ConnectionId added in v5.4.0

The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.

func (HostedPrivateVirtualInterfaceOutput) CustomerAddress added in v5.4.0

The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.

func (HostedPrivateVirtualInterfaceOutput) ElementType

func (HostedPrivateVirtualInterfaceOutput) JumboFrameCapable added in v5.4.0

Indicates whether jumbo frames (9001 MTU) are supported.

func (HostedPrivateVirtualInterfaceOutput) Mtu added in v5.4.0

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

func (HostedPrivateVirtualInterfaceOutput) Name added in v5.4.0

The name for the virtual interface.

func (HostedPrivateVirtualInterfaceOutput) OwnerAccountId added in v5.4.0

The AWS account that will own the new virtual interface.

func (HostedPrivateVirtualInterfaceOutput) ToHostedPrivateVirtualInterfaceOutput

func (o HostedPrivateVirtualInterfaceOutput) ToHostedPrivateVirtualInterfaceOutput() HostedPrivateVirtualInterfaceOutput

func (HostedPrivateVirtualInterfaceOutput) ToHostedPrivateVirtualInterfaceOutputWithContext

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

func (HostedPrivateVirtualInterfaceOutput) Vlan added in v5.4.0

The VLAN ID.

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/v5/go/aws/directconnect"
"github.com/pulumi/pulumi/sdk/v3/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

func (*HostedPublicVirtualInterface) ElementType() reflect.Type

func (*HostedPublicVirtualInterface) ToHostedPublicVirtualInterfaceOutput

func (i *HostedPublicVirtualInterface) ToHostedPublicVirtualInterfaceOutput() HostedPublicVirtualInterfaceOutput

func (*HostedPublicVirtualInterface) ToHostedPublicVirtualInterfaceOutputWithContext

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// 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/v5/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/directconnect"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := aws.NewProvider(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

func (*HostedPublicVirtualInterfaceAccepter) ToHostedPublicVirtualInterfaceAccepterOutput

func (i *HostedPublicVirtualInterfaceAccepter) ToHostedPublicVirtualInterfaceAccepterOutput() HostedPublicVirtualInterfaceAccepterOutput

func (*HostedPublicVirtualInterfaceAccepter) ToHostedPublicVirtualInterfaceAccepterOutputWithContext

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

type HostedPublicVirtualInterfaceAccepterArgs

type HostedPublicVirtualInterfaceAccepterArgs struct {
	// A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	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 HostedPublicVirtualInterfaceAccepterArray

type HostedPublicVirtualInterfaceAccepterArray []HostedPublicVirtualInterfaceAccepterInput

func (HostedPublicVirtualInterfaceAccepterArray) ElementType

func (HostedPublicVirtualInterfaceAccepterArray) ToHostedPublicVirtualInterfaceAccepterArrayOutput

func (i HostedPublicVirtualInterfaceAccepterArray) ToHostedPublicVirtualInterfaceAccepterArrayOutput() HostedPublicVirtualInterfaceAccepterArrayOutput

func (HostedPublicVirtualInterfaceAccepterArray) ToHostedPublicVirtualInterfaceAccepterArrayOutputWithContext

func (i HostedPublicVirtualInterfaceAccepterArray) ToHostedPublicVirtualInterfaceAccepterArrayOutputWithContext(ctx context.Context) HostedPublicVirtualInterfaceAccepterArrayOutput

type HostedPublicVirtualInterfaceAccepterArrayInput

type HostedPublicVirtualInterfaceAccepterArrayInput interface {
	pulumi.Input

	ToHostedPublicVirtualInterfaceAccepterArrayOutput() HostedPublicVirtualInterfaceAccepterArrayOutput
	ToHostedPublicVirtualInterfaceAccepterArrayOutputWithContext(context.Context) HostedPublicVirtualInterfaceAccepterArrayOutput
}

HostedPublicVirtualInterfaceAccepterArrayInput is an input type that accepts HostedPublicVirtualInterfaceAccepterArray and HostedPublicVirtualInterfaceAccepterArrayOutput values. You can construct a concrete instance of `HostedPublicVirtualInterfaceAccepterArrayInput` via:

HostedPublicVirtualInterfaceAccepterArray{ HostedPublicVirtualInterfaceAccepterArgs{...} }

type HostedPublicVirtualInterfaceAccepterArrayOutput

type HostedPublicVirtualInterfaceAccepterArrayOutput struct{ *pulumi.OutputState }

func (HostedPublicVirtualInterfaceAccepterArrayOutput) ElementType

func (HostedPublicVirtualInterfaceAccepterArrayOutput) Index

func (HostedPublicVirtualInterfaceAccepterArrayOutput) ToHostedPublicVirtualInterfaceAccepterArrayOutput

func (o HostedPublicVirtualInterfaceAccepterArrayOutput) ToHostedPublicVirtualInterfaceAccepterArrayOutput() HostedPublicVirtualInterfaceAccepterArrayOutput

func (HostedPublicVirtualInterfaceAccepterArrayOutput) ToHostedPublicVirtualInterfaceAccepterArrayOutputWithContext

func (o HostedPublicVirtualInterfaceAccepterArrayOutput) ToHostedPublicVirtualInterfaceAccepterArrayOutputWithContext(ctx context.Context) HostedPublicVirtualInterfaceAccepterArrayOutput

type HostedPublicVirtualInterfaceAccepterInput

type HostedPublicVirtualInterfaceAccepterInput interface {
	pulumi.Input

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

type HostedPublicVirtualInterfaceAccepterMap

type HostedPublicVirtualInterfaceAccepterMap map[string]HostedPublicVirtualInterfaceAccepterInput

func (HostedPublicVirtualInterfaceAccepterMap) ElementType

func (HostedPublicVirtualInterfaceAccepterMap) ToHostedPublicVirtualInterfaceAccepterMapOutput

func (i HostedPublicVirtualInterfaceAccepterMap) ToHostedPublicVirtualInterfaceAccepterMapOutput() HostedPublicVirtualInterfaceAccepterMapOutput

func (HostedPublicVirtualInterfaceAccepterMap) ToHostedPublicVirtualInterfaceAccepterMapOutputWithContext

func (i HostedPublicVirtualInterfaceAccepterMap) ToHostedPublicVirtualInterfaceAccepterMapOutputWithContext(ctx context.Context) HostedPublicVirtualInterfaceAccepterMapOutput

type HostedPublicVirtualInterfaceAccepterMapInput

type HostedPublicVirtualInterfaceAccepterMapInput interface {
	pulumi.Input

	ToHostedPublicVirtualInterfaceAccepterMapOutput() HostedPublicVirtualInterfaceAccepterMapOutput
	ToHostedPublicVirtualInterfaceAccepterMapOutputWithContext(context.Context) HostedPublicVirtualInterfaceAccepterMapOutput
}

HostedPublicVirtualInterfaceAccepterMapInput is an input type that accepts HostedPublicVirtualInterfaceAccepterMap and HostedPublicVirtualInterfaceAccepterMapOutput values. You can construct a concrete instance of `HostedPublicVirtualInterfaceAccepterMapInput` via:

HostedPublicVirtualInterfaceAccepterMap{ "key": HostedPublicVirtualInterfaceAccepterArgs{...} }

type HostedPublicVirtualInterfaceAccepterMapOutput

type HostedPublicVirtualInterfaceAccepterMapOutput struct{ *pulumi.OutputState }

func (HostedPublicVirtualInterfaceAccepterMapOutput) ElementType

func (HostedPublicVirtualInterfaceAccepterMapOutput) MapIndex

func (HostedPublicVirtualInterfaceAccepterMapOutput) ToHostedPublicVirtualInterfaceAccepterMapOutput

func (o HostedPublicVirtualInterfaceAccepterMapOutput) ToHostedPublicVirtualInterfaceAccepterMapOutput() HostedPublicVirtualInterfaceAccepterMapOutput

func (HostedPublicVirtualInterfaceAccepterMapOutput) ToHostedPublicVirtualInterfaceAccepterMapOutputWithContext

func (o HostedPublicVirtualInterfaceAccepterMapOutput) ToHostedPublicVirtualInterfaceAccepterMapOutputWithContext(ctx context.Context) HostedPublicVirtualInterfaceAccepterMapOutput

type HostedPublicVirtualInterfaceAccepterOutput

type HostedPublicVirtualInterfaceAccepterOutput struct{ *pulumi.OutputState }

func (HostedPublicVirtualInterfaceAccepterOutput) Arn added in v5.4.0

The ARN of the virtual interface.

func (HostedPublicVirtualInterfaceAccepterOutput) ElementType

func (HostedPublicVirtualInterfaceAccepterOutput) Tags added in v5.4.0

A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (HostedPublicVirtualInterfaceAccepterOutput) TagsAll added in v5.4.0

A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (HostedPublicVirtualInterfaceAccepterOutput) ToHostedPublicVirtualInterfaceAccepterOutput

func (o HostedPublicVirtualInterfaceAccepterOutput) ToHostedPublicVirtualInterfaceAccepterOutput() HostedPublicVirtualInterfaceAccepterOutput

func (HostedPublicVirtualInterfaceAccepterOutput) ToHostedPublicVirtualInterfaceAccepterOutputWithContext

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

func (HostedPublicVirtualInterfaceAccepterOutput) VirtualInterfaceId added in v5.4.0

The ID of the Direct Connect virtual interface to accept.

type HostedPublicVirtualInterfaceAccepterState

type HostedPublicVirtualInterfaceAccepterState struct {
	// The ARN of the virtual interface.
	Arn pulumi.StringPtrInput
	// A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll 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 HostedPublicVirtualInterfaceArray

type HostedPublicVirtualInterfaceArray []HostedPublicVirtualInterfaceInput

func (HostedPublicVirtualInterfaceArray) ElementType

func (HostedPublicVirtualInterfaceArray) ToHostedPublicVirtualInterfaceArrayOutput

func (i HostedPublicVirtualInterfaceArray) ToHostedPublicVirtualInterfaceArrayOutput() HostedPublicVirtualInterfaceArrayOutput

func (HostedPublicVirtualInterfaceArray) ToHostedPublicVirtualInterfaceArrayOutputWithContext

func (i HostedPublicVirtualInterfaceArray) ToHostedPublicVirtualInterfaceArrayOutputWithContext(ctx context.Context) HostedPublicVirtualInterfaceArrayOutput

type HostedPublicVirtualInterfaceArrayInput

type HostedPublicVirtualInterfaceArrayInput interface {
	pulumi.Input

	ToHostedPublicVirtualInterfaceArrayOutput() HostedPublicVirtualInterfaceArrayOutput
	ToHostedPublicVirtualInterfaceArrayOutputWithContext(context.Context) HostedPublicVirtualInterfaceArrayOutput
}

HostedPublicVirtualInterfaceArrayInput is an input type that accepts HostedPublicVirtualInterfaceArray and HostedPublicVirtualInterfaceArrayOutput values. You can construct a concrete instance of `HostedPublicVirtualInterfaceArrayInput` via:

HostedPublicVirtualInterfaceArray{ HostedPublicVirtualInterfaceArgs{...} }

type HostedPublicVirtualInterfaceArrayOutput

type HostedPublicVirtualInterfaceArrayOutput struct{ *pulumi.OutputState }

func (HostedPublicVirtualInterfaceArrayOutput) ElementType

func (HostedPublicVirtualInterfaceArrayOutput) Index

func (HostedPublicVirtualInterfaceArrayOutput) ToHostedPublicVirtualInterfaceArrayOutput

func (o HostedPublicVirtualInterfaceArrayOutput) ToHostedPublicVirtualInterfaceArrayOutput() HostedPublicVirtualInterfaceArrayOutput

func (HostedPublicVirtualInterfaceArrayOutput) ToHostedPublicVirtualInterfaceArrayOutputWithContext

func (o HostedPublicVirtualInterfaceArrayOutput) ToHostedPublicVirtualInterfaceArrayOutputWithContext(ctx context.Context) HostedPublicVirtualInterfaceArrayOutput

type HostedPublicVirtualInterfaceInput

type HostedPublicVirtualInterfaceInput interface {
	pulumi.Input

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

type HostedPublicVirtualInterfaceMap

type HostedPublicVirtualInterfaceMap map[string]HostedPublicVirtualInterfaceInput

func (HostedPublicVirtualInterfaceMap) ElementType

func (HostedPublicVirtualInterfaceMap) ToHostedPublicVirtualInterfaceMapOutput

func (i HostedPublicVirtualInterfaceMap) ToHostedPublicVirtualInterfaceMapOutput() HostedPublicVirtualInterfaceMapOutput

func (HostedPublicVirtualInterfaceMap) ToHostedPublicVirtualInterfaceMapOutputWithContext

func (i HostedPublicVirtualInterfaceMap) ToHostedPublicVirtualInterfaceMapOutputWithContext(ctx context.Context) HostedPublicVirtualInterfaceMapOutput

type HostedPublicVirtualInterfaceMapInput

type HostedPublicVirtualInterfaceMapInput interface {
	pulumi.Input

	ToHostedPublicVirtualInterfaceMapOutput() HostedPublicVirtualInterfaceMapOutput
	ToHostedPublicVirtualInterfaceMapOutputWithContext(context.Context) HostedPublicVirtualInterfaceMapOutput
}

HostedPublicVirtualInterfaceMapInput is an input type that accepts HostedPublicVirtualInterfaceMap and HostedPublicVirtualInterfaceMapOutput values. You can construct a concrete instance of `HostedPublicVirtualInterfaceMapInput` via:

HostedPublicVirtualInterfaceMap{ "key": HostedPublicVirtualInterfaceArgs{...} }

type HostedPublicVirtualInterfaceMapOutput

type HostedPublicVirtualInterfaceMapOutput struct{ *pulumi.OutputState }

func (HostedPublicVirtualInterfaceMapOutput) ElementType

func (HostedPublicVirtualInterfaceMapOutput) MapIndex

func (HostedPublicVirtualInterfaceMapOutput) ToHostedPublicVirtualInterfaceMapOutput

func (o HostedPublicVirtualInterfaceMapOutput) ToHostedPublicVirtualInterfaceMapOutput() HostedPublicVirtualInterfaceMapOutput

func (HostedPublicVirtualInterfaceMapOutput) ToHostedPublicVirtualInterfaceMapOutputWithContext

func (o HostedPublicVirtualInterfaceMapOutput) ToHostedPublicVirtualInterfaceMapOutputWithContext(ctx context.Context) HostedPublicVirtualInterfaceMapOutput

type HostedPublicVirtualInterfaceOutput

type HostedPublicVirtualInterfaceOutput struct{ *pulumi.OutputState }

func (HostedPublicVirtualInterfaceOutput) AddressFamily added in v5.4.0

The address family for the BGP peer. ` ipv4 ` or `ipv6`.

func (HostedPublicVirtualInterfaceOutput) AmazonAddress added in v5.4.0

The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.

func (HostedPublicVirtualInterfaceOutput) AmazonSideAsn added in v5.4.0

func (HostedPublicVirtualInterfaceOutput) Arn added in v5.4.0

The ARN of the virtual interface.

func (HostedPublicVirtualInterfaceOutput) AwsDevice added in v5.4.0

The Direct Connect endpoint on which the virtual interface terminates.

func (HostedPublicVirtualInterfaceOutput) BgpAsn added in v5.4.0

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

func (HostedPublicVirtualInterfaceOutput) BgpAuthKey added in v5.4.0

The authentication key for BGP configuration.

func (HostedPublicVirtualInterfaceOutput) ConnectionId added in v5.4.0

The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.

func (HostedPublicVirtualInterfaceOutput) CustomerAddress added in v5.4.0

The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.

func (HostedPublicVirtualInterfaceOutput) ElementType

func (HostedPublicVirtualInterfaceOutput) Name added in v5.4.0

The name for the virtual interface.

func (HostedPublicVirtualInterfaceOutput) OwnerAccountId added in v5.4.0

The AWS account that will own the new virtual interface.

func (HostedPublicVirtualInterfaceOutput) RouteFilterPrefixes added in v5.4.0

A list of routes to be advertised to the AWS network in this region.

func (HostedPublicVirtualInterfaceOutput) ToHostedPublicVirtualInterfaceOutput

func (o HostedPublicVirtualInterfaceOutput) ToHostedPublicVirtualInterfaceOutput() HostedPublicVirtualInterfaceOutput

func (HostedPublicVirtualInterfaceOutput) ToHostedPublicVirtualInterfaceOutputWithContext

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

func (HostedPublicVirtualInterfaceOutput) Vlan added in v5.4.0

The VLAN ID.

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/v5/go/aws/directconnect"
"github.com/pulumi/pulumi/sdk/v3/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

func (*HostedTransitVirtualInterface) ToHostedTransitVirtualInterfaceOutput

func (i *HostedTransitVirtualInterface) ToHostedTransitVirtualInterfaceOutput() HostedTransitVirtualInterfaceOutput

func (*HostedTransitVirtualInterface) ToHostedTransitVirtualInterfaceOutputWithContext

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// 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/v5/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/directconnect"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := aws.NewProvider(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

func (*HostedTransitVirtualInterfaceAcceptor) ToHostedTransitVirtualInterfaceAcceptorOutput

func (i *HostedTransitVirtualInterfaceAcceptor) ToHostedTransitVirtualInterfaceAcceptorOutput() HostedTransitVirtualInterfaceAcceptorOutput

func (*HostedTransitVirtualInterfaceAcceptor) ToHostedTransitVirtualInterfaceAcceptorOutputWithContext

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	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 HostedTransitVirtualInterfaceAcceptorArray

type HostedTransitVirtualInterfaceAcceptorArray []HostedTransitVirtualInterfaceAcceptorInput

func (HostedTransitVirtualInterfaceAcceptorArray) ElementType

func (HostedTransitVirtualInterfaceAcceptorArray) ToHostedTransitVirtualInterfaceAcceptorArrayOutput

func (i HostedTransitVirtualInterfaceAcceptorArray) ToHostedTransitVirtualInterfaceAcceptorArrayOutput() HostedTransitVirtualInterfaceAcceptorArrayOutput

func (HostedTransitVirtualInterfaceAcceptorArray) ToHostedTransitVirtualInterfaceAcceptorArrayOutputWithContext

func (i HostedTransitVirtualInterfaceAcceptorArray) ToHostedTransitVirtualInterfaceAcceptorArrayOutputWithContext(ctx context.Context) HostedTransitVirtualInterfaceAcceptorArrayOutput

type HostedTransitVirtualInterfaceAcceptorArrayInput

type HostedTransitVirtualInterfaceAcceptorArrayInput interface {
	pulumi.Input

	ToHostedTransitVirtualInterfaceAcceptorArrayOutput() HostedTransitVirtualInterfaceAcceptorArrayOutput
	ToHostedTransitVirtualInterfaceAcceptorArrayOutputWithContext(context.Context) HostedTransitVirtualInterfaceAcceptorArrayOutput
}

HostedTransitVirtualInterfaceAcceptorArrayInput is an input type that accepts HostedTransitVirtualInterfaceAcceptorArray and HostedTransitVirtualInterfaceAcceptorArrayOutput values. You can construct a concrete instance of `HostedTransitVirtualInterfaceAcceptorArrayInput` via:

HostedTransitVirtualInterfaceAcceptorArray{ HostedTransitVirtualInterfaceAcceptorArgs{...} }

type HostedTransitVirtualInterfaceAcceptorArrayOutput

type HostedTransitVirtualInterfaceAcceptorArrayOutput struct{ *pulumi.OutputState }

func (HostedTransitVirtualInterfaceAcceptorArrayOutput) ElementType

func (HostedTransitVirtualInterfaceAcceptorArrayOutput) Index

func (HostedTransitVirtualInterfaceAcceptorArrayOutput) ToHostedTransitVirtualInterfaceAcceptorArrayOutput

func (o HostedTransitVirtualInterfaceAcceptorArrayOutput) ToHostedTransitVirtualInterfaceAcceptorArrayOutput() HostedTransitVirtualInterfaceAcceptorArrayOutput

func (HostedTransitVirtualInterfaceAcceptorArrayOutput) ToHostedTransitVirtualInterfaceAcceptorArrayOutputWithContext

func (o HostedTransitVirtualInterfaceAcceptorArrayOutput) ToHostedTransitVirtualInterfaceAcceptorArrayOutputWithContext(ctx context.Context) HostedTransitVirtualInterfaceAcceptorArrayOutput

type HostedTransitVirtualInterfaceAcceptorInput

type HostedTransitVirtualInterfaceAcceptorInput interface {
	pulumi.Input

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

type HostedTransitVirtualInterfaceAcceptorMap

type HostedTransitVirtualInterfaceAcceptorMap map[string]HostedTransitVirtualInterfaceAcceptorInput

func (HostedTransitVirtualInterfaceAcceptorMap) ElementType

func (HostedTransitVirtualInterfaceAcceptorMap) ToHostedTransitVirtualInterfaceAcceptorMapOutput

func (i HostedTransitVirtualInterfaceAcceptorMap) ToHostedTransitVirtualInterfaceAcceptorMapOutput() HostedTransitVirtualInterfaceAcceptorMapOutput

func (HostedTransitVirtualInterfaceAcceptorMap) ToHostedTransitVirtualInterfaceAcceptorMapOutputWithContext

func (i HostedTransitVirtualInterfaceAcceptorMap) ToHostedTransitVirtualInterfaceAcceptorMapOutputWithContext(ctx context.Context) HostedTransitVirtualInterfaceAcceptorMapOutput

type HostedTransitVirtualInterfaceAcceptorMapInput

type HostedTransitVirtualInterfaceAcceptorMapInput interface {
	pulumi.Input

	ToHostedTransitVirtualInterfaceAcceptorMapOutput() HostedTransitVirtualInterfaceAcceptorMapOutput
	ToHostedTransitVirtualInterfaceAcceptorMapOutputWithContext(context.Context) HostedTransitVirtualInterfaceAcceptorMapOutput
}

HostedTransitVirtualInterfaceAcceptorMapInput is an input type that accepts HostedTransitVirtualInterfaceAcceptorMap and HostedTransitVirtualInterfaceAcceptorMapOutput values. You can construct a concrete instance of `HostedTransitVirtualInterfaceAcceptorMapInput` via:

HostedTransitVirtualInterfaceAcceptorMap{ "key": HostedTransitVirtualInterfaceAcceptorArgs{...} }

type HostedTransitVirtualInterfaceAcceptorMapOutput

type HostedTransitVirtualInterfaceAcceptorMapOutput struct{ *pulumi.OutputState }

func (HostedTransitVirtualInterfaceAcceptorMapOutput) ElementType

func (HostedTransitVirtualInterfaceAcceptorMapOutput) MapIndex

func (HostedTransitVirtualInterfaceAcceptorMapOutput) ToHostedTransitVirtualInterfaceAcceptorMapOutput

func (o HostedTransitVirtualInterfaceAcceptorMapOutput) ToHostedTransitVirtualInterfaceAcceptorMapOutput() HostedTransitVirtualInterfaceAcceptorMapOutput

func (HostedTransitVirtualInterfaceAcceptorMapOutput) ToHostedTransitVirtualInterfaceAcceptorMapOutputWithContext

func (o HostedTransitVirtualInterfaceAcceptorMapOutput) ToHostedTransitVirtualInterfaceAcceptorMapOutputWithContext(ctx context.Context) HostedTransitVirtualInterfaceAcceptorMapOutput

type HostedTransitVirtualInterfaceAcceptorOutput

type HostedTransitVirtualInterfaceAcceptorOutput struct{ *pulumi.OutputState }

func (HostedTransitVirtualInterfaceAcceptorOutput) Arn added in v5.4.0

The ARN of the virtual interface.

func (HostedTransitVirtualInterfaceAcceptorOutput) DxGatewayId added in v5.4.0

The ID of the Direct Connect gateway to which to connect the virtual interface.

func (HostedTransitVirtualInterfaceAcceptorOutput) ElementType

func (HostedTransitVirtualInterfaceAcceptorOutput) Tags added in v5.4.0

A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (HostedTransitVirtualInterfaceAcceptorOutput) TagsAll added in v5.4.0

A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (HostedTransitVirtualInterfaceAcceptorOutput) ToHostedTransitVirtualInterfaceAcceptorOutput

func (o HostedTransitVirtualInterfaceAcceptorOutput) ToHostedTransitVirtualInterfaceAcceptorOutput() HostedTransitVirtualInterfaceAcceptorOutput

func (HostedTransitVirtualInterfaceAcceptorOutput) ToHostedTransitVirtualInterfaceAcceptorOutputWithContext

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

func (HostedTransitVirtualInterfaceAcceptorOutput) VirtualInterfaceId added in v5.4.0

The ID of the Direct Connect virtual interface to accept.

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll 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 HostedTransitVirtualInterfaceArray

type HostedTransitVirtualInterfaceArray []HostedTransitVirtualInterfaceInput

func (HostedTransitVirtualInterfaceArray) ElementType

func (HostedTransitVirtualInterfaceArray) ToHostedTransitVirtualInterfaceArrayOutput

func (i HostedTransitVirtualInterfaceArray) ToHostedTransitVirtualInterfaceArrayOutput() HostedTransitVirtualInterfaceArrayOutput

func (HostedTransitVirtualInterfaceArray) ToHostedTransitVirtualInterfaceArrayOutputWithContext

func (i HostedTransitVirtualInterfaceArray) ToHostedTransitVirtualInterfaceArrayOutputWithContext(ctx context.Context) HostedTransitVirtualInterfaceArrayOutput

type HostedTransitVirtualInterfaceArrayInput

type HostedTransitVirtualInterfaceArrayInput interface {
	pulumi.Input

	ToHostedTransitVirtualInterfaceArrayOutput() HostedTransitVirtualInterfaceArrayOutput
	ToHostedTransitVirtualInterfaceArrayOutputWithContext(context.Context) HostedTransitVirtualInterfaceArrayOutput
}

HostedTransitVirtualInterfaceArrayInput is an input type that accepts HostedTransitVirtualInterfaceArray and HostedTransitVirtualInterfaceArrayOutput values. You can construct a concrete instance of `HostedTransitVirtualInterfaceArrayInput` via:

HostedTransitVirtualInterfaceArray{ HostedTransitVirtualInterfaceArgs{...} }

type HostedTransitVirtualInterfaceArrayOutput

type HostedTransitVirtualInterfaceArrayOutput struct{ *pulumi.OutputState }

func (HostedTransitVirtualInterfaceArrayOutput) ElementType

func (HostedTransitVirtualInterfaceArrayOutput) Index

func (HostedTransitVirtualInterfaceArrayOutput) ToHostedTransitVirtualInterfaceArrayOutput

func (o HostedTransitVirtualInterfaceArrayOutput) ToHostedTransitVirtualInterfaceArrayOutput() HostedTransitVirtualInterfaceArrayOutput

func (HostedTransitVirtualInterfaceArrayOutput) ToHostedTransitVirtualInterfaceArrayOutputWithContext

func (o HostedTransitVirtualInterfaceArrayOutput) ToHostedTransitVirtualInterfaceArrayOutputWithContext(ctx context.Context) HostedTransitVirtualInterfaceArrayOutput

type HostedTransitVirtualInterfaceInput

type HostedTransitVirtualInterfaceInput interface {
	pulumi.Input

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

type HostedTransitVirtualInterfaceMap

type HostedTransitVirtualInterfaceMap map[string]HostedTransitVirtualInterfaceInput

func (HostedTransitVirtualInterfaceMap) ElementType

func (HostedTransitVirtualInterfaceMap) ToHostedTransitVirtualInterfaceMapOutput

func (i HostedTransitVirtualInterfaceMap) ToHostedTransitVirtualInterfaceMapOutput() HostedTransitVirtualInterfaceMapOutput

func (HostedTransitVirtualInterfaceMap) ToHostedTransitVirtualInterfaceMapOutputWithContext

func (i HostedTransitVirtualInterfaceMap) ToHostedTransitVirtualInterfaceMapOutputWithContext(ctx context.Context) HostedTransitVirtualInterfaceMapOutput

type HostedTransitVirtualInterfaceMapInput

type HostedTransitVirtualInterfaceMapInput interface {
	pulumi.Input

	ToHostedTransitVirtualInterfaceMapOutput() HostedTransitVirtualInterfaceMapOutput
	ToHostedTransitVirtualInterfaceMapOutputWithContext(context.Context) HostedTransitVirtualInterfaceMapOutput
}

HostedTransitVirtualInterfaceMapInput is an input type that accepts HostedTransitVirtualInterfaceMap and HostedTransitVirtualInterfaceMapOutput values. You can construct a concrete instance of `HostedTransitVirtualInterfaceMapInput` via:

HostedTransitVirtualInterfaceMap{ "key": HostedTransitVirtualInterfaceArgs{...} }

type HostedTransitVirtualInterfaceMapOutput

type HostedTransitVirtualInterfaceMapOutput struct{ *pulumi.OutputState }

func (HostedTransitVirtualInterfaceMapOutput) ElementType

func (HostedTransitVirtualInterfaceMapOutput) MapIndex

func (HostedTransitVirtualInterfaceMapOutput) ToHostedTransitVirtualInterfaceMapOutput

func (o HostedTransitVirtualInterfaceMapOutput) ToHostedTransitVirtualInterfaceMapOutput() HostedTransitVirtualInterfaceMapOutput

func (HostedTransitVirtualInterfaceMapOutput) ToHostedTransitVirtualInterfaceMapOutputWithContext

func (o HostedTransitVirtualInterfaceMapOutput) ToHostedTransitVirtualInterfaceMapOutputWithContext(ctx context.Context) HostedTransitVirtualInterfaceMapOutput

type HostedTransitVirtualInterfaceOutput

type HostedTransitVirtualInterfaceOutput struct{ *pulumi.OutputState }

func (HostedTransitVirtualInterfaceOutput) AddressFamily added in v5.4.0

The address family for the BGP peer. ` ipv4 ` or `ipv6`.

func (HostedTransitVirtualInterfaceOutput) AmazonAddress added in v5.4.0

The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.

func (HostedTransitVirtualInterfaceOutput) AmazonSideAsn added in v5.4.0

func (HostedTransitVirtualInterfaceOutput) Arn added in v5.4.0

The ARN of the virtual interface.

func (HostedTransitVirtualInterfaceOutput) AwsDevice added in v5.4.0

The Direct Connect endpoint on which the virtual interface terminates.

func (HostedTransitVirtualInterfaceOutput) BgpAsn added in v5.4.0

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

func (HostedTransitVirtualInterfaceOutput) BgpAuthKey added in v5.4.0

The authentication key for BGP configuration.

func (HostedTransitVirtualInterfaceOutput) ConnectionId added in v5.4.0

The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.

func (HostedTransitVirtualInterfaceOutput) CustomerAddress added in v5.4.0

The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.

func (HostedTransitVirtualInterfaceOutput) ElementType

func (HostedTransitVirtualInterfaceOutput) JumboFrameCapable added in v5.4.0

Indicates whether jumbo frames (8500 MTU) are supported.

func (HostedTransitVirtualInterfaceOutput) Mtu added in v5.4.0

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

func (HostedTransitVirtualInterfaceOutput) Name added in v5.4.0

The name for the virtual interface.

func (HostedTransitVirtualInterfaceOutput) OwnerAccountId added in v5.4.0

The AWS account that will own the new virtual interface.

func (HostedTransitVirtualInterfaceOutput) ToHostedTransitVirtualInterfaceOutput

func (o HostedTransitVirtualInterfaceOutput) ToHostedTransitVirtualInterfaceOutput() HostedTransitVirtualInterfaceOutput

func (HostedTransitVirtualInterfaceOutput) ToHostedTransitVirtualInterfaceOutputWithContext

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

func (HostedTransitVirtualInterfaceOutput) Vlan added in v5.4.0

The VLAN ID.

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.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The ID of an existing dedicated connection to migrate to the LAG.
	ConnectionId pulumi.StringPtrOutput `pulumi:"connectionId"`
	// The bandwidth of the individual physical connections bundled by the LAG. Valid values: 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, 10Gbps and 100Gbps. 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"`
	// Indicates whether jumbo frames (9001 MTU) are supported.
	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"`
	// The ID of the AWS account that owns the LAG.
	OwnerAccountId pulumi.StringOutput `pulumi:"ownerAccountId"`
	// The name of the service provider associated with the LAG.
	ProviderName pulumi.StringOutput `pulumi:"providerName"`
	// A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

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, if no existing connection is specified, Direct Connect will create a connection and this provider will remove this unmanaged connection during resource creation.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/directconnect"
"github.com/pulumi/pulumi/sdk/v3/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

func (*LinkAggregationGroup) ElementType() reflect.Type

func (*LinkAggregationGroup) ToLinkAggregationGroupOutput

func (i *LinkAggregationGroup) ToLinkAggregationGroupOutput() LinkAggregationGroupOutput

func (*LinkAggregationGroup) ToLinkAggregationGroupOutputWithContext

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

type LinkAggregationGroupArgs

type LinkAggregationGroupArgs struct {
	// The ID of an existing dedicated connection to migrate to the LAG.
	ConnectionId pulumi.StringPtrInput
	// The bandwidth of the individual physical connections bundled by the LAG. Valid values: 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, 10Gbps and 100Gbps. 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
	// The name of the service provider associated with the LAG.
	ProviderName pulumi.StringPtrInput
	// A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a LinkAggregationGroup resource.

func (LinkAggregationGroupArgs) ElementType

func (LinkAggregationGroupArgs) ElementType() reflect.Type

type LinkAggregationGroupArray

type LinkAggregationGroupArray []LinkAggregationGroupInput

func (LinkAggregationGroupArray) ElementType

func (LinkAggregationGroupArray) ElementType() reflect.Type

func (LinkAggregationGroupArray) ToLinkAggregationGroupArrayOutput

func (i LinkAggregationGroupArray) ToLinkAggregationGroupArrayOutput() LinkAggregationGroupArrayOutput

func (LinkAggregationGroupArray) ToLinkAggregationGroupArrayOutputWithContext

func (i LinkAggregationGroupArray) ToLinkAggregationGroupArrayOutputWithContext(ctx context.Context) LinkAggregationGroupArrayOutput

type LinkAggregationGroupArrayInput

type LinkAggregationGroupArrayInput interface {
	pulumi.Input

	ToLinkAggregationGroupArrayOutput() LinkAggregationGroupArrayOutput
	ToLinkAggregationGroupArrayOutputWithContext(context.Context) LinkAggregationGroupArrayOutput
}

LinkAggregationGroupArrayInput is an input type that accepts LinkAggregationGroupArray and LinkAggregationGroupArrayOutput values. You can construct a concrete instance of `LinkAggregationGroupArrayInput` via:

LinkAggregationGroupArray{ LinkAggregationGroupArgs{...} }

type LinkAggregationGroupArrayOutput

type LinkAggregationGroupArrayOutput struct{ *pulumi.OutputState }

func (LinkAggregationGroupArrayOutput) ElementType

func (LinkAggregationGroupArrayOutput) Index

func (LinkAggregationGroupArrayOutput) ToLinkAggregationGroupArrayOutput

func (o LinkAggregationGroupArrayOutput) ToLinkAggregationGroupArrayOutput() LinkAggregationGroupArrayOutput

func (LinkAggregationGroupArrayOutput) ToLinkAggregationGroupArrayOutputWithContext

func (o LinkAggregationGroupArrayOutput) ToLinkAggregationGroupArrayOutputWithContext(ctx context.Context) LinkAggregationGroupArrayOutput

type LinkAggregationGroupInput

type LinkAggregationGroupInput interface {
	pulumi.Input

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

type LinkAggregationGroupMap

type LinkAggregationGroupMap map[string]LinkAggregationGroupInput

func (LinkAggregationGroupMap) ElementType

func (LinkAggregationGroupMap) ElementType() reflect.Type

func (LinkAggregationGroupMap) ToLinkAggregationGroupMapOutput

func (i LinkAggregationGroupMap) ToLinkAggregationGroupMapOutput() LinkAggregationGroupMapOutput

func (LinkAggregationGroupMap) ToLinkAggregationGroupMapOutputWithContext

func (i LinkAggregationGroupMap) ToLinkAggregationGroupMapOutputWithContext(ctx context.Context) LinkAggregationGroupMapOutput

type LinkAggregationGroupMapInput

type LinkAggregationGroupMapInput interface {
	pulumi.Input

	ToLinkAggregationGroupMapOutput() LinkAggregationGroupMapOutput
	ToLinkAggregationGroupMapOutputWithContext(context.Context) LinkAggregationGroupMapOutput
}

LinkAggregationGroupMapInput is an input type that accepts LinkAggregationGroupMap and LinkAggregationGroupMapOutput values. You can construct a concrete instance of `LinkAggregationGroupMapInput` via:

LinkAggregationGroupMap{ "key": LinkAggregationGroupArgs{...} }

type LinkAggregationGroupMapOutput

type LinkAggregationGroupMapOutput struct{ *pulumi.OutputState }

func (LinkAggregationGroupMapOutput) ElementType

func (LinkAggregationGroupMapOutput) MapIndex

func (LinkAggregationGroupMapOutput) ToLinkAggregationGroupMapOutput

func (o LinkAggregationGroupMapOutput) ToLinkAggregationGroupMapOutput() LinkAggregationGroupMapOutput

func (LinkAggregationGroupMapOutput) ToLinkAggregationGroupMapOutputWithContext

func (o LinkAggregationGroupMapOutput) ToLinkAggregationGroupMapOutputWithContext(ctx context.Context) LinkAggregationGroupMapOutput

type LinkAggregationGroupOutput

type LinkAggregationGroupOutput struct{ *pulumi.OutputState }

func (LinkAggregationGroupOutput) Arn added in v5.4.0

The ARN of the LAG.

func (LinkAggregationGroupOutput) ConnectionId added in v5.4.0

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

func (LinkAggregationGroupOutput) ConnectionsBandwidth added in v5.4.0

func (o LinkAggregationGroupOutput) ConnectionsBandwidth() pulumi.StringOutput

The bandwidth of the individual physical connections bundled by the LAG. Valid values: 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, 10Gbps and 100Gbps. Case sensitive.

func (LinkAggregationGroupOutput) ElementType

func (LinkAggregationGroupOutput) ElementType() reflect.Type

func (LinkAggregationGroupOutput) ForceDestroy added in v5.4.0

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.

func (LinkAggregationGroupOutput) HasLogicalRedundancy added in v5.4.0

func (o LinkAggregationGroupOutput) HasLogicalRedundancy() pulumi.StringOutput

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

func (LinkAggregationGroupOutput) JumboFrameCapable added in v5.4.0

func (o LinkAggregationGroupOutput) JumboFrameCapable() pulumi.BoolOutput

Indicates whether jumbo frames (9001 MTU) are supported.

func (LinkAggregationGroupOutput) Location added in v5.4.0

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

func (LinkAggregationGroupOutput) Name added in v5.4.0

The name of the LAG.

func (LinkAggregationGroupOutput) OwnerAccountId added in v5.4.0

func (o LinkAggregationGroupOutput) OwnerAccountId() pulumi.StringOutput

The ID of the AWS account that owns the LAG.

func (LinkAggregationGroupOutput) ProviderName added in v5.4.0

The name of the service provider associated with the LAG.

func (LinkAggregationGroupOutput) Tags added in v5.4.0

A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (LinkAggregationGroupOutput) TagsAll added in v5.4.0

A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (LinkAggregationGroupOutput) ToLinkAggregationGroupOutput

func (o LinkAggregationGroupOutput) ToLinkAggregationGroupOutput() LinkAggregationGroupOutput

func (LinkAggregationGroupOutput) ToLinkAggregationGroupOutputWithContext

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

type LinkAggregationGroupState

type LinkAggregationGroupState struct {
	// The ARN of the LAG.
	Arn pulumi.StringPtrInput
	// The ID of an existing dedicated connection to migrate to the LAG.
	ConnectionId pulumi.StringPtrInput
	// The bandwidth of the individual physical connections bundled by the LAG. Valid values: 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, 10Gbps and 100Gbps. 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
	// Indicates whether jumbo frames (9001 MTU) are supported.
	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
	// The ID of the AWS account that owns the LAG.
	OwnerAccountId pulumi.StringPtrInput
	// The name of the service provider associated with the LAG.
	ProviderName pulumi.StringPtrInput
	// A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
}

func (LinkAggregationGroupState) ElementType

func (LinkAggregationGroupState) ElementType() reflect.Type

type LookupConnectionArgs

type LookupConnectionArgs struct {
	// Name of the connection to retrieve.
	Name string `pulumi:"name"`
	// Map of tags for the resource.
	Tags map[string]string `pulumi:"tags"`
}

A collection of arguments for invoking getConnection.

type LookupConnectionOutputArgs

type LookupConnectionOutputArgs struct {
	// Name of the connection to retrieve.
	Name pulumi.StringInput `pulumi:"name"`
	// Map of tags for the resource.
	Tags pulumi.StringMapInput `pulumi:"tags"`
}

A collection of arguments for invoking getConnection.

func (LookupConnectionOutputArgs) ElementType

func (LookupConnectionOutputArgs) ElementType() reflect.Type

type LookupConnectionResult

type LookupConnectionResult struct {
	// ARN of the connection.
	Arn string `pulumi:"arn"`
	// Direct Connect endpoint on which the physical connection terminates.
	AwsDevice string `pulumi:"awsDevice"`
	// Bandwidth of the connection.
	Bandwidth string `pulumi:"bandwidth"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// AWS Direct Connect location where the connection is located.
	Location string `pulumi:"location"`
	Name     string `pulumi:"name"`
	// ID of the AWS account that owns the connection.
	OwnerAccountId string `pulumi:"ownerAccountId"`
	// The name of the AWS Direct Connect service provider associated with the connection.
	PartnerName string `pulumi:"partnerName"`
	// Name of the service provider associated with the connection.
	ProviderName string `pulumi:"providerName"`
	// Map of tags for the resource.
	Tags map[string]string `pulumi:"tags"`
	// The VLAN ID.
	VlanId string `pulumi:"vlanId"`
}

A collection of values returned by getConnection.

func LookupConnection

func LookupConnection(ctx *pulumi.Context, args *LookupConnectionArgs, opts ...pulumi.InvokeOption) (*LookupConnectionResult, error)

Retrieve information about a Direct Connect Connection.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := directconnect.LookupConnection(ctx, &directconnect.LookupConnectionArgs{
			Name: "tf-dx-connection",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupConnectionResultOutput

type LookupConnectionResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getConnection.

func (LookupConnectionResultOutput) Arn

ARN of the connection.

func (LookupConnectionResultOutput) AwsDevice

Direct Connect endpoint on which the physical connection terminates.

func (LookupConnectionResultOutput) Bandwidth

Bandwidth of the connection.

func (LookupConnectionResultOutput) ElementType

func (LookupConnectionResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupConnectionResultOutput) Location

AWS Direct Connect location where the connection is located.

func (LookupConnectionResultOutput) Name

func (LookupConnectionResultOutput) OwnerAccountId

ID of the AWS account that owns the connection.

func (LookupConnectionResultOutput) PartnerName added in v5.37.0

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

func (LookupConnectionResultOutput) ProviderName

Name of the service provider associated with the connection.

func (LookupConnectionResultOutput) Tags

Map of tags for the resource.

func (LookupConnectionResultOutput) ToLookupConnectionResultOutput

func (o LookupConnectionResultOutput) ToLookupConnectionResultOutput() LookupConnectionResultOutput

func (LookupConnectionResultOutput) ToLookupConnectionResultOutputWithContext

func (o LookupConnectionResultOutput) ToLookupConnectionResultOutputWithContext(ctx context.Context) LookupConnectionResultOutput

func (LookupConnectionResultOutput) VlanId added in v5.18.0

The VLAN ID.

type LookupGatewayArgs

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

A collection of arguments for invoking getGateway.

type LookupGatewayOutputArgs

type LookupGatewayOutputArgs struct {
	// Name of the gateway to retrieve.
	Name pulumi.StringInput `pulumi:"name"`
}

A collection of arguments for invoking getGateway.

func (LookupGatewayOutputArgs) ElementType

func (LookupGatewayOutputArgs) ElementType() reflect.Type

type LookupGatewayResult

type LookupGatewayResult struct {
	// 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/v5/go/aws/directconnect"
"github.com/pulumi/pulumi/sdk/v3/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 LookupGatewayResultOutput

type LookupGatewayResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getGateway.

func (LookupGatewayResultOutput) AmazonSideAsn

func (o LookupGatewayResultOutput) AmazonSideAsn() pulumi.StringOutput

ASN on the Amazon side of the connection.

func (LookupGatewayResultOutput) ElementType

func (LookupGatewayResultOutput) ElementType() reflect.Type

func (LookupGatewayResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupGatewayResultOutput) Name

func (LookupGatewayResultOutput) OwnerAccountId

func (o LookupGatewayResultOutput) OwnerAccountId() pulumi.StringOutput

AWS Account ID of the gateway.

func (LookupGatewayResultOutput) ToLookupGatewayResultOutput

func (o LookupGatewayResultOutput) ToLookupGatewayResultOutput() LookupGatewayResultOutput

func (LookupGatewayResultOutput) ToLookupGatewayResultOutputWithContext

func (o LookupGatewayResultOutput) ToLookupGatewayResultOutputWithContext(ctx context.Context) LookupGatewayResultOutput

type MacsecKeyAssociation added in v5.25.0

type MacsecKeyAssociation struct {
	pulumi.CustomResourceState

	// The MAC Security (MACsec) CAK to associate with the dedicated connection. The valid values are 64 hexadecimal characters (0-9, A-E). Required if using `ckn`.
	Cak pulumi.StringPtrOutput `pulumi:"cak"`
	// The MAC Security (MACsec) CKN to associate with the dedicated connection. The valid values are 64 hexadecimal characters (0-9, A-E). Required if using `cak`.
	Ckn pulumi.StringOutput `pulumi:"ckn"`
	// The ID of the dedicated Direct Connect connection. The connection must be a dedicated connection in the `AVAILABLE` state.
	ConnectionId pulumi.StringOutput `pulumi:"connectionId"`
	// The Amazon Resource Name (ARN) of the MAC Security (MACsec) secret key to associate with the dedicated connection.
	//
	// > **Note:** `ckn` and `cak` are mutually exclusive with `secretArn` - these arguments cannot be used together. If you use `ckn` and `cak`, you should not use `secretArn`. If you use the `secretArn` argument to reference an existing MAC Security (MACSec) secret key, you should not use `ckn` or `cak`.
	SecretArn pulumi.StringOutput `pulumi:"secretArn"`
	// The date in UTC format that the MAC Security (MACsec) secret key takes effect.
	StartOn pulumi.StringOutput `pulumi:"startOn"`
	// The state of the MAC Security (MACsec) secret key. The possible values are: associating, associated, disassociating, disassociated. See [MacSecKey](https://docs.aws.amazon.com/directconnect/latest/APIReference/API_MacSecKey.html#DX-Type-MacSecKey-state) for descriptions of each state.
	State pulumi.StringOutput `pulumi:"state"`
}

Provides a MAC Security (MACSec) secret key resource for use with Direct Connect. See [MACsec prerequisites](https://docs.aws.amazon.com/directconnect/latest/UserGuide/direct-connect-mac-sec-getting-started.html#mac-sec-prerequisites) for information about MAC Security (MACsec) prerequisites.

Creating this resource will also create a resource of type `secretsmanager.Secret` which is managed by Direct Connect. While you can import this resource into your state, because this secret is managed by Direct Connect, you will not be able to make any modifications to it. See [How AWS Direct Connect uses AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/integrating_how-services-use-secrets_directconnect.html) for details.

> **Note:** All arguments including `ckn` and `cak` will be stored in the raw state as plain-text. **Note:** The `secretArn` argument can only be used to reference a previously created MACSec key. You cannot associate a Secrets Manager secret created outside of the `directconnect.MacsecKeyAssociation` resource.

## Example Usage ### Create MACSec key with CKN and CAK

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := directconnect.LookupConnection(ctx, &directconnect.LookupConnectionArgs{
			Name: "tf-dx-connection",
		}, nil)
		if err != nil {
			return err
		}
		_, err = directconnect.NewMacsecKeyAssociation(ctx, "test", &directconnect.MacsecKeyAssociationArgs{
			ConnectionId: *pulumi.String(example.Id),
			Ckn:          pulumi.String("0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"),
			Cak:          pulumi.String("abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Create MACSec key with existing Secrets Manager secret

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleConnection, err := directconnect.LookupConnection(ctx, &directconnect.LookupConnectionArgs{
			Name: "tf-dx-connection",
		}, nil)
		if err != nil {
			return err
		}
		exampleSecret, err := secretsmanager.LookupSecret(ctx, &secretsmanager.LookupSecretArgs{
			Name: pulumi.StringRef("directconnect!prod/us-east-1/directconnect/0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = directconnect.NewMacsecKeyAssociation(ctx, "test", &directconnect.MacsecKeyAssociationArgs{
			ConnectionId: *pulumi.String(exampleConnection.Id),
			SecretArn:    *pulumi.String(exampleSecret.Arn),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetMacsecKeyAssociation added in v5.25.0

func GetMacsecKeyAssociation(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *MacsecKeyAssociationState, opts ...pulumi.ResourceOption) (*MacsecKeyAssociation, error)

GetMacsecKeyAssociation gets an existing MacsecKeyAssociation 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 NewMacsecKeyAssociation added in v5.25.0

func NewMacsecKeyAssociation(ctx *pulumi.Context,
	name string, args *MacsecKeyAssociationArgs, opts ...pulumi.ResourceOption) (*MacsecKeyAssociation, error)

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

func (*MacsecKeyAssociation) ElementType added in v5.25.0

func (*MacsecKeyAssociation) ElementType() reflect.Type

func (*MacsecKeyAssociation) ToMacsecKeyAssociationOutput added in v5.25.0

func (i *MacsecKeyAssociation) ToMacsecKeyAssociationOutput() MacsecKeyAssociationOutput

func (*MacsecKeyAssociation) ToMacsecKeyAssociationOutputWithContext added in v5.25.0

func (i *MacsecKeyAssociation) ToMacsecKeyAssociationOutputWithContext(ctx context.Context) MacsecKeyAssociationOutput

type MacsecKeyAssociationArgs added in v5.25.0

type MacsecKeyAssociationArgs struct {
	// The MAC Security (MACsec) CAK to associate with the dedicated connection. The valid values are 64 hexadecimal characters (0-9, A-E). Required if using `ckn`.
	Cak pulumi.StringPtrInput
	// The MAC Security (MACsec) CKN to associate with the dedicated connection. The valid values are 64 hexadecimal characters (0-9, A-E). Required if using `cak`.
	Ckn pulumi.StringPtrInput
	// The ID of the dedicated Direct Connect connection. The connection must be a dedicated connection in the `AVAILABLE` state.
	ConnectionId pulumi.StringInput
	// The Amazon Resource Name (ARN) of the MAC Security (MACsec) secret key to associate with the dedicated connection.
	//
	// > **Note:** `ckn` and `cak` are mutually exclusive with `secretArn` - these arguments cannot be used together. If you use `ckn` and `cak`, you should not use `secretArn`. If you use the `secretArn` argument to reference an existing MAC Security (MACSec) secret key, you should not use `ckn` or `cak`.
	SecretArn pulumi.StringPtrInput
}

The set of arguments for constructing a MacsecKeyAssociation resource.

func (MacsecKeyAssociationArgs) ElementType added in v5.25.0

func (MacsecKeyAssociationArgs) ElementType() reflect.Type

type MacsecKeyAssociationArray added in v5.25.0

type MacsecKeyAssociationArray []MacsecKeyAssociationInput

func (MacsecKeyAssociationArray) ElementType added in v5.25.0

func (MacsecKeyAssociationArray) ElementType() reflect.Type

func (MacsecKeyAssociationArray) ToMacsecKeyAssociationArrayOutput added in v5.25.0

func (i MacsecKeyAssociationArray) ToMacsecKeyAssociationArrayOutput() MacsecKeyAssociationArrayOutput

func (MacsecKeyAssociationArray) ToMacsecKeyAssociationArrayOutputWithContext added in v5.25.0

func (i MacsecKeyAssociationArray) ToMacsecKeyAssociationArrayOutputWithContext(ctx context.Context) MacsecKeyAssociationArrayOutput

type MacsecKeyAssociationArrayInput added in v5.25.0

type MacsecKeyAssociationArrayInput interface {
	pulumi.Input

	ToMacsecKeyAssociationArrayOutput() MacsecKeyAssociationArrayOutput
	ToMacsecKeyAssociationArrayOutputWithContext(context.Context) MacsecKeyAssociationArrayOutput
}

MacsecKeyAssociationArrayInput is an input type that accepts MacsecKeyAssociationArray and MacsecKeyAssociationArrayOutput values. You can construct a concrete instance of `MacsecKeyAssociationArrayInput` via:

MacsecKeyAssociationArray{ MacsecKeyAssociationArgs{...} }

type MacsecKeyAssociationArrayOutput added in v5.25.0

type MacsecKeyAssociationArrayOutput struct{ *pulumi.OutputState }

func (MacsecKeyAssociationArrayOutput) ElementType added in v5.25.0

func (MacsecKeyAssociationArrayOutput) Index added in v5.25.0

func (MacsecKeyAssociationArrayOutput) ToMacsecKeyAssociationArrayOutput added in v5.25.0

func (o MacsecKeyAssociationArrayOutput) ToMacsecKeyAssociationArrayOutput() MacsecKeyAssociationArrayOutput

func (MacsecKeyAssociationArrayOutput) ToMacsecKeyAssociationArrayOutputWithContext added in v5.25.0

func (o MacsecKeyAssociationArrayOutput) ToMacsecKeyAssociationArrayOutputWithContext(ctx context.Context) MacsecKeyAssociationArrayOutput

type MacsecKeyAssociationInput added in v5.25.0

type MacsecKeyAssociationInput interface {
	pulumi.Input

	ToMacsecKeyAssociationOutput() MacsecKeyAssociationOutput
	ToMacsecKeyAssociationOutputWithContext(ctx context.Context) MacsecKeyAssociationOutput
}

type MacsecKeyAssociationMap added in v5.25.0

type MacsecKeyAssociationMap map[string]MacsecKeyAssociationInput

func (MacsecKeyAssociationMap) ElementType added in v5.25.0

func (MacsecKeyAssociationMap) ElementType() reflect.Type

func (MacsecKeyAssociationMap) ToMacsecKeyAssociationMapOutput added in v5.25.0

func (i MacsecKeyAssociationMap) ToMacsecKeyAssociationMapOutput() MacsecKeyAssociationMapOutput

func (MacsecKeyAssociationMap) ToMacsecKeyAssociationMapOutputWithContext added in v5.25.0

func (i MacsecKeyAssociationMap) ToMacsecKeyAssociationMapOutputWithContext(ctx context.Context) MacsecKeyAssociationMapOutput

type MacsecKeyAssociationMapInput added in v5.25.0

type MacsecKeyAssociationMapInput interface {
	pulumi.Input

	ToMacsecKeyAssociationMapOutput() MacsecKeyAssociationMapOutput
	ToMacsecKeyAssociationMapOutputWithContext(context.Context) MacsecKeyAssociationMapOutput
}

MacsecKeyAssociationMapInput is an input type that accepts MacsecKeyAssociationMap and MacsecKeyAssociationMapOutput values. You can construct a concrete instance of `MacsecKeyAssociationMapInput` via:

MacsecKeyAssociationMap{ "key": MacsecKeyAssociationArgs{...} }

type MacsecKeyAssociationMapOutput added in v5.25.0

type MacsecKeyAssociationMapOutput struct{ *pulumi.OutputState }

func (MacsecKeyAssociationMapOutput) ElementType added in v5.25.0

func (MacsecKeyAssociationMapOutput) MapIndex added in v5.25.0

func (MacsecKeyAssociationMapOutput) ToMacsecKeyAssociationMapOutput added in v5.25.0

func (o MacsecKeyAssociationMapOutput) ToMacsecKeyAssociationMapOutput() MacsecKeyAssociationMapOutput

func (MacsecKeyAssociationMapOutput) ToMacsecKeyAssociationMapOutputWithContext added in v5.25.0

func (o MacsecKeyAssociationMapOutput) ToMacsecKeyAssociationMapOutputWithContext(ctx context.Context) MacsecKeyAssociationMapOutput

type MacsecKeyAssociationOutput added in v5.25.0

type MacsecKeyAssociationOutput struct{ *pulumi.OutputState }

func (MacsecKeyAssociationOutput) Cak added in v5.25.0

The MAC Security (MACsec) CAK to associate with the dedicated connection. The valid values are 64 hexadecimal characters (0-9, A-E). Required if using `ckn`.

func (MacsecKeyAssociationOutput) Ckn added in v5.25.0

The MAC Security (MACsec) CKN to associate with the dedicated connection. The valid values are 64 hexadecimal characters (0-9, A-E). Required if using `cak`.

func (MacsecKeyAssociationOutput) ConnectionId added in v5.25.0

The ID of the dedicated Direct Connect connection. The connection must be a dedicated connection in the `AVAILABLE` state.

func (MacsecKeyAssociationOutput) ElementType added in v5.25.0

func (MacsecKeyAssociationOutput) ElementType() reflect.Type

func (MacsecKeyAssociationOutput) SecretArn added in v5.25.0

The Amazon Resource Name (ARN) of the MAC Security (MACsec) secret key to associate with the dedicated connection.

> **Note:** `ckn` and `cak` are mutually exclusive with `secretArn` - these arguments cannot be used together. If you use `ckn` and `cak`, you should not use `secretArn`. If you use the `secretArn` argument to reference an existing MAC Security (MACSec) secret key, you should not use `ckn` or `cak`.

func (MacsecKeyAssociationOutput) StartOn added in v5.25.0

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

func (MacsecKeyAssociationOutput) State added in v5.25.0

The state of the MAC Security (MACsec) secret key. The possible values are: associating, associated, disassociating, disassociated. See [MacSecKey](https://docs.aws.amazon.com/directconnect/latest/APIReference/API_MacSecKey.html#DX-Type-MacSecKey-state) for descriptions of each state.

func (MacsecKeyAssociationOutput) ToMacsecKeyAssociationOutput added in v5.25.0

func (o MacsecKeyAssociationOutput) ToMacsecKeyAssociationOutput() MacsecKeyAssociationOutput

func (MacsecKeyAssociationOutput) ToMacsecKeyAssociationOutputWithContext added in v5.25.0

func (o MacsecKeyAssociationOutput) ToMacsecKeyAssociationOutputWithContext(ctx context.Context) MacsecKeyAssociationOutput

type MacsecKeyAssociationState added in v5.25.0

type MacsecKeyAssociationState struct {
	// The MAC Security (MACsec) CAK to associate with the dedicated connection. The valid values are 64 hexadecimal characters (0-9, A-E). Required if using `ckn`.
	Cak pulumi.StringPtrInput
	// The MAC Security (MACsec) CKN to associate with the dedicated connection. The valid values are 64 hexadecimal characters (0-9, A-E). Required if using `cak`.
	Ckn pulumi.StringPtrInput
	// The ID of the dedicated Direct Connect connection. The connection must be a dedicated connection in the `AVAILABLE` state.
	ConnectionId pulumi.StringPtrInput
	// The Amazon Resource Name (ARN) of the MAC Security (MACsec) secret key to associate with the dedicated connection.
	//
	// > **Note:** `ckn` and `cak` are mutually exclusive with `secretArn` - these arguments cannot be used together. If you use `ckn` and `cak`, you should not use `secretArn`. If you use the `secretArn` argument to reference an existing MAC Security (MACSec) secret key, you should not use `ckn` or `cak`.
	SecretArn pulumi.StringPtrInput
	// The date in UTC format that the MAC Security (MACsec) secret key takes effect.
	StartOn pulumi.StringPtrInput
	// The state of the MAC Security (MACsec) secret key. The possible values are: associating, associated, disassociating, disassociated. See [MacSecKey](https://docs.aws.amazon.com/directconnect/latest/APIReference/API_MacSecKey.html#DX-Type-MacSecKey-state) for descriptions of each state.
	State pulumi.StringPtrInput
}

func (MacsecKeyAssociationState) ElementType added in v5.25.0

func (MacsecKeyAssociationState) ElementType() reflect.Type

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"`
	// Indicates whether to enable or disable SiteLink.
	SitelinkEnabled pulumi.BoolPtrOutput `pulumi:"sitelinkEnabled"`
	// A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// 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/v5/go/aws/directconnect"
"github.com/pulumi/pulumi/sdk/v3/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

func (*PrivateVirtualInterface) ElementType() reflect.Type

func (*PrivateVirtualInterface) ToPrivateVirtualInterfaceOutput

func (i *PrivateVirtualInterface) ToPrivateVirtualInterfaceOutput() PrivateVirtualInterfaceOutput

func (*PrivateVirtualInterface) ToPrivateVirtualInterfaceOutputWithContext

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
	// Indicates whether to enable or disable SiteLink.
	SitelinkEnabled pulumi.BoolPtrInput
	// A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	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 PrivateVirtualInterfaceArray

type PrivateVirtualInterfaceArray []PrivateVirtualInterfaceInput

func (PrivateVirtualInterfaceArray) ElementType

func (PrivateVirtualInterfaceArray) ToPrivateVirtualInterfaceArrayOutput

func (i PrivateVirtualInterfaceArray) ToPrivateVirtualInterfaceArrayOutput() PrivateVirtualInterfaceArrayOutput

func (PrivateVirtualInterfaceArray) ToPrivateVirtualInterfaceArrayOutputWithContext

func (i PrivateVirtualInterfaceArray) ToPrivateVirtualInterfaceArrayOutputWithContext(ctx context.Context) PrivateVirtualInterfaceArrayOutput

type PrivateVirtualInterfaceArrayInput

type PrivateVirtualInterfaceArrayInput interface {
	pulumi.Input

	ToPrivateVirtualInterfaceArrayOutput() PrivateVirtualInterfaceArrayOutput
	ToPrivateVirtualInterfaceArrayOutputWithContext(context.Context) PrivateVirtualInterfaceArrayOutput
}

PrivateVirtualInterfaceArrayInput is an input type that accepts PrivateVirtualInterfaceArray and PrivateVirtualInterfaceArrayOutput values. You can construct a concrete instance of `PrivateVirtualInterfaceArrayInput` via:

PrivateVirtualInterfaceArray{ PrivateVirtualInterfaceArgs{...} }

type PrivateVirtualInterfaceArrayOutput

type PrivateVirtualInterfaceArrayOutput struct{ *pulumi.OutputState }

func (PrivateVirtualInterfaceArrayOutput) ElementType

func (PrivateVirtualInterfaceArrayOutput) Index

func (PrivateVirtualInterfaceArrayOutput) ToPrivateVirtualInterfaceArrayOutput

func (o PrivateVirtualInterfaceArrayOutput) ToPrivateVirtualInterfaceArrayOutput() PrivateVirtualInterfaceArrayOutput

func (PrivateVirtualInterfaceArrayOutput) ToPrivateVirtualInterfaceArrayOutputWithContext

func (o PrivateVirtualInterfaceArrayOutput) ToPrivateVirtualInterfaceArrayOutputWithContext(ctx context.Context) PrivateVirtualInterfaceArrayOutput

type PrivateVirtualInterfaceInput

type PrivateVirtualInterfaceInput interface {
	pulumi.Input

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

type PrivateVirtualInterfaceMap

type PrivateVirtualInterfaceMap map[string]PrivateVirtualInterfaceInput

func (PrivateVirtualInterfaceMap) ElementType

func (PrivateVirtualInterfaceMap) ElementType() reflect.Type

func (PrivateVirtualInterfaceMap) ToPrivateVirtualInterfaceMapOutput

func (i PrivateVirtualInterfaceMap) ToPrivateVirtualInterfaceMapOutput() PrivateVirtualInterfaceMapOutput

func (PrivateVirtualInterfaceMap) ToPrivateVirtualInterfaceMapOutputWithContext

func (i PrivateVirtualInterfaceMap) ToPrivateVirtualInterfaceMapOutputWithContext(ctx context.Context) PrivateVirtualInterfaceMapOutput

type PrivateVirtualInterfaceMapInput

type PrivateVirtualInterfaceMapInput interface {
	pulumi.Input

	ToPrivateVirtualInterfaceMapOutput() PrivateVirtualInterfaceMapOutput
	ToPrivateVirtualInterfaceMapOutputWithContext(context.Context) PrivateVirtualInterfaceMapOutput
}

PrivateVirtualInterfaceMapInput is an input type that accepts PrivateVirtualInterfaceMap and PrivateVirtualInterfaceMapOutput values. You can construct a concrete instance of `PrivateVirtualInterfaceMapInput` via:

PrivateVirtualInterfaceMap{ "key": PrivateVirtualInterfaceArgs{...} }

type PrivateVirtualInterfaceMapOutput

type PrivateVirtualInterfaceMapOutput struct{ *pulumi.OutputState }

func (PrivateVirtualInterfaceMapOutput) ElementType

func (PrivateVirtualInterfaceMapOutput) MapIndex

func (PrivateVirtualInterfaceMapOutput) ToPrivateVirtualInterfaceMapOutput

func (o PrivateVirtualInterfaceMapOutput) ToPrivateVirtualInterfaceMapOutput() PrivateVirtualInterfaceMapOutput

func (PrivateVirtualInterfaceMapOutput) ToPrivateVirtualInterfaceMapOutputWithContext

func (o PrivateVirtualInterfaceMapOutput) ToPrivateVirtualInterfaceMapOutputWithContext(ctx context.Context) PrivateVirtualInterfaceMapOutput

type PrivateVirtualInterfaceOutput

type PrivateVirtualInterfaceOutput struct{ *pulumi.OutputState }

func (PrivateVirtualInterfaceOutput) AddressFamily added in v5.4.0

The address family for the BGP peer. ` ipv4 ` or `ipv6`.

func (PrivateVirtualInterfaceOutput) AmazonAddress added in v5.4.0

The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.

func (PrivateVirtualInterfaceOutput) AmazonSideAsn added in v5.4.0

func (PrivateVirtualInterfaceOutput) Arn added in v5.4.0

The ARN of the virtual interface.

func (PrivateVirtualInterfaceOutput) AwsDevice added in v5.4.0

The Direct Connect endpoint on which the virtual interface terminates.

func (PrivateVirtualInterfaceOutput) BgpAsn added in v5.4.0

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

func (PrivateVirtualInterfaceOutput) BgpAuthKey added in v5.4.0

The authentication key for BGP configuration.

func (PrivateVirtualInterfaceOutput) ConnectionId added in v5.4.0

The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.

func (PrivateVirtualInterfaceOutput) CustomerAddress added in v5.4.0

The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.

func (PrivateVirtualInterfaceOutput) DxGatewayId added in v5.4.0

The ID of the Direct Connect gateway to which to connect the virtual interface.

func (PrivateVirtualInterfaceOutput) ElementType

func (PrivateVirtualInterfaceOutput) JumboFrameCapable added in v5.4.0

func (o PrivateVirtualInterfaceOutput) JumboFrameCapable() pulumi.BoolOutput

Indicates whether jumbo frames (9001 MTU) are supported.

func (PrivateVirtualInterfaceOutput) Mtu added in v5.4.0

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

func (PrivateVirtualInterfaceOutput) Name added in v5.4.0

The name for the virtual interface.

func (PrivateVirtualInterfaceOutput) SitelinkEnabled added in v5.4.0

Indicates whether to enable or disable SiteLink.

func (PrivateVirtualInterfaceOutput) Tags added in v5.4.0

A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (PrivateVirtualInterfaceOutput) TagsAll added in v5.4.0

A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (PrivateVirtualInterfaceOutput) ToPrivateVirtualInterfaceOutput

func (o PrivateVirtualInterfaceOutput) ToPrivateVirtualInterfaceOutput() PrivateVirtualInterfaceOutput

func (PrivateVirtualInterfaceOutput) ToPrivateVirtualInterfaceOutputWithContext

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

func (PrivateVirtualInterfaceOutput) Vlan added in v5.4.0

The VLAN ID.

func (PrivateVirtualInterfaceOutput) VpnGatewayId added in v5.4.0

The ID of the virtual private gateway to which to connect the virtual interface.

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
	// Indicates whether to enable or disable SiteLink.
	SitelinkEnabled pulumi.BoolPtrInput
	// A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll 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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// 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/v5/go/aws/directconnect"
"github.com/pulumi/pulumi/sdk/v3/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

func (*PublicVirtualInterface) ElementType() reflect.Type

func (*PublicVirtualInterface) ToPublicVirtualInterfaceOutput

func (i *PublicVirtualInterface) ToPublicVirtualInterfaceOutput() PublicVirtualInterfaceOutput

func (*PublicVirtualInterface) ToPublicVirtualInterfaceOutputWithContext

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	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 PublicVirtualInterfaceArray

type PublicVirtualInterfaceArray []PublicVirtualInterfaceInput

func (PublicVirtualInterfaceArray) ElementType

func (PublicVirtualInterfaceArray) ToPublicVirtualInterfaceArrayOutput

func (i PublicVirtualInterfaceArray) ToPublicVirtualInterfaceArrayOutput() PublicVirtualInterfaceArrayOutput

func (PublicVirtualInterfaceArray) ToPublicVirtualInterfaceArrayOutputWithContext

func (i PublicVirtualInterfaceArray) ToPublicVirtualInterfaceArrayOutputWithContext(ctx context.Context) PublicVirtualInterfaceArrayOutput

type PublicVirtualInterfaceArrayInput

type PublicVirtualInterfaceArrayInput interface {
	pulumi.Input

	ToPublicVirtualInterfaceArrayOutput() PublicVirtualInterfaceArrayOutput
	ToPublicVirtualInterfaceArrayOutputWithContext(context.Context) PublicVirtualInterfaceArrayOutput
}

PublicVirtualInterfaceArrayInput is an input type that accepts PublicVirtualInterfaceArray and PublicVirtualInterfaceArrayOutput values. You can construct a concrete instance of `PublicVirtualInterfaceArrayInput` via:

PublicVirtualInterfaceArray{ PublicVirtualInterfaceArgs{...} }

type PublicVirtualInterfaceArrayOutput

type PublicVirtualInterfaceArrayOutput struct{ *pulumi.OutputState }

func (PublicVirtualInterfaceArrayOutput) ElementType

func (PublicVirtualInterfaceArrayOutput) Index

func (PublicVirtualInterfaceArrayOutput) ToPublicVirtualInterfaceArrayOutput

func (o PublicVirtualInterfaceArrayOutput) ToPublicVirtualInterfaceArrayOutput() PublicVirtualInterfaceArrayOutput

func (PublicVirtualInterfaceArrayOutput) ToPublicVirtualInterfaceArrayOutputWithContext

func (o PublicVirtualInterfaceArrayOutput) ToPublicVirtualInterfaceArrayOutputWithContext(ctx context.Context) PublicVirtualInterfaceArrayOutput

type PublicVirtualInterfaceInput

type PublicVirtualInterfaceInput interface {
	pulumi.Input

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

type PublicVirtualInterfaceMap

type PublicVirtualInterfaceMap map[string]PublicVirtualInterfaceInput

func (PublicVirtualInterfaceMap) ElementType

func (PublicVirtualInterfaceMap) ElementType() reflect.Type

func (PublicVirtualInterfaceMap) ToPublicVirtualInterfaceMapOutput

func (i PublicVirtualInterfaceMap) ToPublicVirtualInterfaceMapOutput() PublicVirtualInterfaceMapOutput

func (PublicVirtualInterfaceMap) ToPublicVirtualInterfaceMapOutputWithContext

func (i PublicVirtualInterfaceMap) ToPublicVirtualInterfaceMapOutputWithContext(ctx context.Context) PublicVirtualInterfaceMapOutput

type PublicVirtualInterfaceMapInput

type PublicVirtualInterfaceMapInput interface {
	pulumi.Input

	ToPublicVirtualInterfaceMapOutput() PublicVirtualInterfaceMapOutput
	ToPublicVirtualInterfaceMapOutputWithContext(context.Context) PublicVirtualInterfaceMapOutput
}

PublicVirtualInterfaceMapInput is an input type that accepts PublicVirtualInterfaceMap and PublicVirtualInterfaceMapOutput values. You can construct a concrete instance of `PublicVirtualInterfaceMapInput` via:

PublicVirtualInterfaceMap{ "key": PublicVirtualInterfaceArgs{...} }

type PublicVirtualInterfaceMapOutput

type PublicVirtualInterfaceMapOutput struct{ *pulumi.OutputState }

func (PublicVirtualInterfaceMapOutput) ElementType

func (PublicVirtualInterfaceMapOutput) MapIndex

func (PublicVirtualInterfaceMapOutput) ToPublicVirtualInterfaceMapOutput

func (o PublicVirtualInterfaceMapOutput) ToPublicVirtualInterfaceMapOutput() PublicVirtualInterfaceMapOutput

func (PublicVirtualInterfaceMapOutput) ToPublicVirtualInterfaceMapOutputWithContext

func (o PublicVirtualInterfaceMapOutput) ToPublicVirtualInterfaceMapOutputWithContext(ctx context.Context) PublicVirtualInterfaceMapOutput

type PublicVirtualInterfaceOutput

type PublicVirtualInterfaceOutput struct{ *pulumi.OutputState }

func (PublicVirtualInterfaceOutput) AddressFamily added in v5.4.0

The address family for the BGP peer. ` ipv4 ` or `ipv6`.

func (PublicVirtualInterfaceOutput) AmazonAddress added in v5.4.0

The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.

func (PublicVirtualInterfaceOutput) AmazonSideAsn added in v5.4.0

func (PublicVirtualInterfaceOutput) Arn added in v5.4.0

The ARN of the virtual interface.

func (PublicVirtualInterfaceOutput) AwsDevice added in v5.4.0

The Direct Connect endpoint on which the virtual interface terminates.

func (PublicVirtualInterfaceOutput) BgpAsn added in v5.4.0

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

func (PublicVirtualInterfaceOutput) BgpAuthKey added in v5.4.0

The authentication key for BGP configuration.

func (PublicVirtualInterfaceOutput) ConnectionId added in v5.4.0

The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.

func (PublicVirtualInterfaceOutput) CustomerAddress added in v5.4.0

func (o PublicVirtualInterfaceOutput) CustomerAddress() pulumi.StringOutput

The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.

func (PublicVirtualInterfaceOutput) ElementType

func (PublicVirtualInterfaceOutput) Name added in v5.4.0

The name for the virtual interface.

func (PublicVirtualInterfaceOutput) RouteFilterPrefixes added in v5.4.0

func (o PublicVirtualInterfaceOutput) RouteFilterPrefixes() pulumi.StringArrayOutput

A list of routes to be advertised to the AWS network in this region.

func (PublicVirtualInterfaceOutput) Tags added in v5.4.0

A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (PublicVirtualInterfaceOutput) TagsAll added in v5.4.0

A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (PublicVirtualInterfaceOutput) ToPublicVirtualInterfaceOutput

func (o PublicVirtualInterfaceOutput) ToPublicVirtualInterfaceOutput() PublicVirtualInterfaceOutput

func (PublicVirtualInterfaceOutput) ToPublicVirtualInterfaceOutputWithContext

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

func (PublicVirtualInterfaceOutput) Vlan added in v5.4.0

The VLAN ID.

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll 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"`
	// Indicates whether to enable or disable SiteLink.
	SitelinkEnabled pulumi.BoolPtrOutput `pulumi:"sitelinkEnabled"`
	// A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// 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/v5/go/aws/directconnect"
"github.com/pulumi/pulumi/sdk/v3/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

func (*TransitVirtualInterface) ElementType() reflect.Type

func (*TransitVirtualInterface) ToTransitVirtualInterfaceOutput

func (i *TransitVirtualInterface) ToTransitVirtualInterfaceOutput() TransitVirtualInterfaceOutput

func (*TransitVirtualInterface) ToTransitVirtualInterfaceOutputWithContext

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
	// Indicates whether to enable or disable SiteLink.
	SitelinkEnabled pulumi.BoolPtrInput
	// A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// The VLAN ID.
	Vlan pulumi.IntInput
}

The set of arguments for constructing a TransitVirtualInterface resource.

func (TransitVirtualInterfaceArgs) ElementType

type TransitVirtualInterfaceArray

type TransitVirtualInterfaceArray []TransitVirtualInterfaceInput

func (TransitVirtualInterfaceArray) ElementType

func (TransitVirtualInterfaceArray) ToTransitVirtualInterfaceArrayOutput

func (i TransitVirtualInterfaceArray) ToTransitVirtualInterfaceArrayOutput() TransitVirtualInterfaceArrayOutput

func (TransitVirtualInterfaceArray) ToTransitVirtualInterfaceArrayOutputWithContext

func (i TransitVirtualInterfaceArray) ToTransitVirtualInterfaceArrayOutputWithContext(ctx context.Context) TransitVirtualInterfaceArrayOutput

type TransitVirtualInterfaceArrayInput

type TransitVirtualInterfaceArrayInput interface {
	pulumi.Input

	ToTransitVirtualInterfaceArrayOutput() TransitVirtualInterfaceArrayOutput
	ToTransitVirtualInterfaceArrayOutputWithContext(context.Context) TransitVirtualInterfaceArrayOutput
}

TransitVirtualInterfaceArrayInput is an input type that accepts TransitVirtualInterfaceArray and TransitVirtualInterfaceArrayOutput values. You can construct a concrete instance of `TransitVirtualInterfaceArrayInput` via:

TransitVirtualInterfaceArray{ TransitVirtualInterfaceArgs{...} }

type TransitVirtualInterfaceArrayOutput

type TransitVirtualInterfaceArrayOutput struct{ *pulumi.OutputState }

func (TransitVirtualInterfaceArrayOutput) ElementType

func (TransitVirtualInterfaceArrayOutput) Index

func (TransitVirtualInterfaceArrayOutput) ToTransitVirtualInterfaceArrayOutput

func (o TransitVirtualInterfaceArrayOutput) ToTransitVirtualInterfaceArrayOutput() TransitVirtualInterfaceArrayOutput

func (TransitVirtualInterfaceArrayOutput) ToTransitVirtualInterfaceArrayOutputWithContext

func (o TransitVirtualInterfaceArrayOutput) ToTransitVirtualInterfaceArrayOutputWithContext(ctx context.Context) TransitVirtualInterfaceArrayOutput

type TransitVirtualInterfaceInput

type TransitVirtualInterfaceInput interface {
	pulumi.Input

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

type TransitVirtualInterfaceMap

type TransitVirtualInterfaceMap map[string]TransitVirtualInterfaceInput

func (TransitVirtualInterfaceMap) ElementType

func (TransitVirtualInterfaceMap) ElementType() reflect.Type

func (TransitVirtualInterfaceMap) ToTransitVirtualInterfaceMapOutput

func (i TransitVirtualInterfaceMap) ToTransitVirtualInterfaceMapOutput() TransitVirtualInterfaceMapOutput

func (TransitVirtualInterfaceMap) ToTransitVirtualInterfaceMapOutputWithContext

func (i TransitVirtualInterfaceMap) ToTransitVirtualInterfaceMapOutputWithContext(ctx context.Context) TransitVirtualInterfaceMapOutput

type TransitVirtualInterfaceMapInput

type TransitVirtualInterfaceMapInput interface {
	pulumi.Input

	ToTransitVirtualInterfaceMapOutput() TransitVirtualInterfaceMapOutput
	ToTransitVirtualInterfaceMapOutputWithContext(context.Context) TransitVirtualInterfaceMapOutput
}

TransitVirtualInterfaceMapInput is an input type that accepts TransitVirtualInterfaceMap and TransitVirtualInterfaceMapOutput values. You can construct a concrete instance of `TransitVirtualInterfaceMapInput` via:

TransitVirtualInterfaceMap{ "key": TransitVirtualInterfaceArgs{...} }

type TransitVirtualInterfaceMapOutput

type TransitVirtualInterfaceMapOutput struct{ *pulumi.OutputState }

func (TransitVirtualInterfaceMapOutput) ElementType

func (TransitVirtualInterfaceMapOutput) MapIndex

func (TransitVirtualInterfaceMapOutput) ToTransitVirtualInterfaceMapOutput

func (o TransitVirtualInterfaceMapOutput) ToTransitVirtualInterfaceMapOutput() TransitVirtualInterfaceMapOutput

func (TransitVirtualInterfaceMapOutput) ToTransitVirtualInterfaceMapOutputWithContext

func (o TransitVirtualInterfaceMapOutput) ToTransitVirtualInterfaceMapOutputWithContext(ctx context.Context) TransitVirtualInterfaceMapOutput

type TransitVirtualInterfaceOutput

type TransitVirtualInterfaceOutput struct{ *pulumi.OutputState }

func (TransitVirtualInterfaceOutput) AddressFamily added in v5.4.0

The address family for the BGP peer. ` ipv4 ` or `ipv6`.

func (TransitVirtualInterfaceOutput) AmazonAddress added in v5.4.0

The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.

func (TransitVirtualInterfaceOutput) AmazonSideAsn added in v5.4.0

func (TransitVirtualInterfaceOutput) Arn added in v5.4.0

The ARN of the virtual interface.

func (TransitVirtualInterfaceOutput) AwsDevice added in v5.4.0

The Direct Connect endpoint on which the virtual interface terminates.

func (TransitVirtualInterfaceOutput) BgpAsn added in v5.4.0

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

func (TransitVirtualInterfaceOutput) BgpAuthKey added in v5.4.0

The authentication key for BGP configuration.

func (TransitVirtualInterfaceOutput) ConnectionId added in v5.4.0

The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.

func (TransitVirtualInterfaceOutput) CustomerAddress added in v5.4.0

The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.

func (TransitVirtualInterfaceOutput) DxGatewayId added in v5.4.0

The ID of the Direct Connect gateway to which to connect the virtual interface.

func (TransitVirtualInterfaceOutput) ElementType

func (TransitVirtualInterfaceOutput) JumboFrameCapable added in v5.4.0

func (o TransitVirtualInterfaceOutput) JumboFrameCapable() pulumi.BoolOutput

Indicates whether jumbo frames (8500 MTU) are supported.

func (TransitVirtualInterfaceOutput) Mtu added in v5.4.0

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

func (TransitVirtualInterfaceOutput) Name added in v5.4.0

The name for the virtual interface.

func (TransitVirtualInterfaceOutput) SitelinkEnabled added in v5.4.0

Indicates whether to enable or disable SiteLink.

func (TransitVirtualInterfaceOutput) Tags added in v5.4.0

A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (TransitVirtualInterfaceOutput) TagsAll added in v5.4.0

A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (TransitVirtualInterfaceOutput) ToTransitVirtualInterfaceOutput

func (o TransitVirtualInterfaceOutput) ToTransitVirtualInterfaceOutput() TransitVirtualInterfaceOutput

func (TransitVirtualInterfaceOutput) ToTransitVirtualInterfaceOutputWithContext

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

func (TransitVirtualInterfaceOutput) Vlan added in v5.4.0

The VLAN ID.

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
	// Indicates whether to enable or disable SiteLink.
	SitelinkEnabled pulumi.BoolPtrInput
	// A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll 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