public sealed class InternalRange : IMessage<InternalRange>, IEquatable<InternalRange>, IDeepCloneable<InternalRange>, IBufferMessage, IMessage
Reference documentation and code samples for the Network Connectivity v1 API class InternalRange.
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.
public RepeatedField<string> ExcludeCidrRanges { get; }
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
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.
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}
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.
public RepeatedField<string> TargetCidrRange { get; }
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.
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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[],[],null,["# Network Connectivity v1 API - Class InternalRange (2.11.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.11.0 (latest)](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/latest/Google.Cloud.NetworkConnectivity.V1.InternalRange)\n- [2.10.0](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/2.10.0/Google.Cloud.NetworkConnectivity.V1.InternalRange)\n- [2.9.0](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/2.9.0/Google.Cloud.NetworkConnectivity.V1.InternalRange)\n- [2.8.0](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/2.8.0/Google.Cloud.NetworkConnectivity.V1.InternalRange)\n- [2.7.0](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/2.7.0/Google.Cloud.NetworkConnectivity.V1.InternalRange)\n- [2.6.0](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/2.6.0/Google.Cloud.NetworkConnectivity.V1.InternalRange)\n- [2.5.0](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/2.5.0/Google.Cloud.NetworkConnectivity.V1.InternalRange)\n- [2.4.0](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/2.4.0/Google.Cloud.NetworkConnectivity.V1.InternalRange)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/2.3.0/Google.Cloud.NetworkConnectivity.V1.InternalRange)\n- [2.2.0](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/2.2.0/Google.Cloud.NetworkConnectivity.V1.InternalRange)\n- [2.1.0](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/2.1.0/Google.Cloud.NetworkConnectivity.V1.InternalRange)\n- [2.0.0](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/2.0.0/Google.Cloud.NetworkConnectivity.V1.InternalRange)\n- [1.2.0](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/1.2.0/Google.Cloud.NetworkConnectivity.V1.InternalRange)\n- [1.1.0](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/1.1.0/Google.Cloud.NetworkConnectivity.V1.InternalRange)\n- [1.0.0](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/1.0.0/Google.Cloud.NetworkConnectivity.V1.InternalRange) \n\n public sealed class InternalRange : IMessage\u003cInternalRange\u003e, IEquatable\u003cInternalRange\u003e, IDeepCloneable\u003cInternalRange\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Network Connectivity v1 API class InternalRange.\n\nThe internal range resource for IPAM operations within a VPC network.\nUsed to represent a private address range along with behavioral\ncharacteristics of that range (its usage and peering behavior).\nNetworking resources can link to this range if they are created\nas belonging to it. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e InternalRange \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[InternalRange](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/latest/Google.Cloud.NetworkConnectivity.V1.InternalRange), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[InternalRange](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/latest/Google.Cloud.NetworkConnectivity.V1.InternalRange), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[InternalRange](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/latest/Google.Cloud.NetworkConnectivity.V1.InternalRange), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.NetworkConnectivity.V1](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/latest/Google.Cloud.NetworkConnectivity.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.NetworkConnectivity.V1.dll\n\nConstructors\n------------\n\n### InternalRange()\n\n public InternalRange()\n\n### InternalRange(InternalRange)\n\n public InternalRange(InternalRange other)\n\nProperties\n----------\n\n### AllocationOptions\n\n public InternalRange.Types.AllocationOptions AllocationOptions { get; set; }\n\nOptional. Range auto-allocation options, may be set only when\nauto-allocation is selected by not setting ip_cidr_range (and setting\nprefix_length).\n\n### CreateTime\n\n public Timestamp CreateTime { get; set; }\n\nTime when the internal range was created.\n\n### Description\n\n public string Description { get; set; }\n\nOptional. A description of this resource.\n\n### ExcludeCidrRanges\n\n public RepeatedField\u003cstring\u003e ExcludeCidrRanges { get; }\n\nOptional. ExcludeCidrRanges flag. Specifies a set of CIDR blocks that\nallows exclusion of particular CIDR ranges from the auto-allocation\nprocess, without having to reserve these blocks\n\n### Immutable\n\n public bool Immutable { get; set; }\n\nOptional. Immutable ranges cannot have their fields modified, except for\nlabels and description.\n\n### InternalRangeName\n\n public InternalRangeName InternalRangeName { get; set; }\n\n[InternalRangeName](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/latest/Google.Cloud.NetworkConnectivity.V1.InternalRangeName)-typed view over the [Name](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/latest/Google.Cloud.NetworkConnectivity.V1.InternalRange#Google_Cloud_NetworkConnectivity_V1_InternalRange_Name) resource name property.\n\n### IpCidrRange\n\n public string IpCidrRange { get; set; }\n\nOptional. The IP range that this internal range defines.\nNOTE: IPv6 ranges are limited to usage=EXTERNAL_TO_VPC and\npeering=FOR_SELF.\nNOTE: For IPv6 Ranges this field is compulsory, i.e. the address range must\nbe specified explicitly.\n\n### Labels\n\n public MapField\u003cstring, string\u003e Labels { get; }\n\nUser-defined labels.\n\n### Migration\n\n public InternalRange.Types.Migration Migration { get; set; }\n\nOptional. Must be present if usage is set to FOR_MIGRATION.\n\n### Name\n\n public string Name { get; set; }\n\nIdentifier. The name of an internal range.\nFormat:\nprojects/{project}/locations/{location}/internalRanges/{internal_range}\nSee: \u003chttps://google.aip.dev/122#fields-representing-resource-names\u003e\n\n### Network\n\n public string Network { get; set; }\n\nImmutable. The URL or resource ID of the network in which to reserve the\ninternal range. The network cannot be deleted if there are any reserved\ninternal ranges referring to it. Legacy networks are not supported. For\nexample:\nhttps://www.googleapis.com/compute/v1/projects/{project}/locations/global/networks/{network}\nprojects/{project}/locations/global/networks/{network}\n{network}\n\n### Overlaps\n\n public RepeatedField\u003cInternalRange.Types.Overlap\u003e Overlaps { get; }\n\nOptional. Types of resources that are allowed to overlap with the current\ninternal range.\n\n### Peering\n\n public InternalRange.Types.Peering Peering { get; set; }\n\nOptional. The type of peering set for this internal range.\n\n### PrefixLength\n\n public int PrefixLength { get; set; }\n\nOptional. An alternate to ip_cidr_range. Can be set when trying to create\nan IPv4 reservation that automatically finds a free range of the given\nsize. If both ip_cidr_range and prefix_length are set, there is an error if\nthe range sizes do not match. Can also be used during updates to change the\nrange size.\nNOTE: For IPv6 this field only works if ip_cidr_range is set as well, and\nboth fields must match. In other words, with IPv6 this field only works as\na redundant parameter.\n\n### TargetCidrRange\n\n public RepeatedField\u003cstring\u003e TargetCidrRange { get; }\n\nOptional. Can be set to narrow down or pick a different address space while\nsearching for a free range. If not set, defaults to the \"10.0.0.0/8\"\naddress space. This can be used to search in other rfc-1918 address\nspaces like \"172.16.0.0/12\" and \"192.168.0.0/16\" or non-rfc-1918\naddress spaces used in the VPC.\n\n### UpdateTime\n\n public Timestamp UpdateTime { get; set; }\n\nTime when the internal range was updated.\n\n### Usage\n\n public InternalRange.Types.Usage Usage { get; set; }\n\nOptional. The type of usage set for this InternalRange.\n\n### Users\n\n public RepeatedField\u003cstring\u003e Users { get; }\n\nOutput only. The list of resources that refer to this internal range.\nResources that use the internal range for their range allocation\nare referred to as users of the range. Other resources mark themselves\nas users while doing so by creating a reference to this internal range.\nHaving a user, based on this reference, prevents deletion of the\ninternal range referred to. Can be empty."]]