1. Packages
  2. AWS
  3. API Docs
  4. ec2
  5. getVpcIpamPools
AWS v6.60.0 published on Tuesday, Nov 19, 2024 by Pulumi

aws.ec2.getVpcIpamPools

Explore with Pulumi AI

aws logo
AWS v6.60.0 published on Tuesday, Nov 19, 2024 by Pulumi

    aws.ec2.getVpcIpamPools provides details about IPAM pools.

    This resource can prove useful when IPAM pools are created in another root module and you need the pool ids as input variables. For example, pools can be shared via RAM and used to create vpcs with CIDRs from that pool.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const test = aws.ec2.getVpcIpamPools({
        filters: [
            {
                name: "description",
                values: ["*test*"],
            },
            {
                name: "address-family",
                values: ["ipv4"],
            },
        ],
    });
    
    import pulumi
    import pulumi_aws as aws
    
    test = aws.ec2.get_vpc_ipam_pools(filters=[
        {
            "name": "description",
            "values": ["*test*"],
        },
        {
            "name": "address-family",
            "values": ["ipv4"],
        },
    ])
    
    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.GetVpcIpamPools(ctx, &ec2.GetVpcIpamPoolsArgs{
    			Filters: []ec2.GetVpcIpamPoolsFilter{
    				{
    					Name: "description",
    					Values: []string{
    						"*test*",
    					},
    				},
    				{
    					Name: "address-family",
    					Values: []string{
    						"ipv4",
    					},
    				},
    			},
    		}, nil)
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var test = Aws.Ec2.GetVpcIpamPools.Invoke(new()
        {
            Filters = new[]
            {
                new Aws.Ec2.Inputs.GetVpcIpamPoolsFilterInputArgs
                {
                    Name = "description",
                    Values = new[]
                    {
                        "*test*",
                    },
                },
                new Aws.Ec2.Inputs.GetVpcIpamPoolsFilterInputArgs
                {
                    Name = "address-family",
                    Values = new[]
                    {
                        "ipv4",
                    },
                },
            },
        });
    
    });
    
    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.GetVpcIpamPoolsArgs;
    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 test = Ec2Functions.getVpcIpamPools(GetVpcIpamPoolsArgs.builder()
                .filters(            
                    GetVpcIpamPoolsFilterArgs.builder()
                        .name("description")
                        .values("*test*")
                        .build(),
                    GetVpcIpamPoolsFilterArgs.builder()
                        .name("address-family")
                        .values("ipv4")
                        .build())
                .build());
    
        }
    }
    
    variables:
      test:
        fn::invoke:
          Function: aws:ec2:getVpcIpamPools
          Arguments:
            filters:
              - name: description
                values:
                  - '*test*'
              - name: address-family
                values:
                  - ipv4
    

    Using getVpcIpamPools

    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 getVpcIpamPools(args: GetVpcIpamPoolsArgs, opts?: InvokeOptions): Promise<GetVpcIpamPoolsResult>
    function getVpcIpamPoolsOutput(args: GetVpcIpamPoolsOutputArgs, opts?: InvokeOptions): Output<GetVpcIpamPoolsResult>
    def get_vpc_ipam_pools(filters: Optional[Sequence[GetVpcIpamPoolsFilter]] = None,
                           opts: Optional[InvokeOptions] = None) -> GetVpcIpamPoolsResult
    def get_vpc_ipam_pools_output(filters: Optional[pulumi.Input[Sequence[pulumi.Input[GetVpcIpamPoolsFilterArgs]]]] = None,
                           opts: Optional[InvokeOptions] = None) -> Output[GetVpcIpamPoolsResult]
    func GetVpcIpamPools(ctx *Context, args *GetVpcIpamPoolsArgs, opts ...InvokeOption) (*GetVpcIpamPoolsResult, error)
    func GetVpcIpamPoolsOutput(ctx *Context, args *GetVpcIpamPoolsOutputArgs, opts ...InvokeOption) GetVpcIpamPoolsResultOutput

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

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

    The following arguments are supported:

    Filters List<GetVpcIpamPoolsFilter>
    Custom filter block as described below.
    Filters []GetVpcIpamPoolsFilter
    Custom filter block as described below.
    filters List<GetVpcIpamPoolsFilter>
    Custom filter block as described below.
    filters GetVpcIpamPoolsFilter[]
    Custom filter block as described below.
    filters Sequence[GetVpcIpamPoolsFilter]
    Custom filter block as described below.
    filters List<Property Map>
    Custom filter block as described below.

    getVpcIpamPools Result

    The following output properties are available:

    Id string
    The provider-assigned unique ID for this managed resource.
    IpamPools List<GetVpcIpamPoolsIpamPool>
    List of IPAM pools and their attributes. See below for details
    Filters List<GetVpcIpamPoolsFilter>
    Id string
    The provider-assigned unique ID for this managed resource.
    IpamPools []GetVpcIpamPoolsIpamPool
    List of IPAM pools and their attributes. See below for details
    Filters []GetVpcIpamPoolsFilter
    id String
    The provider-assigned unique ID for this managed resource.
    ipamPools List<GetVpcIpamPoolsIpamPool>
    List of IPAM pools and their attributes. See below for details
    filters List<GetVpcIpamPoolsFilter>
    id string
    The provider-assigned unique ID for this managed resource.
    ipamPools GetVpcIpamPoolsIpamPool[]
    List of IPAM pools and their attributes. See below for details
    filters GetVpcIpamPoolsFilter[]
    id str
    The provider-assigned unique ID for this managed resource.
    ipam_pools Sequence[GetVpcIpamPoolsIpamPool]
    List of IPAM pools and their attributes. See below for details
    filters Sequence[GetVpcIpamPoolsFilter]
    id String
    The provider-assigned unique ID for this managed resource.
    ipamPools List<Property Map>
    List of IPAM pools and their attributes. See below for details
    filters List<Property Map>

    Supporting Types

    GetVpcIpamPoolsFilter

    Name string
    The name of the filter. Filter names are case-sensitive.
    Values List<string>
    The filter values. Filter values are case-sensitive.
    Name string
    The name of the filter. Filter names are case-sensitive.
    Values []string
    The filter values. Filter values are case-sensitive.
    name String
    The name of the filter. Filter names are case-sensitive.
    values List<String>
    The filter values. Filter values are case-sensitive.
    name string
    The name of the filter. Filter names are case-sensitive.
    values string[]
    The filter values. Filter values are case-sensitive.
    name str
    The name of the filter. Filter names are case-sensitive.
    values Sequence[str]
    The filter values. Filter values are case-sensitive.
    name String
    The name of the filter. Filter names are case-sensitive.
    values List<String>
    The filter values. Filter values are case-sensitive.

    GetVpcIpamPoolsIpamPool

    AddressFamily string
    IP protocol assigned to this pool.
    AllocationDefaultNetmaskLength int
    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 to 10.0.0.0/16.
    AllocationMaxNetmaskLength int
    The maximum netmask length that will be required for CIDR allocations in this pool.
    AllocationMinNetmaskLength int
    The minimum netmask length that will be required for CIDR allocations in this pool.
    AllocationResourceTags Dictionary<string, string>
    Tags that are required to create resources in using this pool.
    Arn string
    ARN of the pool
    AutoImport 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.
    AwsService 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.
    Id string
    ID of the IPAM pool.
    IpamScopeId string
    ID of the scope the pool belongs to.
    IpamScopeType string
    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.
    PoolDepth int
    PubliclyAdvertisable bool
    Defines whether or not IPv6 pool space is publicly advertisable over the internet.
    SourceIpamPoolId string
    ID of the source IPAM pool.
    State string
    Tags Dictionary<string, string>
    Map of tags to assigned to the resource.
    AddressFamily string
    IP protocol assigned to this pool.
    AllocationDefaultNetmaskLength int
    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 to 10.0.0.0/16.
    AllocationMaxNetmaskLength int
    The maximum netmask length that will be required for CIDR allocations in this pool.
    AllocationMinNetmaskLength int
    The minimum netmask length that will be required for CIDR allocations in this pool.
    AllocationResourceTags map[string]string
    Tags that are required to create resources in using this pool.
    Arn string
    ARN of the pool
    AutoImport 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.
    AwsService 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.
    Id string
    ID of the IPAM pool.
    IpamScopeId string
    ID of the scope the pool belongs to.
    IpamScopeType string
    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.
    PoolDepth int
    PubliclyAdvertisable bool
    Defines whether or not IPv6 pool space is publicly advertisable over the internet.
    SourceIpamPoolId string
    ID of the source IPAM pool.
    State string
    Tags map[string]string
    Map of tags to assigned to the resource.
    addressFamily String
    IP protocol assigned to this pool.
    allocationDefaultNetmaskLength Integer
    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 to 10.0.0.0/16.
    allocationMaxNetmaskLength Integer
    The maximum netmask length that will be required for CIDR allocations in this pool.
    allocationMinNetmaskLength Integer
    The minimum netmask length that will be required for CIDR allocations in this pool.
    allocationResourceTags Map<String,String>
    Tags that are required to create resources in using this pool.
    arn String
    ARN of the pool
    autoImport 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.
    awsService 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.
    id String
    ID of the IPAM pool.
    ipamScopeId String
    ID of the scope the pool belongs to.
    ipamScopeType String
    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.
    poolDepth Integer
    publiclyAdvertisable Boolean
    Defines whether or not IPv6 pool space is publicly advertisable over the internet.
    sourceIpamPoolId String
    ID of the source IPAM pool.
    state String
    tags Map<String,String>
    Map of tags to assigned to the resource.
    addressFamily string
    IP protocol assigned to this pool.
    allocationDefaultNetmaskLength number
    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 to 10.0.0.0/16.
    allocationMaxNetmaskLength number
    The maximum netmask length that will be required for CIDR allocations in this pool.
    allocationMinNetmaskLength number
    The minimum netmask length that will be required for CIDR allocations in this pool.
    allocationResourceTags {[key: string]: string}
    Tags that are required to create resources in using this pool.
    arn string
    ARN of the pool
    autoImport 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.
    awsService 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.
    id string
    ID of the IPAM pool.
    ipamScopeId string
    ID of the scope the pool belongs to.
    ipamScopeType string
    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.
    poolDepth number
    publiclyAdvertisable boolean
    Defines whether or not IPv6 pool space is publicly advertisable over the internet.
    sourceIpamPoolId string
    ID of the source IPAM pool.
    state string
    tags {[key: string]: string}
    Map of tags to assigned to the resource.
    address_family str
    IP protocol assigned to this pool.
    allocation_default_netmask_length int
    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 to 10.0.0.0/16.
    allocation_max_netmask_length int
    The maximum netmask length that will be required for CIDR allocations in this pool.
    allocation_min_netmask_length int
    The minimum netmask length that will be required for CIDR allocations in this pool.
    allocation_resource_tags 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.
    id str
    ID of the IPAM pool.
    ipam_scope_id str
    ID of the scope the pool belongs to.
    ipam_scope_type str
    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_pool_id str
    ID of the source IPAM pool.
    state str
    tags Mapping[str, str]
    Map of tags to assigned to the resource.
    addressFamily String
    IP protocol assigned to this pool.
    allocationDefaultNetmaskLength Number
    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 to 10.0.0.0/16.
    allocationMaxNetmaskLength Number
    The maximum netmask length that will be required for CIDR allocations in this pool.
    allocationMinNetmaskLength Number
    The minimum netmask length that will be required for CIDR allocations in this pool.
    allocationResourceTags Map<String>
    Tags that are required to create resources in using this pool.
    arn String
    ARN of the pool
    autoImport 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.
    awsService 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.
    id String
    ID of the IPAM pool.
    ipamScopeId String
    ID of the scope the pool belongs to.
    ipamScopeType String
    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.
    poolDepth Number
    publiclyAdvertisable Boolean
    Defines whether or not IPv6 pool space is publicly advertisable over the internet.
    sourceIpamPoolId String
    ID of the source IPAM pool.
    state String
    tags Map<String>
    Map of tags to assigned to the resource.

    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
    AWS v6.60.0 published on Tuesday, Nov 19, 2024 by Pulumi