Show / Hide Table of Contents

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.HostedTransitVirtualInterface resource from your configuration. Removing a aws.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

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,
    });
}

}

TransitVirtualInterfaceArgs

TransitVirtualInterfaceState

Back to top Copyright 2016-2020, Pulumi Corporation.