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