Class InternalRange (2.13.0)

InternalRange(mapping=None, *, ignore_unknown_fields=False, **kwargs)

The internal range resource for IPAM operations within a VPC network. Used to represent a private address range along with behavioral characteristics of that range (its usage and peering behavior). Networking resources can link to this range if they are created as belonging to it.

Attributes

Name Description
name str
Identifier. The name of an internal range. Format: projects/{project}/locations/{location}/internalRanges/{internal_range} See: https://google.aip.dev/122#fields-representing-resource-names
create_time google.protobuf.timestamp_pb2.Timestamp
Output only. Time when the internal range was created.
update_time google.protobuf.timestamp_pb2.Timestamp
Output only. Time when the internal range was updated.
labels MutableMapping[str, str]
User-defined labels.
description str
Optional. A description of this resource.
ip_cidr_range str
Optional. The IP range that this internal range defines. NOTE: IPv6 ranges are limited to usage=EXTERNAL_TO_VPC and peering=FOR_SELF. NOTE: For IPv6 Ranges this field is compulsory, i.e. the address range must be specified explicitly.
network str
Immutable. 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 google.cloud.networkconnectivity_v1.types.InternalRange.Usage
Optional. The type of usage set for this InternalRange.
peering google.cloud.networkconnectivity_v1.types.InternalRange.Peering
Optional. The type of peering set for this internal range.
prefix_length int
Optional. An alternate to ip_cidr_range. Can be set when trying to create an IPv4 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. NOTE: For IPv6 this field only works if ip_cidr_range is set as well, and both fields must match. In other words, with IPv6 this field only works as a redundant parameter.
target_cidr_range MutableSequence[str]
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", "172.16.0.0/12", "192.168.0.0/16"] address space (for auto-mode networks, the "10.0.0.0/9" range is used instead of "10.0.0.0/8"). This can be used to target the 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 MutableSequence[str]
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 MutableSequence[google.cloud.networkconnectivity_v1.types.InternalRange.Overlap]
Optional. Types of resources that are allowed to overlap with the current internal range.
migration google.cloud.networkconnectivity_v1.types.InternalRange.Migration
Optional. Must be present if usage is set to FOR_MIGRATION.
immutable bool
Optional. Immutable ranges cannot have their fields modified, except for labels and description.
allocation_options google.cloud.networkconnectivity_v1.types.InternalRange.AllocationOptions
Optional. Range auto-allocation options, may be set only when auto-allocation is selected by not setting ip_cidr_range (and setting prefix_length).
exclude_cidr_ranges MutableSequence[str]
Optional. ExcludeCidrRanges flag. Specifies a set of CIDR blocks that allows exclusion of particular CIDR ranges from the auto-allocation process, without having to reserve these blocks

Classes

AllocationOptions

AllocationOptions(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Range auto-allocation options, to be optionally used when CIDR block is not explicitly set.

AllocationStrategy

AllocationStrategy(value)

Enumeration of range auto-allocation strategies

LabelsEntry

LabelsEntry(mapping=None, *, ignore_unknown_fields=False, **kwargs)

The abstract base class for a message.

Parameters
Name Description
kwargs dict

Keys and values corresponding to the fields of the message.

mapping Union[dict, .Message]

A dictionary or message to be used to determine the values for this message.

ignore_unknown_fields Optional(bool)

If True, do not raise errors for unknown fields. Only applied if mapping is a mapping type or there are keyword parameters.

Migration

Migration(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Specification for migration with source and target resource names.

Overlap

Overlap(value)

Overlap specifications.

Peering

Peering(value)

Peering type.

Usage

Usage(value)

Possible usage of an internal range.

    GetInternalRange and DeleteInternalRange.
    Usage needs to be specified explicitly in
    CreateInternalRange or UpdateInternalRange
    calls.
FOR_VPC (1):
    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 (2):
    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 (3):
    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.