@pulumi/aws
Version:
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
109 lines (108 loc) • 4.2 kB
TypeScript
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>;
}