AWS Classic

v4.30.0 published on Tuesday, Nov 30, 2021 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 Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var byAllocationId = Output.Create(Aws.Ec2.GetElasticIp.InvokeAsync(new Aws.Ec2.GetElasticIpArgs
        {
            Id = "eipalloc-12345678",
        }));
    }

}
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/ec2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "eipalloc-12345678"
		_, err := ec2.GetElasticIp(ctx, &ec2.GetElasticIpArgs{
			Id: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}
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",
}));

Search By Filters (EC2-Classic or VPC)

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var byFilter = Output.Create(Aws.Ec2.GetElasticIp.InvokeAsync(new Aws.Ec2.GetElasticIpArgs
        {
            Filters = 
            {
                new Aws.Ec2.Inputs.GetElasticIpFilterArgs
                {
                    Name = "tag:Name",
                    Values = 
                    {
                        "exampleNameTagValue",
                    },
                },
            },
        }));
    }

}
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v4/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
	})
}
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"],
    }],
}));

Search By Public IP (EC2-Classic or VPC)

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var byPublicIp = Output.Create(Aws.Ec2.GetElasticIp.InvokeAsync(new Aws.Ec2.GetElasticIpArgs
        {
            PublicIp = "1.2.3.4",
        }));
    }

}
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/ec2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "1.2.3.4"
		_, err := ec2.GetElasticIp(ctx, &ec2.GetElasticIpArgs{
			PublicIp: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}
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",
}));

Search By Tags (EC2-Classic or VPC)

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var byTags = Output.Create(Aws.Ec2.GetElasticIp.InvokeAsync(new Aws.Ec2.GetElasticIpArgs
        {
            Tags = 
            {
                { "Name", "exampleNameTagValue" },
            },
        }));
    }

}
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v4/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
	})
}
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",
    },
}));

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)
}

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
The 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
The public IP of the specific EIP to retrieve.
Tags Dictionary<string, string>
A 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
The 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
The public IP of the specific EIP to retrieve.
Tags map[string]string
A 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
The 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
The public IP of the specific EIP to retrieve.
tags {[key: string]: string}
A 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
The 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
The public IP of the specific EIP to retrieve.
tags Mapping[str, str]
A 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
The ID representing the association of the address with an instance in a VPC.
CarrierIp string
The 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
Indicates 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
The 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
The Private DNS associated with the Elastic IP address.
PrivateIp string
The 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
The ID of an address pool.
Tags Dictionary<string, string>
Key-value map of tags associated with Elastic IP.
Filters List<GetElasticIpFilter>
AssociationId string
The ID representing the association of the address with an instance in a VPC.
CarrierIp string
The 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
Indicates 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
The 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
The Private DNS associated with the Elastic IP address.
PrivateIp string
The 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
The ID of an address pool.
Tags map[string]string
Key-value map of tags associated with Elastic IP.
Filters []GetElasticIpFilter
associationId string
The ID representing the association of the address with an instance in a VPC.
carrierIp string
The 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
Indicates 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
The 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
The Private DNS associated with the Elastic IP address.
privateIp string
The 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
The ID of an address pool.
tags {[key: string]: string}
Key-value map of tags associated with Elastic IP.
filters GetElasticIpFilter[]
association_id str
The ID representing the association of the address with an instance in a VPC.
carrier_ip str
The 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
Indicates 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
The 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
The Private DNS associated with the Elastic IP address.
private_ip str
The 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
The ID of an address pool.
tags Mapping[str, str]
Key-value map of tags associated with Elastic IP.
filters Sequence[GetElasticIpFilter]

Supporting Types

GetElasticIpFilter

Name string
Values List<string>
Name string
Values []string
name string
values string[]
name str
values Sequence[str]

Package Details

Repository
https://github.com/pulumi/pulumi-aws
License
Apache-2.0
Notes
This Pulumi package is based on the aws Terraform Provider.