import * as pulumi from "@pulumi/pulumi"; import * as enums from "../../types/enums"; /** * Creates a new internal range in a given project and location. */ export declare class InternalRange extends pulumi.CustomResource { /** * Get an existing InternalRange 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, opts?: pulumi.CustomResourceOptions): InternalRange; /** * Returns true if the given object is an instance of InternalRange. 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 InternalRange; /** * Time when the internal range was created. */ readonly createTime: pulumi.Output; /** * A description of this resource. */ readonly description: pulumi.Output; /** * Optional. Resource ID (i.e. 'foo' in '[...]/projects/p/locations/l/internalRanges/foo') See https://google.aip.dev/122#resource-id-segments Unique per location. */ readonly internalRangeId: pulumi.Output; /** * IP range that this internal range defines. */ readonly ipCidrRange: pulumi.Output; /** * User-defined labels. */ readonly labels: pulumi.Output<{ [key: string]: string; }>; readonly location: pulumi.Output; /** * Immutable. The name of an internal range. Format: projects/{project}/locations/{location}/internalRanges/{internal_range} See: https://google.aip.dev/122#fields-representing-resource-names */ readonly name: pulumi.Output; /** * The URL or resource ID of the network in which to reserve the internal range. The network cannot be deleted if there are any reserved internal ranges referring to it. Legacy networks are not supported. This can only be specified for a global internal address. Example: - URL: /compute/v1/projects/{project}/global/networks/{resourceId} - ID: network123 */ readonly network: pulumi.Output; /** * Optional. Types of resources that are allowed to overlap with the current internal range. */ readonly overlaps: pulumi.Output; /** * The type of peering set for this internal range. */ readonly peering: pulumi.Output; /** * An alternative to ip_cidr_range. Can be set when trying to create a reservation that automatically finds a free range of the given size. If both ip_cidr_range and prefix_length are set, there is an error if the range sizes do not match. Can also be used during updates to change the range size. */ readonly prefixLength: pulumi.Output; readonly project: pulumi.Output; /** * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if the original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). */ readonly requestId: pulumi.Output; /** * Optional. Can be set to narrow down or pick a different address space while searching for a free range. If not set, defaults to the "10.0.0.0/8" address space. This can be used to search in other rfc-1918 address spaces like "172.16.0.0/12" and "192.168.0.0/16" or non-rfc-1918 address spaces used in the VPC. */ readonly targetCidrRange: pulumi.Output; /** * Time when the internal range was updated. */ readonly updateTime: pulumi.Output; /** * The type of usage set for this internal range. */ readonly usage: pulumi.Output; /** * The list of resources that refer to this internal range. Resources that use the internal range for their range allocation are referred to as users of the range. Other resources mark themselves as users while doing so by creating a reference to this internal range. Having a user, based on this reference, prevents deletion of the internal range that is referred to. Can be empty. */ readonly users: pulumi.Output; /** * Create a InternalRange 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?: InternalRangeArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a InternalRange resource. */ export interface InternalRangeArgs { /** * Time when the internal range was created. */ createTime?: pulumi.Input; /** * A description of this resource. */ description?: pulumi.Input; /** * Optional. Resource ID (i.e. 'foo' in '[...]/projects/p/locations/l/internalRanges/foo') See https://google.aip.dev/122#resource-id-segments Unique per location. */ internalRangeId?: pulumi.Input; /** * IP range that this internal range defines. */ ipCidrRange?: pulumi.Input; /** * User-defined labels. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; location?: pulumi.Input; /** * Immutable. The name of an internal range. Format: projects/{project}/locations/{location}/internalRanges/{internal_range} See: https://google.aip.dev/122#fields-representing-resource-names */ name?: pulumi.Input; /** * The URL or resource ID of the network in which to reserve the internal range. The network cannot be deleted if there are any reserved internal ranges referring to it. Legacy networks are not supported. This can only be specified for a global internal address. Example: - URL: /compute/v1/projects/{project}/global/networks/{resourceId} - ID: network123 */ network?: pulumi.Input; /** * Optional. Types of resources that are allowed to overlap with the current internal range. */ overlaps?: pulumi.Input[]>; /** * The type of peering set for this internal range. */ peering?: pulumi.Input; /** * An alternative to ip_cidr_range. Can be set when trying to create a reservation that automatically finds a free range of the given size. If both ip_cidr_range and prefix_length are set, there is an error if the range sizes do not match. Can also be used during updates to change the range size. */ prefixLength?: pulumi.Input; project?: pulumi.Input; /** * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if the original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). */ requestId?: pulumi.Input; /** * Optional. Can be set to narrow down or pick a different address space while searching for a free range. If not set, defaults to the "10.0.0.0/8" address space. This can be used to search in other rfc-1918 address spaces like "172.16.0.0/12" and "192.168.0.0/16" or non-rfc-1918 address spaces used in the VPC. */ targetCidrRange?: pulumi.Input[]>; /** * Time when the internal range was updated. */ updateTime?: pulumi.Input; /** * The type of usage set for this internal range. */ usage?: pulumi.Input; }