1. Packages
  2. AWS
  3. API Docs
  4. ec2
  5. getInternetGateway
AWS v6.73.0 published on Wednesday, Mar 19, 2025 by Pulumi

aws.ec2.getInternetGateway

Explore with Pulumi AI

aws.ec2.InternetGateway provides details about a specific Internet Gateway.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const config = new pulumi.Config();
const vpcId = config.requireObject("vpcId");
const _default = aws.ec2.getInternetGateway({
    filters: [{
        name: "attachment.vpc-id",
        values: [vpcId],
    }],
});
Copy
import pulumi
import pulumi_aws as aws

config = pulumi.Config()
vpc_id = config.require_object("vpcId")
default = aws.ec2.get_internet_gateway(filters=[{
    "name": "attachment.vpc-id",
    "values": [vpc_id],
}])
Copy
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
cfg := config.New(ctx, "")
vpcId := cfg.RequireObject("vpcId")
_, err := ec2.LookupInternetGateway(ctx, &ec2.LookupInternetGatewayArgs{
Filters: []ec2.GetInternetGatewayFilter{
{
Name: "attachment.vpc-id",
Values: interface{}{
vpcId,
},
},
},
}, nil);
if err != nil {
return err
}
return nil
})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() => 
{
    var config = new Config();
    var vpcId = config.RequireObject<dynamic>("vpcId");
    var @default = Aws.Ec2.GetInternetGateway.Invoke(new()
    {
        Filters = new[]
        {
            new Aws.Ec2.Inputs.GetInternetGatewayFilterInputArgs
            {
                Name = "attachment.vpc-id",
                Values = new[]
                {
                    vpcId,
                },
            },
        },
    });

});
Copy
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.GetInternetGatewayArgs;
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 config = ctx.config();
        final var vpcId = config.get("vpcId");
        final var default = Ec2Functions.getInternetGateway(GetInternetGatewayArgs.builder()
            .filters(GetInternetGatewayFilterArgs.builder()
                .name("attachment.vpc-id")
                .values(vpcId)
                .build())
            .build());

    }
}
Copy
configuration:
  vpcId:
    type: dynamic
variables:
  default:
    fn::invoke:
      function: aws:ec2:getInternetGateway
      arguments:
        filters:
          - name: attachment.vpc-id
            values:
              - ${vpcId}
Copy

Using getInternetGateway

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 getInternetGateway(args: GetInternetGatewayArgs, opts?: InvokeOptions): Promise<GetInternetGatewayResult>
function getInternetGatewayOutput(args: GetInternetGatewayOutputArgs, opts?: InvokeOptions): Output<GetInternetGatewayResult>
Copy
def get_internet_gateway(filters: Optional[Sequence[GetInternetGatewayFilter]] = None,
                         internet_gateway_id: Optional[str] = None,
                         tags: Optional[Mapping[str, str]] = None,
                         opts: Optional[InvokeOptions] = None) -> GetInternetGatewayResult
def get_internet_gateway_output(filters: Optional[pulumi.Input[Sequence[pulumi.Input[GetInternetGatewayFilterArgs]]]] = None,
                         internet_gateway_id: Optional[pulumi.Input[str]] = None,
                         tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
                         opts: Optional[InvokeOptions] = None) -> Output[GetInternetGatewayResult]
Copy
func LookupInternetGateway(ctx *Context, args *LookupInternetGatewayArgs, opts ...InvokeOption) (*LookupInternetGatewayResult, error)
func LookupInternetGatewayOutput(ctx *Context, args *LookupInternetGatewayOutputArgs, opts ...InvokeOption) LookupInternetGatewayResultOutput
Copy

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

public static class GetInternetGateway 
{
    public static Task<GetInternetGatewayResult> InvokeAsync(GetInternetGatewayArgs args, InvokeOptions? opts = null)
    public static Output<GetInternetGatewayResult> Invoke(GetInternetGatewayInvokeArgs args, InvokeOptions? opts = null)
}
Copy
public static CompletableFuture<GetInternetGatewayResult> getInternetGateway(GetInternetGatewayArgs args, InvokeOptions options)
public static Output<GetInternetGatewayResult> getInternetGateway(GetInternetGatewayArgs args, InvokeOptions options)
Copy
fn::invoke:
  function: aws:ec2/getInternetGateway:getInternetGateway
  arguments:
    # arguments dictionary
Copy

The following arguments are supported:

Filters List<GetInternetGatewayFilter>

Custom filter block as described below.

More complex filters can be expressed using one or more filter sub-blocks, which take the following arguments:

InternetGatewayId string
ID of the specific Internet Gateway to retrieve.
Tags Dictionary<string, string>
Map of tags, each pair of which must exactly match a pair on the desired Internet Gateway.
Filters []GetInternetGatewayFilter

Custom filter block as described below.

More complex filters can be expressed using one or more filter sub-blocks, which take the following arguments:

InternetGatewayId string
ID of the specific Internet Gateway to retrieve.
Tags map[string]string
Map of tags, each pair of which must exactly match a pair on the desired Internet Gateway.
filters List<GetInternetGatewayFilter>

Custom filter block as described below.

More complex filters can be expressed using one or more filter sub-blocks, which take the following arguments:

internetGatewayId String
ID of the specific Internet Gateway to retrieve.
tags Map<String,String>
Map of tags, each pair of which must exactly match a pair on the desired Internet Gateway.
filters GetInternetGatewayFilter[]

Custom filter block as described below.

More complex filters can be expressed using one or more filter sub-blocks, which take the following arguments:

internetGatewayId string
ID of the specific Internet Gateway to retrieve.
tags {[key: string]: string}
Map of tags, each pair of which must exactly match a pair on the desired Internet Gateway.
filters Sequence[GetInternetGatewayFilter]

Custom filter block as described below.

More complex filters can be expressed using one or more filter sub-blocks, which take the following arguments:

internet_gateway_id str
ID of the specific Internet Gateway to retrieve.
tags Mapping[str, str]
Map of tags, each pair of which must exactly match a pair on the desired Internet Gateway.
filters List<Property Map>

Custom filter block as described below.

More complex filters can be expressed using one or more filter sub-blocks, which take the following arguments:

internetGatewayId String
ID of the specific Internet Gateway to retrieve.
tags Map<String>
Map of tags, each pair of which must exactly match a pair on the desired Internet Gateway.

getInternetGateway Result

The following output properties are available:

Arn string
ARN of the Internet Gateway.
Attachments List<GetInternetGatewayAttachment>
Id string
The provider-assigned unique ID for this managed resource.
InternetGatewayId string
OwnerId string
ID of the AWS account that owns the internet gateway.
Tags Dictionary<string, string>
Filters List<GetInternetGatewayFilter>
Arn string
ARN of the Internet Gateway.
Attachments []GetInternetGatewayAttachmentType
Id string
The provider-assigned unique ID for this managed resource.
InternetGatewayId string
OwnerId string
ID of the AWS account that owns the internet gateway.
Tags map[string]string
Filters []GetInternetGatewayFilter
arn String
ARN of the Internet Gateway.
attachments List<GetInternetGatewayAttachment>
id String
The provider-assigned unique ID for this managed resource.
internetGatewayId String
ownerId String
ID of the AWS account that owns the internet gateway.
tags Map<String,String>
filters List<GetInternetGatewayFilter>
arn string
ARN of the Internet Gateway.
attachments GetInternetGatewayAttachment[]
id string
The provider-assigned unique ID for this managed resource.
internetGatewayId string
ownerId string
ID of the AWS account that owns the internet gateway.
tags {[key: string]: string}
filters GetInternetGatewayFilter[]
arn str
ARN of the Internet Gateway.
attachments Sequence[GetInternetGatewayAttachment]
id str
The provider-assigned unique ID for this managed resource.
internet_gateway_id str
owner_id str
ID of the AWS account that owns the internet gateway.
tags Mapping[str, str]
filters Sequence[GetInternetGatewayFilter]
arn String
ARN of the Internet Gateway.
attachments List<Property Map>
id String
The provider-assigned unique ID for this managed resource.
internetGatewayId String
ownerId String
ID of the AWS account that owns the internet gateway.
tags Map<String>
filters List<Property Map>

Supporting Types

GetInternetGatewayAttachment

State This property is required. string
Current state of the attachment between the gateway and the VPC. Present only if a VPC is attached
VpcId This property is required. string
ID of an attached VPC.
State This property is required. string
Current state of the attachment between the gateway and the VPC. Present only if a VPC is attached
VpcId This property is required. string
ID of an attached VPC.
state This property is required. String
Current state of the attachment between the gateway and the VPC. Present only if a VPC is attached
vpcId This property is required. String
ID of an attached VPC.
state This property is required. string
Current state of the attachment between the gateway and the VPC. Present only if a VPC is attached
vpcId This property is required. string
ID of an attached VPC.
state This property is required. str
Current state of the attachment between the gateway and the VPC. Present only if a VPC is attached
vpc_id This property is required. str
ID of an attached VPC.
state This property is required. String
Current state of the attachment between the gateway and the VPC. Present only if a VPC is attached
vpcId This property is required. String
ID of an attached VPC.

GetInternetGatewayFilter

Name This property is required. string
Name of the field to filter by, as defined by the underlying AWS API.
Values This property is required. List<string>
Set of values that are accepted for the given field. An Internet Gateway will be selected if any one of the given values matches.
Name This property is required. string
Name of the field to filter by, as defined by the underlying AWS API.
Values This property is required. []string
Set of values that are accepted for the given field. An Internet Gateway will be selected if any one of the given values matches.
name This property is required. String
Name of the field to filter by, as defined by the underlying AWS API.
values This property is required. List<String>
Set of values that are accepted for the given field. An Internet Gateway will be selected if any one of the given values matches.
name This property is required. string
Name of the field to filter by, as defined by the underlying AWS API.
values This property is required. string[]
Set of values that are accepted for the given field. An Internet Gateway will be selected if any one of the given values matches.
name This property is required. str
Name of the field to filter by, as defined by the underlying AWS API.
values This property is required. Sequence[str]
Set of values that are accepted for the given field. An Internet Gateway will be selected if any one of the given values matches.
name This property is required. String
Name of the field to filter by, as defined by the underlying AWS API.
values This property is required. List<String>
Set of values that are accepted for the given field. An Internet Gateway will be selected if any one of the given values matches.

Package Details

Repository
AWS Classic pulumi/pulumi-aws
License
Apache-2.0
Notes
This Pulumi package is based on the aws Terraform Provider.