UNPKG

@pulumi/aws

Version:

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

109 lines (108 loc) 4.2 kB
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), * }); * ``` */ export declare function getIpamPreviewNextCidr(args: GetIpamPreviewNextCidrArgs, opts?: pulumi.InvokeOptions): Promise<GetIpamPreviewNextCidrResult>; /** * 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), * }); * ``` */ export declare function getIpamPreviewNextCidrOutput(args: GetIpamPreviewNextCidrOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetIpamPreviewNextCidrResult>; /** * A collection of arguments for invoking getIpamPreviewNextCidr. */ export interface GetIpamPreviewNextCidrOutputArgs { /** * Exclude a particular CIDR range from being returned by the pool. */ disallowedCidrs?: pulumi.Input<pulumi.Input<string>[]>; /** * ID of the pool to which you want to assign a CIDR. */ ipamPoolId: pulumi.Input<string>; /** * Netmask length of the CIDR you would like to preview from the IPAM pool. */ netmaskLength?: pulumi.Input<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?: pulumi.Input<string>; }