AWS Classic

v5.21.1 published on Thursday, Nov 17, 2022 by Pulumi

getElasticIp

Deprecated:

aws.getElasticIp has been deprecated in favor of aws.ec2.getElasticIp

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

Example Usage

Search By Allocation ID (VPC only)

using System.Collections.Generic;
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 = pulumi.output(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 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{
				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 = pulumi.output(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 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 = pulumi.output(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 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 = pulumi.output(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:index/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
https://github.com/pulumi/pulumi-aws
License
Apache-2.0
Notes

This Pulumi package is based on the aws Terraform Provider.