Reference documentation and code samples for the Compute Engine v1 API enum Subnetwork.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\u003eThe document details the \u003ccode\u003eSubnetwork.Types.Purpose\u003c/code\u003e enum within the Google Compute Engine v1 API, outlining the various purposes a subnet can serve.\u003c/p\u003e\n"],["\u003cp\u003eVersion 3.6.0 is the latest documented version, with versions ranging back to 1.0.0.\u003c/p\u003e\n"],["\u003cp\u003eSubnet purposes include \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, each with specific use cases.\u003c/p\u003e\n"],["\u003cp\u003eThe enum's fields define the purpose of a subnet, such as \u003ccode\u003eGlobalManagedProxy\u003c/code\u003e for global load balancing, \u003ccode\u003ePrivateServiceConnect\u003c/code\u003e for publishing services, and \u003ccode\u003ePeerMigration\u003c/code\u003e for VPC migration.\u003c/p\u003e\n"],["\u003cp\u003eSubnets created for HTTP(S) load balancing should now use \u003ccode\u003eREGIONAL_MANAGED_PROXY\u003c/code\u003e, since \u003ccode\u003eInternalHttpsLoadBalancer\u003c/code\u003e is a legacy purpose.\u003c/p\u003e\n"]]],[],null,[]]