AWS v6.71.0 published on Friday, Mar 7, 2025 by Pulumi
aws.ec2.getCustomerGateway
Explore with Pulumi AI
Get an existing AWS Customer Gateway.
Example Usage
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: mainAwsVpc.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,
});
import pulumi
import pulumi_aws as aws
foo = aws.ec2.get_customer_gateway(filters=[{
    "name": "tag:Name",
    "values": ["foo-prod"],
}])
main = aws.ec2.VpnGateway("main",
    vpc_id=main_aws_vpc["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)
package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/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{
				{
					Name: "tag:Name",
					Values: []string{
						"foo-prod",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		main, err := ec2.NewVpnGateway(ctx, "main", &ec2.VpnGatewayArgs{
			VpcId:         pulumi.Any(mainAwsVpc.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
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() => 
{
    var foo = Aws.Ec2.GetCustomerGateway.Invoke(new()
    {
        Filters = new[]
        {
            new Aws.Ec2.Inputs.GetCustomerGatewayFilterInputArgs
            {
                Name = "tag:Name",
                Values = new[]
                {
                    "foo-prod",
                },
            },
        },
    });
    var main = new Aws.Ec2.VpnGateway("main", new()
    {
        VpcId = mainAwsVpc.Id,
        AmazonSideAsn = "7224",
    });
    var transit = new Aws.Ec2.VpnConnection("transit", new()
    {
        VpnGatewayId = main.Id,
        CustomerGatewayId = foo.Apply(getCustomerGatewayResult => getCustomerGatewayResult.Id),
        Type = foo.Apply(getCustomerGatewayResult => getCustomerGatewayResult.Type),
        StaticRoutesOnly = false,
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.Ec2Functions;
import com.pulumi.aws.ec2.inputs.GetCustomerGatewayArgs;
import com.pulumi.aws.ec2.VpnGateway;
import com.pulumi.aws.ec2.VpnGatewayArgs;
import com.pulumi.aws.ec2.VpnConnection;
import com.pulumi.aws.ec2.VpnConnectionArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        final var foo = Ec2Functions.getCustomerGateway(GetCustomerGatewayArgs.builder()
            .filters(GetCustomerGatewayFilterArgs.builder()
                .name("tag:Name")
                .values("foo-prod")
                .build())
            .build());
        var main = new VpnGateway("main", VpnGatewayArgs.builder()
            .vpcId(mainAwsVpc.id())
            .amazonSideAsn(7224)
            .build());
        var transit = new VpnConnection("transit", VpnConnectionArgs.builder()
            .vpnGatewayId(main.id())
            .customerGatewayId(foo.applyValue(getCustomerGatewayResult -> getCustomerGatewayResult.id()))
            .type(foo.applyValue(getCustomerGatewayResult -> getCustomerGatewayResult.type()))
            .staticRoutesOnly(false)
            .build());
    }
}
resources:
  main:
    type: aws:ec2:VpnGateway
    properties:
      vpcId: ${mainAwsVpc.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)
public static Output<GetCustomerGatewayResult> getCustomerGateway(GetCustomerGatewayArgs args, InvokeOptions options)
fn::invoke:
  function: aws:ec2/getCustomerGateway:getCustomerGateway
  arguments:
    # arguments dictionaryThe following arguments are supported:
- Filters
List<GetCustomer Gateway Filter> 
- One or more name-value pairs to filter by.
- Id string
- ID of the gateway.
- Dictionary<string, string>
- Map of key-value pairs assigned to the gateway.
- Filters
[]GetCustomer Gateway Filter 
- One or more name-value pairs to filter by.
- Id string
- ID of the gateway.
- map[string]string
- Map of key-value pairs assigned to the gateway.
- filters
List<GetCustomer Gateway Filter> 
- One or more name-value pairs to filter by.
- id String
- ID of the gateway.
- Map<String,String>
- Map of key-value pairs assigned to the gateway.
- filters
GetCustomer Gateway Filter[] 
- One or more name-value pairs to filter by.
- id string
- ID of the gateway.
- {[key: string]: string}
- Map of key-value pairs assigned to the gateway.
- filters
Sequence[GetCustomer Gateway Filter] 
- One or more name-value pairs to filter by.
- id str
- ID of the gateway.
- Mapping[str, str]
- Map of key-value pairs assigned to the gateway.
- filters List<Property Map>
- One or more name-value pairs to filter by.
- id String
- ID of the gateway.
- Map<String>
- Map of key-value pairs assigned to the gateway.
getCustomerGateway Result
The following output properties are available:
- Arn string
- ARN of the customer gateway.
- BgpAsn int
- Gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).
- BgpAsn intExtended 
- Gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).
- CertificateArn string
- ARN for the customer gateway certificate.
- DeviceName string
- Name for the customer gateway device.
- Id string
- IpAddress string
- IP address of the gateway's Internet-routable external interface.
- Dictionary<string, string>
- Map of key-value pairs assigned to the gateway.
- Type string
- Type of customer gateway. The only type AWS supports at this time is "ipsec.1".
- Filters
List<GetCustomer Gateway Filter> 
- Arn string
- ARN of the customer gateway.
- BgpAsn int
- Gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).
- BgpAsn intExtended 
- Gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).
- CertificateArn string
- ARN for the customer gateway certificate.
- DeviceName string
- Name for the customer gateway device.
- Id string
- IpAddress string
- IP address of the gateway's Internet-routable external interface.
- map[string]string
- Map of key-value pairs assigned to the gateway.
- Type string
- Type of customer gateway. The only type AWS supports at this time is "ipsec.1".
- Filters
[]GetCustomer Gateway Filter 
- arn String
- ARN of the customer gateway.
- bgpAsn Integer
- Gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).
- bgpAsn IntegerExtended 
- Gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).
- certificateArn String
- ARN for the customer gateway certificate.
- deviceName String
- Name for the customer gateway device.
- id String
- ipAddress String
- IP address of the gateway's Internet-routable external interface.
- Map<String,String>
- Map of key-value pairs assigned to the gateway.
- type String
- Type of customer gateway. The only type AWS supports at this time is "ipsec.1".
- filters
List<GetCustomer Gateway Filter> 
- arn string
- ARN of the customer gateway.
- bgpAsn number
- Gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).
- bgpAsn numberExtended 
- Gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).
- certificateArn string
- ARN for the customer gateway certificate.
- deviceName string
- Name for the customer gateway device.
- id string
- ipAddress string
- IP address of the gateway's Internet-routable external interface.
- {[key: string]: string}
- Map of key-value pairs assigned to the gateway.
- type string
- Type of customer gateway. The only type AWS supports at this time is "ipsec.1".
- filters
GetCustomer Gateway Filter[] 
- arn str
- ARN of the customer gateway.
- bgp_asn int
- Gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).
- bgp_asn_ intextended 
- Gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).
- certificate_arn str
- ARN for the customer gateway certificate.
- device_name str
- Name for the customer gateway device.
- id str
- ip_address str
- IP address of the gateway's Internet-routable external interface.
- Mapping[str, str]
- Map of key-value pairs assigned to the gateway.
- type str
- Type of customer gateway. The only type AWS supports at this time is "ipsec.1".
- filters
Sequence[GetCustomer Gateway Filter] 
- arn String
- ARN of the customer gateway.
- bgpAsn Number
- Gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).
- bgpAsn NumberExtended 
- Gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).
- certificateArn String
- ARN for the customer gateway certificate.
- deviceName String
- Name for the customer gateway device.
- id String
- ipAddress String
- IP address of the gateway's Internet-routable external interface.
- Map<String>
- Map of key-value pairs assigned to the gateway.
- type String
- Type of customer gateway. The only type AWS supports at this time is "ipsec.1".
- filters List<Property Map>
Supporting Types
GetCustomerGatewayFilter   
Package Details
- Repository
- AWS Classic pulumi/pulumi-aws
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the awsTerraform Provider.