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 or PRIVATE_SERVICE_CONNECT. 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. 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 page provides documentation for the \u003ccode\u003eUsableSubnetwork.Types.Purpose\u003c/code\u003e enum within the Google Cloud Compute Engine v1 API, detailing the various purposes for which a subnetwork can be configured.\u003c/p\u003e\n"],["\u003cp\u003eThe enum \u003ccode\u003eUsableSubnetwork.Types.Purpose\u003c/code\u003e supports several different resource purposes, including \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, and \u003ccode\u003ePRIVATE_SERVICE_CONNECT\u003c/code\u003e, among others.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version of the API is 3.6.0, with a listing of previous versions that you can view going back as far as version 1.0.0.\u003c/p\u003e\n"],["\u003cp\u003eSubnetworks are able to be configured as being reserved for use with various types of load balancing, including Global Envoy-based, and Regional Envoy-based load balancing, by using the \u003ccode\u003eGlobalManagedProxy\u003c/code\u003e and \u003ccode\u003eRegionalManagedProxy\u003c/code\u003e field, respectively.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eInternalHttpsLoadBalancer\u003c/code\u003e is identified as a legacy purpose, and it is stated that \u003ccode\u003eREGIONAL_MANAGED_PROXY\u003c/code\u003e should be used instead.\u003c/p\u003e\n"]]],[],null,[]]