UNPKG

@pulumi/aws

Version:

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

166 lines (165 loc) 5.2 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * `aws.ec2.getVpcIpamPoolCidrs` provides details about an IPAM pool. * * This resource can prove useful when an ipam pool was shared to your account and you want to know all (or a filtered list) of the CIDRs that are provisioned into the pool. * * ## Example Usage * * Basic usage: * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const p = aws.ec2.getVpcIpamPool({ * filters: [ * { * name: "description", * values: ["*mypool*"], * }, * { * name: "address-family", * values: ["ipv4"], * }, * ], * }); * const c = p.then(p => aws.ec2.getVpcIpamPoolCidrs({ * ipamPoolId: p.id, * })); * ``` * * Filtering: * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const c = aws.ec2.getVpcIpamPoolCidrs({ * ipamPoolId: "ipam-pool-123", * filters: [{ * name: "cidr", * values: ["10.*"], * }], * }); * const mycidrs = c.then(c => .filter(cidr => cidr.state == "provisioned").map(cidr => (cidr.cidr))); * const pls = new aws.ec2.ManagedPrefixList("pls", { * entries: mycidrs.map((v, k) => ({key: k, value: v})).apply(entries => entries.map(entry => ({ * cidr: entry.value, * description: entry.value, * }))), * name: `IPAM Pool (${test.id}) Cidrs`, * addressFamily: "IPv4", * maxEntries: mycidrs.length, * }); * ``` */ export declare function getVpcIpamPoolCidrs(args: GetVpcIpamPoolCidrsArgs, opts?: pulumi.InvokeOptions): Promise<GetVpcIpamPoolCidrsResult>; /** * A collection of arguments for invoking getVpcIpamPoolCidrs. */ export interface GetVpcIpamPoolCidrsArgs { /** * Custom filter block as described below. */ filters?: inputs.ec2.GetVpcIpamPoolCidrsFilter[]; /** * ID of the IPAM pool you would like the list of provisioned CIDRs. */ ipamPoolId: string; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: string; } /** * A collection of values returned by getVpcIpamPoolCidrs. */ export interface GetVpcIpamPoolCidrsResult { readonly filters?: outputs.ec2.GetVpcIpamPoolCidrsFilter[]; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; /** * The CIDRs provisioned into the IPAM pool, described below. */ readonly ipamPoolCidrs: outputs.ec2.GetVpcIpamPoolCidrsIpamPoolCidr[]; readonly ipamPoolId: string; readonly region: string; } /** * `aws.ec2.getVpcIpamPoolCidrs` provides details about an IPAM pool. * * This resource can prove useful when an ipam pool was shared to your account and you want to know all (or a filtered list) of the CIDRs that are provisioned into the pool. * * ## Example Usage * * Basic usage: * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const p = aws.ec2.getVpcIpamPool({ * filters: [ * { * name: "description", * values: ["*mypool*"], * }, * { * name: "address-family", * values: ["ipv4"], * }, * ], * }); * const c = p.then(p => aws.ec2.getVpcIpamPoolCidrs({ * ipamPoolId: p.id, * })); * ``` * * Filtering: * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const c = aws.ec2.getVpcIpamPoolCidrs({ * ipamPoolId: "ipam-pool-123", * filters: [{ * name: "cidr", * values: ["10.*"], * }], * }); * const mycidrs = c.then(c => .filter(cidr => cidr.state == "provisioned").map(cidr => (cidr.cidr))); * const pls = new aws.ec2.ManagedPrefixList("pls", { * entries: mycidrs.map((v, k) => ({key: k, value: v})).apply(entries => entries.map(entry => ({ * cidr: entry.value, * description: entry.value, * }))), * name: `IPAM Pool (${test.id}) Cidrs`, * addressFamily: "IPv4", * maxEntries: mycidrs.length, * }); * ``` */ export declare function getVpcIpamPoolCidrsOutput(args: GetVpcIpamPoolCidrsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetVpcIpamPoolCidrsResult>; /** * A collection of arguments for invoking getVpcIpamPoolCidrs. */ export interface GetVpcIpamPoolCidrsOutputArgs { /** * Custom filter block as described below. */ filters?: pulumi.Input<pulumi.Input<inputs.ec2.GetVpcIpamPoolCidrsFilterArgs>[]>; /** * ID of the IPAM pool you would like the list of provisioned CIDRs. */ ipamPoolId: pulumi.Input<string>; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input<string>; }