@pulumi/aws-native
Version:
The Pulumi AWS Cloud Control Provider enables you to build, deploy, and manage [any AWS resource that's supported by the AWS Cloud Control API](https://github.com/pulumi/pulumi-aws-native/blob/master/provider/cmd/pulumi-gen-aws-native/supported-types.txt)
197 lines (196 loc) • 8.62 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
* Resource Schema of AWS::EC2::IPAMPool Type
*/
export declare class IpamPool extends pulumi.CustomResource {
/**
* Get an existing IpamPool resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): IpamPool;
/**
* Returns true if the given object is an instance of IpamPool. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is IpamPool;
/**
* The address family of the address space in this pool. Either IPv4 or IPv6.
*/
readonly addressFamily: pulumi.Output<string>;
/**
* The default netmask length for allocations made from this pool. This value is used when the netmask length of an allocation isn't specified.
*/
readonly allocationDefaultNetmaskLength: pulumi.Output<number | undefined>;
/**
* The maximum allowed netmask length for allocations made from this pool.
*/
readonly allocationMaxNetmaskLength: pulumi.Output<number | undefined>;
/**
* The minimum allowed netmask length for allocations made from this pool.
*/
readonly allocationMinNetmaskLength: pulumi.Output<number | undefined>;
/**
* When specified, an allocation will not be allowed unless a resource has a matching set of tags.
*/
readonly allocationResourceTags: pulumi.Output<outputs.ec2.IpamPoolTag[] | undefined>;
/**
* The Amazon Resource Name (ARN) of the IPAM Pool.
*/
readonly arn: pulumi.Output<string>;
/**
* Determines what to do if IPAM discovers resources that haven't been assigned an allocation. If set to true, an allocation will be made automatically.
*/
readonly autoImport: pulumi.Output<boolean | undefined>;
/**
* Limits which service in Amazon Web Services that the pool can be used in.
*/
readonly awsService: pulumi.Output<enums.ec2.IpamPoolAwsService | undefined>;
/**
* The description of the IPAM pool.
*/
readonly description: pulumi.Output<string | undefined>;
/**
* The Amazon Resource Name (ARN) of the IPAM this pool is a part of.
*/
readonly ipamArn: pulumi.Output<string>;
/**
* Id of the IPAM Pool.
*/
readonly ipamPoolId: pulumi.Output<string>;
/**
* The Amazon Resource Name (ARN) of the scope this pool is a part of.
*/
readonly ipamScopeArn: pulumi.Output<string>;
/**
* The Id of the scope this pool is a part of.
*/
readonly ipamScopeId: pulumi.Output<string>;
/**
* Determines whether this scope contains publicly routable space or space for a private network
*/
readonly ipamScopeType: pulumi.Output<enums.ec2.IpamPoolIpamScopeType>;
/**
* The region of this pool. If not set, this will default to "None" which will disable non-custom allocations. If the locale has been specified for the source pool, this value must match.
*/
readonly locale: pulumi.Output<string | undefined>;
/**
* The depth of this pool in the source pool hierarchy.
*/
readonly poolDepth: pulumi.Output<number>;
/**
* A list of cidrs representing the address space available for allocation in this pool.
*/
readonly provisionedCidrs: pulumi.Output<outputs.ec2.IpamPoolProvisionedCidr[] | undefined>;
/**
* The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools in the public scope. Default is `byoip`.
*/
readonly publicIpSource: pulumi.Output<enums.ec2.IpamPoolPublicIpSource | undefined>;
/**
* Determines whether or not address space from this pool is publicly advertised. Must be set if and only if the pool is IPv6.
*/
readonly publiclyAdvertisable: pulumi.Output<boolean | undefined>;
/**
* The Id of this pool's source. If set, all space provisioned in this pool must be free space provisioned in the parent pool.
*/
readonly sourceIpamPoolId: pulumi.Output<string | undefined>;
/**
* The resource used to provision CIDRs to a resource planning pool.
*/
readonly sourceResource: pulumi.Output<outputs.ec2.IpamPoolSourceResource | undefined>;
/**
* The state of this pool. This can be one of the following values: "create-in-progress", "create-complete", "modify-in-progress", "modify-complete", "delete-in-progress", or "delete-complete"
*/
readonly state: pulumi.Output<enums.ec2.IpamPoolState>;
/**
* An explanation of how the pool arrived at it current state.
*/
readonly stateMessage: pulumi.Output<string>;
/**
* An array of key-value pairs to apply to this resource.
*/
readonly tags: pulumi.Output<outputs.Tag[] | undefined>;
/**
* Create a IpamPool resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: IpamPoolArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* The set of arguments for constructing a IpamPool resource.
*/
export interface IpamPoolArgs {
/**
* The address family of the address space in this pool. Either IPv4 or IPv6.
*/
addressFamily: pulumi.Input<string>;
/**
* The default netmask length for allocations made from this pool. This value is used when the netmask length of an allocation isn't specified.
*/
allocationDefaultNetmaskLength?: pulumi.Input<number>;
/**
* The maximum allowed netmask length for allocations made from this pool.
*/
allocationMaxNetmaskLength?: pulumi.Input<number>;
/**
* The minimum allowed netmask length for allocations made from this pool.
*/
allocationMinNetmaskLength?: pulumi.Input<number>;
/**
* When specified, an allocation will not be allowed unless a resource has a matching set of tags.
*/
allocationResourceTags?: pulumi.Input<pulumi.Input<inputs.ec2.IpamPoolTagArgs>[]>;
/**
* Determines what to do if IPAM discovers resources that haven't been assigned an allocation. If set to true, an allocation will be made automatically.
*/
autoImport?: pulumi.Input<boolean>;
/**
* Limits which service in Amazon Web Services that the pool can be used in.
*/
awsService?: pulumi.Input<enums.ec2.IpamPoolAwsService>;
/**
* The description of the IPAM pool.
*/
description?: pulumi.Input<string>;
/**
* The Id of the scope this pool is a part of.
*/
ipamScopeId: pulumi.Input<string>;
/**
* The region of this pool. If not set, this will default to "None" which will disable non-custom allocations. If the locale has been specified for the source pool, this value must match.
*/
locale?: pulumi.Input<string>;
/**
* A list of cidrs representing the address space available for allocation in this pool.
*/
provisionedCidrs?: pulumi.Input<pulumi.Input<inputs.ec2.IpamPoolProvisionedCidrArgs>[]>;
/**
* The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools in the public scope. Default is `byoip`.
*/
publicIpSource?: pulumi.Input<enums.ec2.IpamPoolPublicIpSource>;
/**
* Determines whether or not address space from this pool is publicly advertised. Must be set if and only if the pool is IPv6.
*/
publiclyAdvertisable?: pulumi.Input<boolean>;
/**
* The Id of this pool's source. If set, all space provisioned in this pool must be free space provisioned in the parent pool.
*/
sourceIpamPoolId?: pulumi.Input<string>;
/**
* The resource used to provision CIDRs to a resource planning pool.
*/
sourceResource?: pulumi.Input<inputs.ec2.IpamPoolSourceResourceArgs>;
/**
* An array of key-value pairs to apply to this resource.
*/
tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>;
}