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 \u003ccode\u003eSubnetwork.Types.Purpose\u003c/code\u003e enum in the Compute Engine v1 API defines the intended use of a subnetwork resource.\u003c/p\u003e\n"],["\u003cp\u003eAvailable versions of the documentation range from 1.0.0 up to the latest version, 3.6.0, for the API's \u003ccode\u003eSubnetwork.Types.Purpose\u003c/code\u003e enum.\u003c/p\u003e\n"],["\u003cp\u003ePossible purposes for a subnetwork 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, with \u003ccode\u003ePRIVATE\u003c/code\u003e being the default.\u003c/p\u003e\n"],["\u003cp\u003eSubnetworks designated for \u003ccode\u003eGLOBAL_MANAGED_PROXY\u003c/code\u003e or \u003ccode\u003eREGIONAL_MANAGED_PROXY\u003c/code\u003e are intended for use with Envoy-based load balancers and do not support the \u003ccode\u003eenableFlowLogs\u003c/code\u003e field.\u003c/p\u003e\n"],["\u003cp\u003eThere are 9 specific field options that can be set that are explained, and those are: \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,[]]