Try AWS Native preview for resources not in the classic version.
aws.ec2.getVpcIamPool
Explore with Pulumi AI
Try AWS Native preview for resources not in the classic version.
Deprecated:
aws.ec2/getvpciampool.getVpcIamPool has been deprecated in favor of aws.ec2/getvpcipampool.getVpcIpamPool
aws.ec2.VpcIpamPool
provides details about an IPAM pool.
This resource can prove useful when an ipam pool was created in another root module and you need the pool’s id as an input variable. For example, pools can be shared via RAM and used to create vpcs with CIDRs from that pool.
Example Usage
The following example shows an account that has only 1 pool, perhaps shared
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var testVpcIpamPool = Aws.Ec2.GetVpcIpamPool.Invoke(new()
{
Filters = new[]
{
new Aws.Ec2.Inputs.GetVpcIpamPoolFilterInputArgs
{
Name = "description",
Values = new[]
{
"*test*",
},
},
new Aws.Ec2.Inputs.GetVpcIpamPoolFilterInputArgs
{
Name = "address-family",
Values = new[]
{
"ipv4",
},
},
},
});
var testVpc = new Aws.Ec2.Vpc("testVpc", new()
{
Ipv4IpamPoolId = testVpcIpamPool.Apply(getVpcIpamPoolResult => getVpcIpamPoolResult.Id),
Ipv4NetmaskLength = 28,
});
});
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 {
testVpcIpamPool, err := ec2.LookupVpcIpamPool(ctx, &ec2.LookupVpcIpamPoolArgs{
Filters: []ec2.GetVpcIpamPoolFilter{
{
Name: "description",
Values: []string{
"*test*",
},
},
{
Name: "address-family",
Values: []string{
"ipv4",
},
},
},
}, nil)
if err != nil {
return err
}
_, err = ec2.NewVpc(ctx, "testVpc", &ec2.VpcArgs{
Ipv4IpamPoolId: *pulumi.String(testVpcIpamPool.Id),
Ipv4NetmaskLength: pulumi.Int(28),
})
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.GetVpcIpamPoolArgs;
import com.pulumi.aws.ec2.Vpc;
import com.pulumi.aws.ec2.VpcArgs;
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 testVpcIpamPool = Ec2Functions.getVpcIpamPool(GetVpcIpamPoolArgs.builder()
.filters(
GetVpcIpamPoolFilterArgs.builder()
.name("description")
.values("*test*")
.build(),
GetVpcIpamPoolFilterArgs.builder()
.name("address-family")
.values("ipv4")
.build())
.build());
var testVpc = new Vpc("testVpc", VpcArgs.builder()
.ipv4IpamPoolId(testVpcIpamPool.applyValue(getVpcIpamPoolResult -> getVpcIpamPoolResult.id()))
.ipv4NetmaskLength(28)
.build());
}
}
import pulumi
import pulumi_aws as aws
test_vpc_ipam_pool = aws.ec2.get_vpc_ipam_pool(filters=[
aws.ec2.GetVpcIpamPoolFilterArgs(
name="description",
values=["*test*"],
),
aws.ec2.GetVpcIpamPoolFilterArgs(
name="address-family",
values=["ipv4"],
),
])
test_vpc = aws.ec2.Vpc("testVpc",
ipv4_ipam_pool_id=test_vpc_ipam_pool.id,
ipv4_netmask_length=28)
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const testVpcIpamPool = aws.ec2.getVpcIpamPool({
filters: [
{
name: "description",
values: ["*test*"],
},
{
name: "address-family",
values: ["ipv4"],
},
],
});
const testVpc = new aws.ec2.Vpc("testVpc", {
ipv4IpamPoolId: testVpcIpamPool.then(testVpcIpamPool => testVpcIpamPool.id),
ipv4NetmaskLength: 28,
});
resources:
testVpc:
type: aws:ec2:Vpc
properties:
ipv4IpamPoolId: ${testVpcIpamPool.id}
ipv4NetmaskLength: 28
variables:
testVpcIpamPool:
fn::invoke:
Function: aws:ec2:getVpcIpamPool
Arguments:
filters:
- name: description
values:
- '*test*'
- name: address-family
values:
- ipv4
Using getVpcIamPool
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 getVpcIamPool(args: GetVpcIamPoolArgs, opts?: InvokeOptions): Promise<GetVpcIamPoolResult>
function getVpcIamPoolOutput(args: GetVpcIamPoolOutputArgs, opts?: InvokeOptions): Output<GetVpcIamPoolResult>
def get_vpc_iam_pool(allocation_resource_tags: Optional[Mapping[str, str]] = None,
filters: Optional[Sequence[GetVpcIamPoolFilter]] = None,
id: Optional[str] = None,
ipam_pool_id: Optional[str] = None,
tags: Optional[Mapping[str, str]] = None,
opts: Optional[InvokeOptions] = None) -> GetVpcIamPoolResult
def get_vpc_iam_pool_output(allocation_resource_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
filters: Optional[pulumi.Input[Sequence[pulumi.Input[GetVpcIamPoolFilterArgs]]]] = None,
id: Optional[pulumi.Input[str]] = None,
ipam_pool_id: Optional[pulumi.Input[str]] = None,
tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
opts: Optional[InvokeOptions] = None) -> Output[GetVpcIamPoolResult]
func GetVpcIamPool(ctx *Context, args *GetVpcIamPoolArgs, opts ...InvokeOption) (*GetVpcIamPoolResult, error)
func GetVpcIamPoolOutput(ctx *Context, args *GetVpcIamPoolOutputArgs, opts ...InvokeOption) GetVpcIamPoolResultOutput
> Note: This function is named GetVpcIamPool
in the Go SDK.
public static class GetVpcIamPool
{
public static Task<GetVpcIamPoolResult> InvokeAsync(GetVpcIamPoolArgs args, InvokeOptions? opts = null)
public static Output<GetVpcIamPoolResult> Invoke(GetVpcIamPoolInvokeArgs args, InvokeOptions? opts = null)
}
public static CompletableFuture<GetVpcIamPoolResult> getVpcIamPool(GetVpcIamPoolArgs args, InvokeOptions options)
// Output-based functions aren't available in Java yet
fn::invoke:
function: aws:ec2/getVpcIamPool:getVpcIamPool
arguments:
# arguments dictionary
The following arguments are supported:
- Dictionary<string, string>
Tags that are required to create resources in using this pool.
- Filters
List<Get
Vpc Iam Pool Filter> Custom filter block as described below.
- Id string
ID of the IPAM pool.
- Ipam
Pool stringId ID of the IPAM pool you would like information on.
- Dictionary<string, string>
Map of tags to assigned to the resource.
- map[string]string
Tags that are required to create resources in using this pool.
- Filters
[]Get
Vpc Iam Pool Filter Custom filter block as described below.
- Id string
ID of the IPAM pool.
- Ipam
Pool stringId ID of the IPAM pool you would like information on.
- map[string]string
Map of tags to assigned to the resource.
- Map<String,String>
Tags that are required to create resources in using this pool.
- filters
List<Get
Vpc Iam Pool Filter> Custom filter block as described below.
- id String
ID of the IPAM pool.
- ipam
Pool StringId ID of the IPAM pool you would like information on.
- Map<String,String>
Map of tags to assigned to the resource.
- {[key: string]: string}
Tags that are required to create resources in using this pool.
- filters
Get
Vpc Iam Pool Filter[] Custom filter block as described below.
- id string
ID of the IPAM pool.
- ipam
Pool stringId ID of the IPAM pool you would like information on.
- {[key: string]: string}
Map of tags to assigned to the resource.
- Mapping[str, str]
Tags that are required to create resources in using this pool.
- filters
Sequence[Get
Vpc Iam Pool Filter] Custom filter block as described below.
- id str
ID of the IPAM pool.
- ipam_
pool_ strid ID of the IPAM pool you would like information on.
- Mapping[str, str]
Map of tags to assigned to the resource.
- Map<String>
Tags that are required to create resources in using this pool.
- filters List<Property Map>
Custom filter block as described below.
- id String
ID of the IPAM pool.
- ipam
Pool StringId ID of the IPAM pool you would like information on.
- Map<String>
Map of tags to assigned to the resource.
getVpcIamPool Result
The following output properties are available:
- Address
Family string IP protocol assigned to this pool.
- Allocation
Default intNetmask Length A default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is
10.0.0.0/8
and you enter 16 here, new allocations will default to10.0.0.0/16
.- Allocation
Max intNetmask Length The maximum netmask length that will be required for CIDR allocations in this pool.
- Allocation
Min intNetmask Length The minimum netmask length that will be required for CIDR allocations in this pool.
- Dictionary<string, string>
Tags that are required to create resources in using this pool.
- Arn string
ARN of the pool
- Auto
Import bool If enabled, IPAM will continuously look for resources within the CIDR range of this pool and automatically import them as allocations into your IPAM.
- Aws
Service string Limits which service in AWS that the pool can be used in.
ec2
for example, allows users to use space for Elastic IP addresses and VPCs.- Description string
Description for the IPAM pool.
- Ipam
Scope stringId ID of the scope the pool belongs to.
- Ipam
Scope stringType - Locale string
Locale is the Region where your pool is available for allocations. You can only create pools with locales that match the operating Regions of the IPAM. You can only create VPCs from a pool whose locale matches the VPC's Region.
- Pool
Depth int - Publicly
Advertisable bool Defines whether or not IPv6 pool space is publicly advertisable over the internet.
- Source
Ipam stringPool Id ID of the source IPAM pool.
- State string
- Dictionary<string, string>
Map of tags to assigned to the resource.
- Filters
List<Get
Vpc Iam Pool Filter> - Id string
ID of the IPAM pool.
- Ipam
Pool stringId
- Address
Family string IP protocol assigned to this pool.
- Allocation
Default intNetmask Length A default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is
10.0.0.0/8
and you enter 16 here, new allocations will default to10.0.0.0/16
.- Allocation
Max intNetmask Length The maximum netmask length that will be required for CIDR allocations in this pool.
- Allocation
Min intNetmask Length The minimum netmask length that will be required for CIDR allocations in this pool.
- map[string]string
Tags that are required to create resources in using this pool.
- Arn string
ARN of the pool
- Auto
Import bool If enabled, IPAM will continuously look for resources within the CIDR range of this pool and automatically import them as allocations into your IPAM.
- Aws
Service string Limits which service in AWS that the pool can be used in.
ec2
for example, allows users to use space for Elastic IP addresses and VPCs.- Description string
Description for the IPAM pool.
- Ipam
Scope stringId ID of the scope the pool belongs to.
- Ipam
Scope stringType - Locale string
Locale is the Region where your pool is available for allocations. You can only create pools with locales that match the operating Regions of the IPAM. You can only create VPCs from a pool whose locale matches the VPC's Region.
- Pool
Depth int - Publicly
Advertisable bool Defines whether or not IPv6 pool space is publicly advertisable over the internet.
- Source
Ipam stringPool Id ID of the source IPAM pool.
- State string
- map[string]string
Map of tags to assigned to the resource.
- Filters
[]Get
Vpc Iam Pool Filter - Id string
ID of the IPAM pool.
- Ipam
Pool stringId
- address
Family String IP protocol assigned to this pool.
- allocation
Default IntegerNetmask Length A default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is
10.0.0.0/8
and you enter 16 here, new allocations will default to10.0.0.0/16
.- allocation
Max IntegerNetmask Length The maximum netmask length that will be required for CIDR allocations in this pool.
- allocation
Min IntegerNetmask Length The minimum netmask length that will be required for CIDR allocations in this pool.
- Map<String,String>
Tags that are required to create resources in using this pool.
- arn String
ARN of the pool
- auto
Import Boolean If enabled, IPAM will continuously look for resources within the CIDR range of this pool and automatically import them as allocations into your IPAM.
- aws
Service String Limits which service in AWS that the pool can be used in.
ec2
for example, allows users to use space for Elastic IP addresses and VPCs.- description String
Description for the IPAM pool.
- ipam
Scope StringId ID of the scope the pool belongs to.
- ipam
Scope StringType - locale String
Locale is the Region where your pool is available for allocations. You can only create pools with locales that match the operating Regions of the IPAM. You can only create VPCs from a pool whose locale matches the VPC's Region.
- pool
Depth Integer - publicly
Advertisable Boolean Defines whether or not IPv6 pool space is publicly advertisable over the internet.
- source
Ipam StringPool Id ID of the source IPAM pool.
- state String
- Map<String,String>
Map of tags to assigned to the resource.
- filters
List<Get
Vpc Iam Pool Filter> - id String
ID of the IPAM pool.
- ipam
Pool StringId
- address
Family string IP protocol assigned to this pool.
- allocation
Default numberNetmask Length A default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is
10.0.0.0/8
and you enter 16 here, new allocations will default to10.0.0.0/16
.- allocation
Max numberNetmask Length The maximum netmask length that will be required for CIDR allocations in this pool.
- allocation
Min numberNetmask Length The minimum netmask length that will be required for CIDR allocations in this pool.
- {[key: string]: string}
Tags that are required to create resources in using this pool.
- arn string
ARN of the pool
- auto
Import boolean If enabled, IPAM will continuously look for resources within the CIDR range of this pool and automatically import them as allocations into your IPAM.
- aws
Service string Limits which service in AWS that the pool can be used in.
ec2
for example, allows users to use space for Elastic IP addresses and VPCs.- description string
Description for the IPAM pool.
- ipam
Scope stringId ID of the scope the pool belongs to.
- ipam
Scope stringType - locale string
Locale is the Region where your pool is available for allocations. You can only create pools with locales that match the operating Regions of the IPAM. You can only create VPCs from a pool whose locale matches the VPC's Region.
- pool
Depth number - publicly
Advertisable boolean Defines whether or not IPv6 pool space is publicly advertisable over the internet.
- source
Ipam stringPool Id ID of the source IPAM pool.
- state string
- {[key: string]: string}
Map of tags to assigned to the resource.
- filters
Get
Vpc Iam Pool Filter[] - id string
ID of the IPAM pool.
- ipam
Pool stringId
- address_
family str IP protocol assigned to this pool.
- allocation_
default_ intnetmask_ length A default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is
10.0.0.0/8
and you enter 16 here, new allocations will default to10.0.0.0/16
.- allocation_
max_ intnetmask_ length The maximum netmask length that will be required for CIDR allocations in this pool.
- allocation_
min_ intnetmask_ length The minimum netmask length that will be required for CIDR allocations in this pool.
- Mapping[str, str]
Tags that are required to create resources in using this pool.
- arn str
ARN of the pool
- auto_
import bool If enabled, IPAM will continuously look for resources within the CIDR range of this pool and automatically import them as allocations into your IPAM.
- aws_
service str Limits which service in AWS that the pool can be used in.
ec2
for example, allows users to use space for Elastic IP addresses and VPCs.- description str
Description for the IPAM pool.
- ipam_
scope_ strid ID of the scope the pool belongs to.
- ipam_
scope_ strtype - locale str
Locale is the Region where your pool is available for allocations. You can only create pools with locales that match the operating Regions of the IPAM. You can only create VPCs from a pool whose locale matches the VPC's Region.
- pool_
depth int - publicly_
advertisable bool Defines whether or not IPv6 pool space is publicly advertisable over the internet.
- source_
ipam_ strpool_ id ID of the source IPAM pool.
- state str
- Mapping[str, str]
Map of tags to assigned to the resource.
- filters
Sequence[Get
Vpc Iam Pool Filter] - id str
ID of the IPAM pool.
- ipam_
pool_ strid
- address
Family String IP protocol assigned to this pool.
- allocation
Default NumberNetmask Length A default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is
10.0.0.0/8
and you enter 16 here, new allocations will default to10.0.0.0/16
.- allocation
Max NumberNetmask Length The maximum netmask length that will be required for CIDR allocations in this pool.
- allocation
Min NumberNetmask Length The minimum netmask length that will be required for CIDR allocations in this pool.
- Map<String>
Tags that are required to create resources in using this pool.
- arn String
ARN of the pool
- auto
Import Boolean If enabled, IPAM will continuously look for resources within the CIDR range of this pool and automatically import them as allocations into your IPAM.
- aws
Service String Limits which service in AWS that the pool can be used in.
ec2
for example, allows users to use space for Elastic IP addresses and VPCs.- description String
Description for the IPAM pool.
- ipam
Scope StringId ID of the scope the pool belongs to.
- ipam
Scope StringType - locale String
Locale is the Region where your pool is available for allocations. You can only create pools with locales that match the operating Regions of the IPAM. You can only create VPCs from a pool whose locale matches the VPC's Region.
- pool
Depth Number - publicly
Advertisable Boolean Defines whether or not IPv6 pool space is publicly advertisable over the internet.
- source
Ipam StringPool Id ID of the source IPAM pool.
- state String
- Map<String>
Map of tags to assigned to the resource.
- filters List<Property Map>
- id String
ID of the IPAM pool.
- ipam
Pool StringId
Supporting Types
GetVpcIamPoolFilter
Package Details
- Repository
- AWS Classic pulumi/pulumi-aws
- License
- Apache-2.0
- Notes
This Pulumi package is based on the
aws
Terraform Provider.
Try AWS Native preview for resources not in the classic version.