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 v6.22.2 published on Friday, Feb 16, 2024 by Pulumi

aws.ec2.getElasticIp

Explore with Pulumi AI

aws logo

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

AWS Classic v6.22.2 published on Friday, Feb 16, 2024 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/v6/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/v6/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/v6/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/v6/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<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<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 v6.22.2 published on Friday, Feb 16, 2024 by Pulumi