UNPKG

@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
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>[]>; }