import * as pulumi from "@pulumi/pulumi"; /** * Previews a CIDR from an IPAM address pool. Only works for private IPv4. * * > **NOTE:** This functionality is also encapsulated in a resource sharing the same name. The data source can be used when you need to use the cidr in a calculation of the same Root module, `count` for example. However, once a cidr range has been allocated that was previewed, the next refresh will find a **new** cidr and may force new resources downstream. Make sure to use `ignoreChanges` if this is undesirable. * * ## Example Usage * * Basic usage: * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const test = aws.ec2.getIpamPreviewNextCidr({ * ipamPoolId: testAwsVpcIpamPool.id, * netmaskLength: 28, * }); * const testVpcIpamPoolCidrAllocation = new aws.ec2.VpcIpamPoolCidrAllocation("test", { * ipamPoolId: testAwsVpcIpamPool.id, * cidr: test.then(test => test.cidr), * }, { * ignoreChanges: ["cidr"], * }); * ``` */ export declare function getIpamPreviewNextCidr(args: GetIpamPreviewNextCidrArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getIpamPreviewNextCidr. */ export interface GetIpamPreviewNextCidrArgs { /** * Exclude a particular CIDR range from being returned by the pool. */ disallowedCidrs?: string[]; /** * ID of the pool to which you want to assign a CIDR. */ ipamPoolId: string; /** * Netmask length of the CIDR you would like to preview from the IPAM pool. */ netmaskLength?: number; /** * 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 getIpamPreviewNextCidr. */ export interface GetIpamPreviewNextCidrResult { /** * Previewed CIDR from the pool. */ readonly cidr: string; readonly disallowedCidrs?: string[]; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; readonly ipamPoolId: string; readonly netmaskLength?: number; readonly region: string; } /** * Previews a CIDR from an IPAM address pool. Only works for private IPv4. * * > **NOTE:** This functionality is also encapsulated in a resource sharing the same name. The data source can be used when you need to use the cidr in a calculation of the same Root module, `count` for example. However, once a cidr range has been allocated that was previewed, the next refresh will find a **new** cidr and may force new resources downstream. Make sure to use `ignoreChanges` if this is undesirable. * * ## Example Usage * * Basic usage: * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const test = aws.ec2.getIpamPreviewNextCidr({ * ipamPoolId: testAwsVpcIpamPool.id, * netmaskLength: 28, * }); * const testVpcIpamPoolCidrAllocation = new aws.ec2.VpcIpamPoolCidrAllocation("test", { * ipamPoolId: testAwsVpcIpamPool.id, * cidr: test.then(test => test.cidr), * }, { * ignoreChanges: ["cidr"], * }); * ``` */ export declare function getIpamPreviewNextCidrOutput(args: GetIpamPreviewNextCidrOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getIpamPreviewNextCidr. */ export interface GetIpamPreviewNextCidrOutputArgs { /** * Exclude a particular CIDR range from being returned by the pool. */ disallowedCidrs?: pulumi.Input[] | undefined>; /** * ID of the pool to which you want to assign a CIDR. */ ipamPoolId: pulumi.Input; /** * Netmask length of the CIDR you would like to preview from the IPAM pool. */ netmaskLength?: pulumi.Input; /** * 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; } //# sourceMappingURL=getIpamPreviewNextCidr.d.ts.map