Resource: InternalRange
The internal range resource for IPAM operations within a VPC network. Used to represent a private address range along with behavioral characterstics of that range (its usage and peering behavior). Networking resources can link to this range if they are created as belonging to it.
JSON representation |
---|
{ "name": string, "createTime": string, "updateTime": string, "labels": { string: string, ... }, "description": string, "ipCidrRange": string, "network": string, "usage": enum ( |
Fields | |
---|---|
name |
Immutable. The name of an internal range. Format: projects/{project}/locations/{location}/internalRanges/{internalRange} See: https://google.aip.dev/122#fields-representing-resource-names |
createTime |
Time when the internal range was created. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
updateTime |
Time when the internal range was updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
labels |
User-defined labels. An object containing a list of |
description |
A description of this resource. |
ipCidrRange |
The IP range that this internal range defines. |
network |
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. For example: https://www.googleapis.com/compute/v1/projects/{project}/locations/global/networks/{network} projects/{project}/locations/global/networks/{network} {network} |
usage |
The type of usage set for this InternalRange. |
peering |
The type of peering set for this internal range. |
prefixLength |
An alternate to ipCidrRange. Can be set when trying to create an IPv4 reservation that automatically finds a free range of the given size. If both ipCidrRange and prefixLength are set, there is an error if the range sizes do not match. Can also be used during updates to change the range size. NOTE: For IPv6 this field only works if ipCidrRange is set as well, and both fields must match. In other words, with IPv6 this field only works as a redundant parameter. |
targetCidrRange[] |
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. |
users[] |
Output only. 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 referred to. Can be empty. |
overlaps[] |
Optional. Types of resources that are allowed to overlap with the current internal range. |
migration |
Optional. Must be present if usage is set to FOR_MIGRATION. This field is for internal use. |
Usage
Possible usage of an internal range.
Enums | |
---|---|
USAGE_UNSPECIFIED |
Unspecified usage is allowed in calls which identify the resource by other fields and do not need Usage set to complete. These are, i.e.: internalRanges.get and internalRanges.delete. Usage needs to be specified explicitly in internalRanges.create or internalRanges.patch calls. |
FOR_VPC |
A VPC resource can use the reserved CIDR block by associating it with the internal range resource if usage is set to FOR_VPC. |
EXTERNAL_TO_VPC |
Ranges created with EXTERNAL_TO_VPC cannot be associated with VPC resources and are meant to block out address ranges for various use cases, like for example, usage on-prem, with dynamic route announcements via interconnect. |
FOR_MIGRATION |
Ranges created FOR_MIGRATION can be used to lock a CIDR range between a source and target subnet. If usage is set to FOR_MIGRATION, the peering value has to be set to FOR_SELF or default to FOR_SELF when unset. This value is for internal use. |
Peering
Peering type.
Enums | |
---|---|
PEERING_UNSPECIFIED |
If Peering is left unspecified in internalRanges.create or internalRanges.patch, it will be defaulted to FOR_SELF. |
FOR_SELF |
This is the default behavior and represents the case that this internal range is intended to be used in the VPC in which it is created and is accessible from its peers. This implies that peers or peers-of-peers cannot use this range. |
FOR_PEER |
This behavior can be set when the internal range is being reserved for usage by peers. This means that no resource within the VPC in which it is being created can use this to associate with a VPC resource, but one of the peers can. This represents donating a range for peers to use. |
NOT_SHARED |
This behavior can be set when the internal range is being reserved for usage by the VPC in which it is created, but not shared with peers. In a sense, it is local to the VPC. This can be used to create internal ranges for various purposes like HTTP_INTERNAL_LOAD_BALANCER or for Interconnect routes that are not shared with peers. This also implies that peers cannot use this range in a way that is visible to this VPC, but can re-use this range as long as it is NOT_SHARED from the peer VPC, too. |
Overlap
Overlap specifications.
Enums | |
---|---|
OVERLAP_UNSPECIFIED |
No overlap overrides. |
OVERLAP_ROUTE_RANGE |
Allow creation of static routes more specific that the current internal range. |
OVERLAP_EXISTING_SUBNET_RANGE |
Allow creation of internal ranges that overlap with existing subnets. |
Migration
Specification for migration with source and target resource names.
JSON representation |
---|
{ "source": string, "target": string } |
Fields | |
---|---|
source |
Immutable. Resource path as an URI of the source resource, for example a subnet. The project for the source resource should match the project for the InternalRange. An example: /projects/{project}/regions/{region}/subnetworks/{subnet} |
target |
Immutable. Resource path of the target resource. The target project can be different, as in the cases when migrating to peer networks. The resource For example: /projects/{project}/regions/{region}/subnetworks/{subnet} |
Methods |
|
---|---|
|
Creates a new internal range in a given project and location. |
|
Deletes a single internal range. |
|
Gets details of a single internal range. |
|
Lists internal ranges in a given project and location. |
|
Updates the parameters of a single internal range. |