AWS Classic

Pulumi Official
Package maintained by Pulumi
v5.10.0 published on Monday, Jul 11, 2022 by Pulumi

getCustomerGateway

Get an existing AWS Customer Gateway.

Example Usage

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var foo = Output.Create(Aws.Ec2.GetCustomerGateway.InvokeAsync(new Aws.Ec2.GetCustomerGatewayArgs
        {
            Filters = 
            {
                new Aws.Ec2.Inputs.GetCustomerGatewayFilterArgs
                {
                    Name = "tag:Name",
                    Values = 
                    {
                        "foo-prod",
                    },
                },
            },
        }));
        var main = new Aws.Ec2.VpnGateway("main", new Aws.Ec2.VpnGatewayArgs
        {
            VpcId = aws_vpc.Main.Id,
            AmazonSideAsn = "7224",
        });
        var transit = new Aws.Ec2.VpnConnection("transit", new Aws.Ec2.VpnConnectionArgs
        {
            VpnGatewayId = main.Id,
            CustomerGatewayId = foo.Apply(foo => foo.Id),
            Type = foo.Apply(foo => foo.Type),
            StaticRoutesOnly = false,
        });
    }

}
package main

import (
	"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 {
		foo, err := ec2.LookupCustomerGateway(ctx, &ec2.LookupCustomerGatewayArgs{
			Filters: []ec2.GetCustomerGatewayFilter{
				ec2.GetCustomerGatewayFilter{
					Name: "tag:Name",
					Values: []string{
						"foo-prod",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		main, err := ec2.NewVpnGateway(ctx, "main", &ec2.VpnGatewayArgs{
			VpcId:         pulumi.Any(aws_vpc.Main.Id),
			AmazonSideAsn: pulumi.String("7224"),
		})
		if err != nil {
			return err
		}
		_, err = ec2.NewVpnConnection(ctx, "transit", &ec2.VpnConnectionArgs{
			VpnGatewayId:      main.ID(),
			CustomerGatewayId: pulumi.String(foo.Id),
			Type:              pulumi.String(foo.Type),
			StaticRoutesOnly:  pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import java.util.*;
import java.io.*;
import java.nio.*;
import com.pulumi.*;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var foo = Output.of(Ec2Functions.getCustomerGateway(GetCustomerGatewayArgs.builder()
            .filters(GetCustomerGatewayFilterArgs.builder()
                .name("tag:Name")
                .values("foo-prod")
                .build())
            .build()));

        var main = new VpnGateway("main", VpnGatewayArgs.builder()        
            .vpcId(aws_vpc.main().id())
            .amazonSideAsn(7224)
            .build());

        var transit = new VpnConnection("transit", VpnConnectionArgs.builder()        
            .vpnGatewayId(main.id())
            .customerGatewayId(foo.apply(getCustomerGatewayResult -> getCustomerGatewayResult.id()))
            .type(foo.apply(getCustomerGatewayResult -> getCustomerGatewayResult.type()))
            .staticRoutesOnly(false)
            .build());

    }
}
import pulumi
import pulumi_aws as aws

foo = aws.ec2.get_customer_gateway(filters=[aws.ec2.GetCustomerGatewayFilterArgs(
    name="tag:Name",
    values=["foo-prod"],
)])
main = aws.ec2.VpnGateway("main",
    vpc_id=aws_vpc["main"]["id"],
    amazon_side_asn="7224")
transit = aws.ec2.VpnConnection("transit",
    vpn_gateway_id=main.id,
    customer_gateway_id=foo.id,
    type=foo.type,
    static_routes_only=False)
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const foo = aws.ec2.getCustomerGateway({
    filters: [{
        name: "tag:Name",
        values: ["foo-prod"],
    }],
});
const main = new aws.ec2.VpnGateway("main", {
    vpcId: aws_vpc.main.id,
    amazonSideAsn: "7224",
});
const transit = new aws.ec2.VpnConnection("transit", {
    vpnGatewayId: main.id,
    customerGatewayId: foo.then(foo => foo.id),
    type: foo.then(foo => foo.type),
    staticRoutesOnly: false,
});
resources:
  main:
    type: aws:ec2:VpnGateway
    properties:
      vpcId: ${aws_vpc.main.id}
      amazonSideAsn: 7224
  transit:
    type: aws:ec2:VpnConnection
    properties:
      vpnGatewayId: ${main.id}
      customerGatewayId: ${foo.id}
      type: ${foo.type}
      staticRoutesOnly: false
variables:
  foo:
    Fn::Invoke:
      Function: aws:ec2:getCustomerGateway
      Arguments:
        filters:
          - name: tag:Name
            values:
              - foo-prod

Using getCustomerGateway

Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

function getCustomerGateway(args: GetCustomerGatewayArgs, opts?: InvokeOptions): Promise<GetCustomerGatewayResult>
function getCustomerGatewayOutput(args: GetCustomerGatewayOutputArgs, opts?: InvokeOptions): Output<GetCustomerGatewayResult>
def get_customer_gateway(filters: Optional[Sequence[GetCustomerGatewayFilter]] = None,
                         id: Optional[str] = None,
                         tags: Optional[Mapping[str, str]] = None,
                         opts: Optional[InvokeOptions] = None) -> GetCustomerGatewayResult
def get_customer_gateway_output(filters: Optional[pulumi.Input[Sequence[pulumi.Input[GetCustomerGatewayFilterArgs]]]] = None,
                         id: Optional[pulumi.Input[str]] = None,
                         tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
                         opts: Optional[InvokeOptions] = None) -> Output[GetCustomerGatewayResult]
func LookupCustomerGateway(ctx *Context, args *LookupCustomerGatewayArgs, opts ...InvokeOption) (*LookupCustomerGatewayResult, error)
func LookupCustomerGatewayOutput(ctx *Context, args *LookupCustomerGatewayOutputArgs, opts ...InvokeOption) LookupCustomerGatewayResultOutput

> Note: This function is named LookupCustomerGateway in the Go SDK.

public static class GetCustomerGateway 
{
    public static Task<GetCustomerGatewayResult> InvokeAsync(GetCustomerGatewayArgs args, InvokeOptions? opts = null)
    public static Output<GetCustomerGatewayResult> Invoke(GetCustomerGatewayInvokeArgs args, InvokeOptions? opts = null)
}
public static CompletableFuture<GetCustomerGatewayResult> getCustomerGateway(GetCustomerGatewayArgs args, InvokeOptions options)
// Output-based functions aren't available in Java yet
Fn::Invoke:
  Function: aws:ec2/getCustomerGateway:getCustomerGateway
  Arguments:
    # Arguments dictionary

The following arguments are supported:

Filters List<Pulumi.Aws.Ec2.Inputs.GetCustomerGatewayFilter>

One or more [name-value pairs][dcg-filters] to filter by.

Id string

The ID of the gateway.

Tags Dictionary<string, string>

Map of key-value pairs assigned to the gateway.

Filters []GetCustomerGatewayFilter

One or more [name-value pairs][dcg-filters] to filter by.

Id string

The ID of the gateway.

Tags map[string]string

Map of key-value pairs assigned to the gateway.

filters List<GetCustomerGatewayFilter>

One or more [name-value pairs][dcg-filters] to filter by.

id String

The ID of the gateway.

tags Map<String,String>

Map of key-value pairs assigned to the gateway.

filters GetCustomerGatewayFilter[]

One or more [name-value pairs][dcg-filters] to filter by.

id string

The ID of the gateway.

tags {[key: string]: string}

Map of key-value pairs assigned to the gateway.

filters Sequence[GetCustomerGatewayFilter]

One or more [name-value pairs][dcg-filters] to filter by.

id str

The ID of the gateway.

tags Mapping[str, str]

Map of key-value pairs assigned to the gateway.

filters List<Property Map>

One or more [name-value pairs][dcg-filters] to filter by.

id String

The ID of the gateway.

tags Map<String>

Map of key-value pairs assigned to the gateway.

getCustomerGateway Result

The following output properties are available:

Arn string

The ARN of the customer gateway.

BgpAsn int

The gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

CertificateArn string

The Amazon Resource Name (ARN) for the customer gateway certificate.

DeviceName string

A name for the customer gateway device.

Id string
IpAddress string

The IP address of the gateway's Internet-routable external interface.

Tags Dictionary<string, string>

Map of key-value pairs assigned to the gateway.

Type string

The type of customer gateway. The only type AWS supports at this time is "ipsec.1".

Filters List<Pulumi.Aws.Ec2.Outputs.GetCustomerGatewayFilter>
Arn string

The ARN of the customer gateway.

BgpAsn int

The gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

CertificateArn string

The Amazon Resource Name (ARN) for the customer gateway certificate.

DeviceName string

A name for the customer gateway device.

Id string
IpAddress string

The IP address of the gateway's Internet-routable external interface.

Tags map[string]string

Map of key-value pairs assigned to the gateway.

Type string

The type of customer gateway. The only type AWS supports at this time is "ipsec.1".

Filters []GetCustomerGatewayFilter
arn String

The ARN of the customer gateway.

bgpAsn Integer

The gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

certificateArn String

The Amazon Resource Name (ARN) for the customer gateway certificate.

deviceName String

A name for the customer gateway device.

id String
ipAddress String

The IP address of the gateway's Internet-routable external interface.

tags Map<String,String>

Map of key-value pairs assigned to the gateway.

type String

The type of customer gateway. The only type AWS supports at this time is "ipsec.1".

filters List<GetCustomerGatewayFilter>
arn string

The ARN of the customer gateway.

bgpAsn number

The gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

certificateArn string

The Amazon Resource Name (ARN) for the customer gateway certificate.

deviceName string

A name for the customer gateway device.

id string
ipAddress string

The IP address of the gateway's Internet-routable external interface.

tags {[key: string]: string}

Map of key-value pairs assigned to the gateway.

type string

The type of customer gateway. The only type AWS supports at this time is "ipsec.1".

filters GetCustomerGatewayFilter[]
arn str

The ARN of the customer gateway.

bgp_asn int

The gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

certificate_arn str

The Amazon Resource Name (ARN) for the customer gateway certificate.

device_name str

A name for the customer gateway device.

id str
ip_address str

The IP address of the gateway's Internet-routable external interface.

tags Mapping[str, str]

Map of key-value pairs assigned to the gateway.

type str

The type of customer gateway. The only type AWS supports at this time is "ipsec.1".

filters Sequence[GetCustomerGatewayFilter]
arn String

The ARN of the customer gateway.

bgpAsn Number

The gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

certificateArn String

The Amazon Resource Name (ARN) for the customer gateway certificate.

deviceName String

A name for the customer gateway device.

id String
ipAddress String

The IP address of the gateway's Internet-routable external interface.

tags Map<String>

Map of key-value pairs assigned to the gateway.

type String

The type of customer gateway. The only type AWS supports at this time is "ipsec.1".

filters List<Property Map>

Supporting Types

GetCustomerGatewayFilter

Name string
Values List<string>
Name string
Values []string
name String
values List<String>
name string
values string[]
name str
values Sequence[str]
name String
values List<String>

Package Details

Repository
https://github.com/pulumi/pulumi-aws
License
Apache-2.0
Notes

This Pulumi package is based on the aws Terraform Provider.