Reference documentation and code samples for the Compute Engine v1 API enum UsableSubnetwork.Types.Purpose.
The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION, PRIVATE_SERVICE_CONNECT or PRIVATE_NAT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. A subnet with purpose set to PRIVATE_NAT is used for Private NAT IP address by Private NAT Gateway. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.
Subnet reserved for Global Envoy-based Load Balancing.
InternalHttpsLoadBalancer
Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy purpose, please use REGIONAL_MANAGED_PROXY instead.
PeerMigration
Subnetwork will be used for Migration from one peered VPC to another. (a transient state of subnetwork while migrating resources from one project to another).
Private
Regular user created or automatically created subnet.
PrivateNat
Subnetwork used as source range for Private NAT Gateways.
PrivateRfc1918
Regular user created or automatically created subnet.
PrivateServiceConnect
Subnetworks created for Private Service Connect in the producer network.
RegionalManagedProxy
Subnetwork used for Regional Envoy-based Load Balancing.
UndefinedPurpose
A value indicating that the enum field is not set.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-08 UTC."],[[["\u003cp\u003eThis document provides reference information for the \u003ccode\u003eUsableSubnetwork.Types.Purpose\u003c/code\u003e enum within the Google Compute Engine v1 API, detailing its various versions.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version available is 3.6.0, with multiple prior versions listed, ranging down to version 1.0.0.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eUsableSubnetwork.Types.Purpose\u003c/code\u003e enum defines the intended use of a subnet, including options such as \u003ccode\u003ePRIVATE\u003c/code\u003e, \u003ccode\u003eGLOBAL_MANAGED_PROXY\u003c/code\u003e, \u003ccode\u003eREGIONAL_MANAGED_PROXY\u003c/code\u003e, \u003ccode\u003ePEER_MIGRATION\u003c/code\u003e, \u003ccode\u003ePRIVATE_SERVICE_CONNECT\u003c/code\u003e, and \u003ccode\u003ePRIVATE_NAT\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe purpose field determines how the subnet will be used within the Google Cloud environment, impacting features like load balancing, service connection, and private NAT, with \u003ccode\u003ePRIVATE\u003c/code\u003e being the default.\u003c/p\u003e\n"],["\u003cp\u003eThe documentation details the fields within the \u003ccode\u003eUsableSubnetwork.Types.Purpose\u003c/code\u003e enum, including a description of each purpose such as \u003ccode\u003eGlobalManagedProxy\u003c/code\u003e, \u003ccode\u003eInternalHttpsLoadBalancer\u003c/code\u003e, \u003ccode\u003ePeerMigration\u003c/code\u003e, \u003ccode\u003ePrivate\u003c/code\u003e, \u003ccode\u003ePrivateNat\u003c/code\u003e, \u003ccode\u003ePrivateRfc1918\u003c/code\u003e, \u003ccode\u003ePrivateServiceConnect\u003c/code\u003e, \u003ccode\u003eRegionalManagedProxy\u003c/code\u003e and \u003ccode\u003eUndefinedPurpose\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,[]]