1. Packages
  2. AWS Classic
  3. API Docs
  4. ec2
  5. getElasticIp

Try AWS Native preview for resources not in the classic version.

AWS Classic v5.41.0 published on Monday, May 15, 2023 by Pulumi

aws.ec2.getElasticIp

Explore with Pulumi AI

aws logo

Try AWS Native preview for resources not in the classic version.

AWS Classic v5.41.0 published on Monday, May 15, 2023 by Pulumi

    aws.ec2.Eip provides details about a specific Elastic IP.

    Example Usage

    Search By Allocation ID (VPC only)

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var byAllocationId = Aws.Ec2.GetElasticIp.Invoke(new()
        {
            Id = "eipalloc-12345678",
        });
    
    });
    
    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 {
    		_, err := ec2.GetElasticIp(ctx, &ec2.GetElasticIpArgs{
    			Id: pulumi.StringRef("eipalloc-12345678"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    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.GetElasticIpArgs;
    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 byAllocationId = Ec2Functions.getElasticIp(GetElasticIpArgs.builder()
                .id("eipalloc-12345678")
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_aws as aws
    
    by_allocation_id = aws.ec2.get_elastic_ip(id="eipalloc-12345678")
    
    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const byAllocationId = aws.ec2.getElasticIp({
        id: "eipalloc-12345678",
    });
    
    variables:
      byAllocationId:
        fn::invoke:
          Function: aws:ec2:getElasticIp
          Arguments:
            id: eipalloc-12345678
    

    Search By Filters (EC2-Classic or VPC)

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var byFilter = Aws.Ec2.GetElasticIp.Invoke(new()
        {
            Filters = new[]
            {
                new Aws.Ec2.Inputs.GetElasticIpFilterInputArgs
                {
                    Name = "tag:Name",
                    Values = new[]
                    {
                        "exampleNameTagValue",
                    },
                },
            },
        });
    
    });
    
    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 {
    		_, err := ec2.GetElasticIp(ctx, &ec2.GetElasticIpArgs{
    			Filters: []ec2.GetElasticIpFilter{
    				{
    					Name: "tag:Name",
    					Values: []string{
    						"exampleNameTagValue",
    					},
    				},
    			},
    		}, nil)
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    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.GetElasticIpArgs;
    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 byFilter = Ec2Functions.getElasticIp(GetElasticIpArgs.builder()
                .filters(GetElasticIpFilterArgs.builder()
                    .name("tag:Name")
                    .values("exampleNameTagValue")
                    .build())
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_aws as aws
    
    by_filter = aws.ec2.get_elastic_ip(filters=[aws.ec2.GetElasticIpFilterArgs(
        name="tag:Name",
        values=["exampleNameTagValue"],
    )])
    
    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const byFilter = aws.ec2.getElasticIp({
        filters: [{
            name: "tag:Name",
            values: ["exampleNameTagValue"],
        }],
    });
    
    variables:
      byFilter:
        fn::invoke:
          Function: aws:ec2:getElasticIp
          Arguments:
            filters:
              - name: tag:Name
                values:
                  - exampleNameTagValue
    

    Search By Public IP (EC2-Classic or VPC)

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var byPublicIp = Aws.Ec2.GetElasticIp.Invoke(new()
        {
            PublicIp = "1.2.3.4",
        });
    
    });
    
    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 {
    		_, err := ec2.GetElasticIp(ctx, &ec2.GetElasticIpArgs{
    			PublicIp: pulumi.StringRef("1.2.3.4"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    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.GetElasticIpArgs;
    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 byPublicIp = Ec2Functions.getElasticIp(GetElasticIpArgs.builder()
                .publicIp("1.2.3.4")
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_aws as aws
    
    by_public_ip = aws.ec2.get_elastic_ip(public_ip="1.2.3.4")
    
    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const byPublicIp = aws.ec2.getElasticIp({
        publicIp: "1.2.3.4",
    });
    
    variables:
      byPublicIp:
        fn::invoke:
          Function: aws:ec2:getElasticIp
          Arguments:
            publicIp: 1.2.3.4
    

    Search By Tags (EC2-Classic or VPC)

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var byTags = Aws.Ec2.GetElasticIp.Invoke(new()
        {
            Tags = 
            {
                { "Name", "exampleNameTagValue" },
            },
        });
    
    });
    
    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 {
    		_, err := ec2.GetElasticIp(ctx, &ec2.GetElasticIpArgs{
    			Tags: map[string]interface{}{
    				"Name": "exampleNameTagValue",
    			},
    		}, nil)
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    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.GetElasticIpArgs;
    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 byTags = Ec2Functions.getElasticIp(GetElasticIpArgs.builder()
                .tags(Map.of("Name", "exampleNameTagValue"))
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_aws as aws
    
    by_tags = aws.ec2.get_elastic_ip(tags={
        "Name": "exampleNameTagValue",
    })
    
    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const byTags = aws.ec2.getElasticIp({
        tags: {
            Name: "exampleNameTagValue",
        },
    });
    
    variables:
      byTags:
        fn::invoke:
          Function: aws:ec2:getElasticIp
          Arguments:
            tags:
              Name: exampleNameTagValue
    

    Using getElasticIp

    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 getElasticIp(args: GetElasticIpArgs, opts?: InvokeOptions): Promise<GetElasticIpResult>
    function getElasticIpOutput(args: GetElasticIpOutputArgs, opts?: InvokeOptions): Output<GetElasticIpResult>
    def get_elastic_ip(filters: Optional[Sequence[GetElasticIpFilter]] = None,
                       id: Optional[str] = None,
                       public_ip: Optional[str] = None,
                       tags: Optional[Mapping[str, str]] = None,
                       opts: Optional[InvokeOptions] = None) -> GetElasticIpResult
    def get_elastic_ip_output(filters: Optional[pulumi.Input[Sequence[pulumi.Input[GetElasticIpFilterArgs]]]] = None,
                       id: Optional[pulumi.Input[str]] = None,
                       public_ip: Optional[pulumi.Input[str]] = None,
                       tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
                       opts: Optional[InvokeOptions] = None) -> Output[GetElasticIpResult]
    func GetElasticIp(ctx *Context, args *GetElasticIpArgs, opts ...InvokeOption) (*GetElasticIpResult, error)
    func GetElasticIpOutput(ctx *Context, args *GetElasticIpOutputArgs, opts ...InvokeOption) GetElasticIpResultOutput

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

    public static class GetElasticIp 
    {
        public static Task<GetElasticIpResult> InvokeAsync(GetElasticIpArgs args, InvokeOptions? opts = null)
        public static Output<GetElasticIpResult> Invoke(GetElasticIpInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetElasticIpResult> getElasticIp(GetElasticIpArgs args, InvokeOptions options)
    // Output-based functions aren't available in Java yet
    
    fn::invoke:
      function: aws:ec2/getElasticIp:getElasticIp
      arguments:
        # arguments dictionary

    The following arguments are supported:

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

    One or more name/value pairs to use as filters. There are several valid keys, for a full reference, check out the EC2 API Reference.

    Id string

    Allocation ID of the specific VPC EIP to retrieve. If a classic EIP is required, do NOT set id, only set public_ip

    PublicIp string

    Public IP of the specific EIP to retrieve.

    Tags Dictionary<string, string>

    Map of tags, each pair of which must exactly match a pair on the desired Elastic IP

    Filters []GetElasticIpFilter

    One or more name/value pairs to use as filters. There are several valid keys, for a full reference, check out the EC2 API Reference.

    Id string

    Allocation ID of the specific VPC EIP to retrieve. If a classic EIP is required, do NOT set id, only set public_ip

    PublicIp string

    Public IP of the specific EIP to retrieve.

    Tags map[string]string

    Map of tags, each pair of which must exactly match a pair on the desired Elastic IP

    filters List<GetElasticIpFilter>

    One or more name/value pairs to use as filters. There are several valid keys, for a full reference, check out the EC2 API Reference.

    id String

    Allocation ID of the specific VPC EIP to retrieve. If a classic EIP is required, do NOT set id, only set public_ip

    publicIp String

    Public IP of the specific EIP to retrieve.

    tags Map<String,String>

    Map of tags, each pair of which must exactly match a pair on the desired Elastic IP

    filters GetElasticIpFilter[]

    One or more name/value pairs to use as filters. There are several valid keys, for a full reference, check out the EC2 API Reference.

    id string

    Allocation ID of the specific VPC EIP to retrieve. If a classic EIP is required, do NOT set id, only set public_ip

    publicIp string

    Public IP of the specific EIP to retrieve.

    tags {[key: string]: string}

    Map of tags, each pair of which must exactly match a pair on the desired Elastic IP

    filters Sequence[GetElasticIpFilter]

    One or more name/value pairs to use as filters. There are several valid keys, for a full reference, check out the EC2 API Reference.

    id str

    Allocation ID of the specific VPC EIP to retrieve. If a classic EIP is required, do NOT set id, only set public_ip

    public_ip str

    Public IP of the specific EIP to retrieve.

    tags Mapping[str, str]

    Map of tags, each pair of which must exactly match a pair on the desired Elastic IP

    filters List<Property Map>

    One or more name/value pairs to use as filters. There are several valid keys, for a full reference, check out the EC2 API Reference.

    id String

    Allocation ID of the specific VPC EIP to retrieve. If a classic EIP is required, do NOT set id, only set public_ip

    publicIp String

    Public IP of the specific EIP to retrieve.

    tags Map<String>

    Map of tags, each pair of which must exactly match a pair on the desired Elastic IP

    getElasticIp Result

    The following output properties are available:

    AssociationId string

    ID representing the association of the address with an instance in a VPC.

    CarrierIp string

    Carrier IP address.

    CustomerOwnedIp string

    Customer Owned IP.

    CustomerOwnedIpv4Pool string

    The ID of a Customer Owned IP Pool. For more on customer owned IP addressed check out Customer-owned IP addresses guide

    Domain string

    Whether the address is for use in EC2-Classic (standard) or in a VPC (vpc).

    Id string

    If VPC Elastic IP, the allocation identifier. If EC2-Classic Elastic IP, the public IP address.

    InstanceId string

    ID of the instance that the address is associated with (if any).

    NetworkInterfaceId string

    The ID of the network interface.

    NetworkInterfaceOwnerId string

    The ID of the AWS account that owns the network interface.

    PrivateDns string

    Private DNS associated with the Elastic IP address.

    PrivateIp string

    Private IP address associated with the Elastic IP address.

    PublicDns string

    Public DNS associated with the Elastic IP address.

    PublicIp string

    Public IP address of Elastic IP.

    PublicIpv4Pool string

    ID of an address pool.

    Tags Dictionary<string, string>

    Key-value map of tags associated with Elastic IP.

    Filters List<Pulumi.Aws.Ec2.Outputs.GetElasticIpFilter>
    AssociationId string

    ID representing the association of the address with an instance in a VPC.

    CarrierIp string

    Carrier IP address.

    CustomerOwnedIp string

    Customer Owned IP.

    CustomerOwnedIpv4Pool string

    The ID of a Customer Owned IP Pool. For more on customer owned IP addressed check out Customer-owned IP addresses guide

    Domain string

    Whether the address is for use in EC2-Classic (standard) or in a VPC (vpc).

    Id string

    If VPC Elastic IP, the allocation identifier. If EC2-Classic Elastic IP, the public IP address.

    InstanceId string

    ID of the instance that the address is associated with (if any).

    NetworkInterfaceId string

    The ID of the network interface.

    NetworkInterfaceOwnerId string

    The ID of the AWS account that owns the network interface.

    PrivateDns string

    Private DNS associated with the Elastic IP address.

    PrivateIp string

    Private IP address associated with the Elastic IP address.

    PublicDns string

    Public DNS associated with the Elastic IP address.

    PublicIp string

    Public IP address of Elastic IP.

    PublicIpv4Pool string

    ID of an address pool.

    Tags map[string]string

    Key-value map of tags associated with Elastic IP.

    Filters []GetElasticIpFilter
    associationId String

    ID representing the association of the address with an instance in a VPC.

    carrierIp String

    Carrier IP address.

    customerOwnedIp String

    Customer Owned IP.

    customerOwnedIpv4Pool String

    The ID of a Customer Owned IP Pool. For more on customer owned IP addressed check out Customer-owned IP addresses guide

    domain String

    Whether the address is for use in EC2-Classic (standard) or in a VPC (vpc).

    id String

    If VPC Elastic IP, the allocation identifier. If EC2-Classic Elastic IP, the public IP address.

    instanceId String

    ID of the instance that the address is associated with (if any).

    networkInterfaceId String

    The ID of the network interface.

    networkInterfaceOwnerId String

    The ID of the AWS account that owns the network interface.

    privateDns String

    Private DNS associated with the Elastic IP address.

    privateIp String

    Private IP address associated with the Elastic IP address.

    publicDns String

    Public DNS associated with the Elastic IP address.

    publicIp String

    Public IP address of Elastic IP.

    publicIpv4Pool String

    ID of an address pool.

    tags Map<String,String>

    Key-value map of tags associated with Elastic IP.

    filters List<GetElasticIpFilter>
    associationId string

    ID representing the association of the address with an instance in a VPC.

    carrierIp string

    Carrier IP address.

    customerOwnedIp string

    Customer Owned IP.

    customerOwnedIpv4Pool string

    The ID of a Customer Owned IP Pool. For more on customer owned IP addressed check out Customer-owned IP addresses guide

    domain string

    Whether the address is for use in EC2-Classic (standard) or in a VPC (vpc).

    id string

    If VPC Elastic IP, the allocation identifier. If EC2-Classic Elastic IP, the public IP address.

    instanceId string

    ID of the instance that the address is associated with (if any).

    networkInterfaceId string

    The ID of the network interface.

    networkInterfaceOwnerId string

    The ID of the AWS account that owns the network interface.

    privateDns string

    Private DNS associated with the Elastic IP address.

    privateIp string

    Private IP address associated with the Elastic IP address.

    publicDns string

    Public DNS associated with the Elastic IP address.

    publicIp string

    Public IP address of Elastic IP.

    publicIpv4Pool string

    ID of an address pool.

    tags {[key: string]: string}

    Key-value map of tags associated with Elastic IP.

    filters GetElasticIpFilter[]
    association_id str

    ID representing the association of the address with an instance in a VPC.

    carrier_ip str

    Carrier IP address.

    customer_owned_ip str

    Customer Owned IP.

    customer_owned_ipv4_pool str

    The ID of a Customer Owned IP Pool. For more on customer owned IP addressed check out Customer-owned IP addresses guide

    domain str

    Whether the address is for use in EC2-Classic (standard) or in a VPC (vpc).

    id str

    If VPC Elastic IP, the allocation identifier. If EC2-Classic Elastic IP, the public IP address.

    instance_id str

    ID of the instance that the address is associated with (if any).

    network_interface_id str

    The ID of the network interface.

    network_interface_owner_id str

    The ID of the AWS account that owns the network interface.

    private_dns str

    Private DNS associated with the Elastic IP address.

    private_ip str

    Private IP address associated with the Elastic IP address.

    public_dns str

    Public DNS associated with the Elastic IP address.

    public_ip str

    Public IP address of Elastic IP.

    public_ipv4_pool str

    ID of an address pool.

    tags Mapping[str, str]

    Key-value map of tags associated with Elastic IP.

    filters Sequence[GetElasticIpFilter]
    associationId String

    ID representing the association of the address with an instance in a VPC.

    carrierIp String

    Carrier IP address.

    customerOwnedIp String

    Customer Owned IP.

    customerOwnedIpv4Pool String

    The ID of a Customer Owned IP Pool. For more on customer owned IP addressed check out Customer-owned IP addresses guide

    domain String

    Whether the address is for use in EC2-Classic (standard) or in a VPC (vpc).

    id String

    If VPC Elastic IP, the allocation identifier. If EC2-Classic Elastic IP, the public IP address.

    instanceId String

    ID of the instance that the address is associated with (if any).

    networkInterfaceId String

    The ID of the network interface.

    networkInterfaceOwnerId String

    The ID of the AWS account that owns the network interface.

    privateDns String

    Private DNS associated with the Elastic IP address.

    privateIp String

    Private IP address associated with the Elastic IP address.

    publicDns String

    Public DNS associated with the Elastic IP address.

    publicIp String

    Public IP address of Elastic IP.

    publicIpv4Pool String

    ID of an address pool.

    tags Map<String>

    Key-value map of tags associated with Elastic IP.

    filters List<Property Map>

    Supporting Types

    GetElasticIpFilter

    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
    AWS Classic pulumi/pulumi-aws
    License
    Apache-2.0
    Notes

    This Pulumi package is based on the aws Terraform Provider.

    aws logo

    Try AWS Native preview for resources not in the classic version.

    AWS Classic v5.41.0 published on Monday, May 15, 2023 by Pulumi