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