Namespace Pulumi.Aws.DirectConnect
Classes
BgpPeer
Provides a Direct Connect BGP peer resource.
Example Usage
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var peer = new Aws.DirectConnect.BgpPeer("peer", new Aws.DirectConnect.BgpPeerArgs
{
AddressFamily = "ipv6",
BgpAsn = 65351,
VirtualInterfaceId = aws_dx_private_virtual_interface.Foo.Id,
});
}
}
BgpPeerArgs
BgpPeerState
Connection
Provides a Connection of Direct Connect.
Example Usage
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var hoge = new Aws.DirectConnect.Connection("hoge", new Aws.DirectConnect.ConnectionArgs
{
Bandwidth = "1Gbps",
Location = "EqDC2",
});
}
}
ConnectionArgs
ConnectionAssociation
Associates a Direct Connect Connection with a LAG.
Example Usage
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var exampleConnection = new Aws.DirectConnect.Connection("exampleConnection", new Aws.DirectConnect.ConnectionArgs
{
Bandwidth = "1Gbps",
Location = "EqSe2",
});
var exampleLinkAggregationGroup = new Aws.DirectConnect.LinkAggregationGroup("exampleLinkAggregationGroup", new Aws.DirectConnect.LinkAggregationGroupArgs
{
ConnectionsBandwidth = "1Gbps",
Location = "EqSe2",
});
var exampleConnectionAssociation = new Aws.DirectConnect.ConnectionAssociation("exampleConnectionAssociation", new Aws.DirectConnect.ConnectionAssociationArgs
{
ConnectionId = exampleConnection.Id,
LagId = exampleLinkAggregationGroup.Id,
});
}
}
ConnectionAssociationArgs
ConnectionAssociationState
ConnectionState
Gateway
Provides a Direct Connect Gateway.
Example Usage
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var example = new Aws.DirectConnect.Gateway("example", new Aws.DirectConnect.GatewayArgs
{
AmazonSideAsn = "64512",
});
}
}
GatewayArgs
GatewayAssociation
Associates a Direct Connect Gateway with a VGW or transit gateway.
To create a cross-account association, create an aws.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 aws.directconnect.GatewayAssociation resource with the proposal_id and associated_gateway_owner_account_id attributes set.
Example Usage
VPN Gateway Association
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var exampleGateway = new Aws.DirectConnect.Gateway("exampleGateway", new Aws.DirectConnect.GatewayArgs
{
AmazonSideAsn = "64512",
});
var exampleVpc = new Aws.Ec2.Vpc("exampleVpc", new Aws.Ec2.VpcArgs
{
CidrBlock = "10.255.255.0/28",
});
var exampleVpnGateway = new Aws.Ec2.VpnGateway("exampleVpnGateway", new Aws.Ec2.VpnGatewayArgs
{
VpcId = exampleVpc.Id,
});
var exampleGatewayAssociation = new Aws.DirectConnect.GatewayAssociation("exampleGatewayAssociation", new Aws.DirectConnect.GatewayAssociationArgs
{
AssociatedGatewayId = exampleVpnGateway.Id,
DxGatewayId = exampleGateway.Id,
});
}
}
Transit Gateway Association
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var exampleGateway = new Aws.DirectConnect.Gateway("exampleGateway", new Aws.DirectConnect.GatewayArgs
{
AmazonSideAsn = "64512",
});
var exampleTransitGateway = new Aws.Ec2TransitGateway.TransitGateway("exampleTransitGateway", new Aws.Ec2TransitGateway.TransitGatewayArgs
{
});
var exampleGatewayAssociation = new Aws.DirectConnect.GatewayAssociation("exampleGatewayAssociation", new Aws.DirectConnect.GatewayAssociationArgs
{
AllowedPrefixes =
{
"10.255.255.0/30",
"10.255.255.8/30",
},
AssociatedGatewayId = exampleTransitGateway.Id,
DxGatewayId = exampleGateway.Id,
});
}
}
Allowed Prefixes
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var exampleGateway = new Aws.DirectConnect.Gateway("exampleGateway", new Aws.DirectConnect.GatewayArgs
{
AmazonSideAsn = "64512",
});
var exampleVpc = new Aws.Ec2.Vpc("exampleVpc", new Aws.Ec2.VpcArgs
{
CidrBlock = "10.255.255.0/28",
});
var exampleVpnGateway = new Aws.Ec2.VpnGateway("exampleVpnGateway", new Aws.Ec2.VpnGatewayArgs
{
VpcId = exampleVpc.Id,
});
var exampleGatewayAssociation = new Aws.DirectConnect.GatewayAssociation("exampleGatewayAssociation", new Aws.DirectConnect.GatewayAssociationArgs
{
AllowedPrefixes =
{
"210.52.109.0/24",
"175.45.176.0/22",
},
AssociatedGatewayId = exampleVpnGateway.Id,
DxGatewayId = exampleGateway.Id,
});
}
}
GatewayAssociationArgs
GatewayAssociationProposal
Manages a Direct Connect Gateway Association Proposal, typically for enabling cross-account associations. For single account associations, see the aws.directconnect.GatewayAssociation resource.
Example Usage
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var example = new Aws.DirectConnect.GatewayAssociationProposal("example", new Aws.DirectConnect.GatewayAssociationProposalArgs
{
AssociatedGatewayId = aws_vpn_gateway.Example.Id,
DxGatewayId = aws_dx_gateway.Example.Id,
DxGatewayOwnerAccountId = aws_dx_gateway.Example.Owner_account_id,
});
}
}
GatewayAssociationProposalArgs
GatewayAssociationProposalState
GatewayAssociationState
GatewayState
GetGateway
GetGatewayArgs
GetGatewayResult
HostedPrivateVirtualInterface
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
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var foo = new Aws.DirectConnect.HostedPrivateVirtualInterface("foo", new Aws.DirectConnect.HostedPrivateVirtualInterfaceArgs
{
AddressFamily = "ipv4",
BgpAsn = 65352,
ConnectionId = "dxcon-zzzzzzzz",
Vlan = 4094,
});
}
}
HostedPrivateVirtualInterfaceAccepter
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
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var accepter = new Aws.Provider("accepter", new Aws.ProviderArgs
{
});
var accepterCallerIdentity = Output.Create(Aws.GetCallerIdentity.InvokeAsync());
// Creator's side of the VIF
var creator = new Aws.DirectConnect.HostedPrivateVirtualInterface("creator", new Aws.DirectConnect.HostedPrivateVirtualInterfaceArgs
{
AddressFamily = "ipv4",
BgpAsn = 65352,
ConnectionId = "dxcon-zzzzzzzz",
OwnerAccountId = accepterCallerIdentity.Apply(accepterCallerIdentity => accepterCallerIdentity.AccountId),
Vlan = 4094,
});
// Accepter's side of the VIF.
var vpnGw = new Aws.Ec2.VpnGateway("vpnGw", new Aws.Ec2.VpnGatewayArgs
{
});
var accepterHostedPrivateVirtualInterfaceAccepter = new Aws.DirectConnect.HostedPrivateVirtualInterfaceAccepter("accepterHostedPrivateVirtualInterfaceAccepter", new Aws.DirectConnect.HostedPrivateVirtualInterfaceAccepterArgs
{
Tags =
{
{ "Side", "Accepter" },
},
VirtualInterfaceId = creator.Id,
VpnGatewayId = vpnGw.Id,
});
}
}
HostedPrivateVirtualInterfaceAccepterArgs
HostedPrivateVirtualInterfaceAccepterState
HostedPrivateVirtualInterfaceArgs
HostedPrivateVirtualInterfaceState
HostedPublicVirtualInterface
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
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var foo = new Aws.DirectConnect.HostedPublicVirtualInterface("foo", new Aws.DirectConnect.HostedPublicVirtualInterfaceArgs
{
AddressFamily = "ipv4",
AmazonAddress = "175.45.176.2/30",
BgpAsn = 65352,
ConnectionId = "dxcon-zzzzzzzz",
CustomerAddress = "175.45.176.1/30",
RouteFilterPrefixes =
{
"210.52.109.0/24",
"175.45.176.0/22",
},
Vlan = 4094,
});
}
}
HostedPublicVirtualInterfaceAccepter
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
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var accepter = new Aws.Provider("accepter", new Aws.ProviderArgs
{
});
var accepterCallerIdentity = Output.Create(Aws.GetCallerIdentity.InvokeAsync());
// Creator's side of the VIF
var creator = new Aws.DirectConnect.HostedPublicVirtualInterface("creator", new Aws.DirectConnect.HostedPublicVirtualInterfaceArgs
{
AddressFamily = "ipv4",
AmazonAddress = "175.45.176.2/30",
BgpAsn = 65352,
ConnectionId = "dxcon-zzzzzzzz",
CustomerAddress = "175.45.176.1/30",
OwnerAccountId = accepterCallerIdentity.Apply(accepterCallerIdentity => accepterCallerIdentity.AccountId),
RouteFilterPrefixes =
{
"210.52.109.0/24",
"175.45.176.0/22",
},
Vlan = 4094,
});
// Accepter's side of the VIF.
var accepterHostedPublicVirtualInterfaceAccepter = new Aws.DirectConnect.HostedPublicVirtualInterfaceAccepter("accepterHostedPublicVirtualInterfaceAccepter", new Aws.DirectConnect.HostedPublicVirtualInterfaceAccepterArgs
{
Tags =
{
{ "Side", "Accepter" },
},
VirtualInterfaceId = creator.Id,
});
}
}
HostedPublicVirtualInterfaceAccepterArgs
HostedPublicVirtualInterfaceAccepterState
HostedPublicVirtualInterfaceArgs
HostedPublicVirtualInterfaceState
HostedTransitVirtualInterface
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
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var example = new Aws.DirectConnect.HostedTransitVirtualInterface("example", new Aws.DirectConnect.HostedTransitVirtualInterfaceArgs
{
AddressFamily = "ipv4",
BgpAsn = 65352,
ConnectionId = aws_dx_connection.Example.Id,
Vlan = 4094,
});
}
}
HostedTransitVirtualInterfaceAcceptor
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
aws.directconnect.HostedTransitVirtualInterfaceresource from your configuration. Removing aaws.directconnect.HostedTransitVirtualInterfaceAcceptorresource from your configuration will remove it from your statefile and management, but will not delete the Direct Connect virtual interface.
Example Usage
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var accepter = new Aws.Provider("accepter", new Aws.ProviderArgs
{
});
var accepterCallerIdentity = Output.Create(Aws.GetCallerIdentity.InvokeAsync());
// Creator's side of the VIF
var creator = new Aws.DirectConnect.HostedTransitVirtualInterface("creator", new Aws.DirectConnect.HostedTransitVirtualInterfaceArgs
{
AddressFamily = "ipv4",
BgpAsn = 65352,
ConnectionId = "dxcon-zzzzzzzz",
OwnerAccountId = accepterCallerIdentity.Apply(accepterCallerIdentity => accepterCallerIdentity.AccountId),
Vlan = 4094,
});
// Accepter's side of the VIF.
var example = new Aws.DirectConnect.Gateway("example", new Aws.DirectConnect.GatewayArgs
{
AmazonSideAsn = 64512,
});
var accepterHostedTransitVirtualInterfaceAcceptor = new Aws.DirectConnect.HostedTransitVirtualInterfaceAcceptor("accepterHostedTransitVirtualInterfaceAcceptor", new Aws.DirectConnect.HostedTransitVirtualInterfaceAcceptorArgs
{
DxGatewayId = example.Id,
Tags =
{
{ "Side", "Accepter" },
},
VirtualInterfaceId = creator.Id,
});
}
}
HostedTransitVirtualInterfaceAcceptorArgs
HostedTransitVirtualInterfaceAcceptorState
HostedTransitVirtualInterfaceArgs
HostedTransitVirtualInterfaceState
LinkAggregationGroup
Provides a Direct Connect LAG. Connections can be added to the LAG via the aws.directconnect.Connection and aws.directconnect.ConnectionAssociation resources.
NOTE: When creating a LAG, Direct Connect requires creating a Connection. This provider will remove this unmanaged connection during resource creation.
Example Usage
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var hoge = new Aws.DirectConnect.LinkAggregationGroup("hoge", new Aws.DirectConnect.LinkAggregationGroupArgs
{
ConnectionsBandwidth = "1Gbps",
ForceDestroy = true,
Location = "EqDC2",
});
}
}
LinkAggregationGroupArgs
LinkAggregationGroupState
PrivateVirtualInterface
Provides a Direct Connect private virtual interface resource.
Example Usage
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var foo = new Aws.DirectConnect.PrivateVirtualInterface("foo", new Aws.DirectConnect.PrivateVirtualInterfaceArgs
{
AddressFamily = "ipv4",
BgpAsn = 65352,
ConnectionId = "dxcon-zzzzzzzz",
Vlan = 4094,
});
}
}
PrivateVirtualInterfaceArgs
PrivateVirtualInterfaceState
PublicVirtualInterface
Provides a Direct Connect public virtual interface resource.
Example Usage
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var foo = new Aws.DirectConnect.PublicVirtualInterface("foo", new Aws.DirectConnect.PublicVirtualInterfaceArgs
{
AddressFamily = "ipv4",
AmazonAddress = "175.45.176.2/30",
BgpAsn = 65352,
ConnectionId = "dxcon-zzzzzzzz",
CustomerAddress = "175.45.176.1/30",
RouteFilterPrefixes =
{
"210.52.109.0/24",
"175.45.176.0/22",
},
Vlan = 4094,
});
}
}
PublicVirtualInterfaceArgs
PublicVirtualInterfaceState
TransitVirtualInterface
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
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var exampleGateway = new Aws.DirectConnect.Gateway("exampleGateway", new Aws.DirectConnect.GatewayArgs
{
AmazonSideAsn = 64512,
});
var exampleTransitVirtualInterface = new Aws.DirectConnect.TransitVirtualInterface("exampleTransitVirtualInterface", new Aws.DirectConnect.TransitVirtualInterfaceArgs
{
AddressFamily = "ipv4",
BgpAsn = 65352,
ConnectionId = aws_dx_connection.Example.Id,
DxGatewayId = exampleGateway.Id,
Vlan = 4094,
});
}
}