REST Resource: projects.locations.internalRanges

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 (Usage),
  "peering": enum (Peering),
  "prefixLength": integer,
  "targetCidrRange": [
    string
  ],
  "users": [
    string
  ],
  "overlaps": [
    enum (Overlap)
  ],
  "migration": {
    object (Migration)
  }
}
Fields
name

string

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

string (Timestamp format)

Time when the internal range was created.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Time when the internal range was updated.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

labels

map (key: string, value: string)

User-defined labels.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

description

string

A description of this resource.

ipCidrRange

string

The IP range that this internal range defines.

network

string

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

enum (Usage)

The type of usage set for this InternalRange.

peering

enum (Peering)

The type of peering set for this internal range.

prefixLength

integer

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[]

string

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[]

string

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[]

enum (Overlap)

Optional. Types of resources that are allowed to overlap with the current internal range.

migration

object (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

string

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

string

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

create

Creates a new internal range in a given project and location.

delete

Deletes a single internal range.

get

Gets details of a single internal range.

list

Lists internal ranges in a given project and location.

patch

Updates the parameters of a single internal range.