A factory function to construct an object of type ZonesConnection that uses REST over HTTP as transport in lieu of gRPC.
REST transport should only be used for services that do not support gRPC or if the existing network configuration precludes using gRPC.
The returned connection object should not be used directly; instead it should be passed as an argument to the constructor of ZonesClient.
The optional options argument may be used to configure aspects of the returned ZonesConnection. Expected options are any of the types in the following option lists:
[[["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-14 UTC."],[[["\u003cp\u003eThis page provides documentation for the \u003ccode\u003ecompute_zones_v1\u003c/code\u003e namespace in C++, with version 2.17.0 being the current focus and a list of other versions available for reference, from 2.15.1 to 2.37.0-rc.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eZonesClient\u003c/code\u003e class is detailed as the main service for managing zone resources, alongside the \u003ccode\u003eZonesConnection\u003c/code\u003e class that serves as its associated connection object.\u003c/p\u003e\n"],["\u003cp\u003eSeveral classes are detailed for configuring retry policies for the \u003ccode\u003eZonesConnection\u003c/code\u003e, such as \u003ccode\u003eZonesLimitedErrorCountRetryPolicy\u003c/code\u003e, \u003ccode\u003eZonesLimitedTimeRetryPolicy\u003c/code\u003e, and \u003ccode\u003eZonesRetryPolicy\u003c/code\u003e, allowing control over error handling and connection resilience.\u003c/p\u003e\n"],["\u003cp\u003eStructs like \u003ccode\u003eZonesBackoffPolicyOption\u003c/code\u003e, \u003ccode\u003eZonesConnectionIdempotencyPolicyOption\u003c/code\u003e, and \u003ccode\u003eZonesRetryPolicyOption\u003c/code\u003e provide the ability to configure different policies for the \u003ccode\u003eZonesConnection\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eMakeZonesConnectionRest\u003c/code\u003e function is available to construct a \u003ccode\u003eZonesConnection\u003c/code\u003e object using REST over HTTP, offering an alternative transport method to gRPC, and accepts various option lists for configuration.\u003c/p\u003e\n"]]],[],null,["# Namespace google::cloud::compute_zones_v1 (2.17.0)\n\nVersion 2.17.0keyboard_arrow_down\n\n- [2.42.0-rc (latest)](/cpp/docs/reference/compute/latest/namespacegoogle_1_1cloud_1_1compute__zones__v1)\n- [2.41.0](/cpp/docs/reference/compute/2.41.0/namespacegoogle_1_1cloud_1_1compute__zones__v1)\n- [2.40.0](/cpp/docs/reference/compute/2.40.0/namespacegoogle_1_1cloud_1_1compute__zones__v1)\n- [2.39.0](/cpp/docs/reference/compute/2.39.0/namespacegoogle_1_1cloud_1_1compute__zones__v1)\n- [2.38.0](/cpp/docs/reference/compute/2.38.0/namespacegoogle_1_1cloud_1_1compute__zones__v1)\n- [2.37.0](/cpp/docs/reference/compute/2.37.0/namespacegoogle_1_1cloud_1_1compute__zones__v1)\n- [2.36.0](/cpp/docs/reference/compute/2.36.0/namespacegoogle_1_1cloud_1_1compute__zones__v1)\n- [2.35.0](/cpp/docs/reference/compute/2.35.0/namespacegoogle_1_1cloud_1_1compute__zones__v1)\n- [2.34.0](/cpp/docs/reference/compute/2.34.0/namespacegoogle_1_1cloud_1_1compute__zones__v1)\n- [2.33.0](/cpp/docs/reference/compute/2.33.0/namespacegoogle_1_1cloud_1_1compute__zones__v1)\n- [2.32.0](/cpp/docs/reference/compute/2.32.0/namespacegoogle_1_1cloud_1_1compute__zones__v1)\n- [2.31.0](/cpp/docs/reference/compute/2.31.0/namespacegoogle_1_1cloud_1_1compute__zones__v1)\n- [2.30.0](/cpp/docs/reference/compute/2.30.0/namespacegoogle_1_1cloud_1_1compute__zones__v1)\n- [2.29.0](/cpp/docs/reference/compute/2.29.0/namespacegoogle_1_1cloud_1_1compute__zones__v1)\n- [2.28.0](/cpp/docs/reference/compute/2.28.0/namespacegoogle_1_1cloud_1_1compute__zones__v1)\n- [2.27.0](/cpp/docs/reference/compute/2.27.0/namespacegoogle_1_1cloud_1_1compute__zones__v1)\n- [2.26.0](/cpp/docs/reference/compute/2.26.0/namespacegoogle_1_1cloud_1_1compute__zones__v1)\n- [2.25.1](/cpp/docs/reference/compute/2.25.1/namespacegoogle_1_1cloud_1_1compute__zones__v1)\n- [2.24.0](/cpp/docs/reference/compute/2.24.0/namespacegoogle_1_1cloud_1_1compute__zones__v1)\n- [2.23.0](/cpp/docs/reference/compute/2.23.0/namespacegoogle_1_1cloud_1_1compute__zones__v1)\n- [2.22.1](/cpp/docs/reference/compute/2.22.1/namespacegoogle_1_1cloud_1_1compute__zones__v1)\n- [2.21.0](/cpp/docs/reference/compute/2.21.0/namespacegoogle_1_1cloud_1_1compute__zones__v1)\n- [2.20.0](/cpp/docs/reference/compute/2.20.0/namespacegoogle_1_1cloud_1_1compute__zones__v1)\n- [2.19.0](/cpp/docs/reference/compute/2.19.0/namespacegoogle_1_1cloud_1_1compute__zones__v1)\n- [2.18.0](/cpp/docs/reference/compute/2.18.0/namespacegoogle_1_1cloud_1_1compute__zones__v1)\n- [2.17.0](/cpp/docs/reference/compute/2.17.0/namespacegoogle_1_1cloud_1_1compute__zones__v1)\n- [2.16.0](/cpp/docs/reference/compute/2.16.0/namespacegoogle_1_1cloud_1_1compute__zones__v1)\n- [2.15.1](/cpp/docs/reference/compute/2.15.1/namespacegoogle_1_1cloud_1_1compute__zones__v1) \n\nClasses\n-------\n\n### [ZonesClient](/cpp/docs/reference/compute/2.17.0/classgoogle_1_1cloud_1_1compute__zones__v1_1_1ZonesClient)\n\nService for the zones resource.\n\n### [ZonesConnection](/cpp/docs/reference/compute/2.17.0/classgoogle_1_1cloud_1_1compute__zones__v1_1_1ZonesConnection)\n\nThe [`ZonesConnection`](/cpp/docs/reference/compute/2.17.0/classgoogle_1_1cloud_1_1compute__zones__v1_1_1ZonesConnection) object for [`ZonesClient`](/cpp/docs/reference/compute/2.17.0/classgoogle_1_1cloud_1_1compute__zones__v1_1_1ZonesClient).\n\n### [ZonesConnectionIdempotencyPolicy](/cpp/docs/reference/compute/2.17.0/classgoogle_1_1cloud_1_1compute__zones__v1_1_1ZonesConnectionIdempotencyPolicy)\n\n### [ZonesLimitedErrorCountRetryPolicy](/cpp/docs/reference/compute/2.17.0/classgoogle_1_1cloud_1_1compute__zones__v1_1_1ZonesLimitedErrorCountRetryPolicy)\n\nA retry policy for [`ZonesConnection`](/cpp/docs/reference/compute/2.17.0/classgoogle_1_1cloud_1_1compute__zones__v1_1_1ZonesConnection) based on counting errors.\n\n### [ZonesLimitedTimeRetryPolicy](/cpp/docs/reference/compute/2.17.0/classgoogle_1_1cloud_1_1compute__zones__v1_1_1ZonesLimitedTimeRetryPolicy)\n\nA retry policy for [`ZonesConnection`](/cpp/docs/reference/compute/2.17.0/classgoogle_1_1cloud_1_1compute__zones__v1_1_1ZonesConnection) based on elapsed time.\n\n### [ZonesRetryPolicy](/cpp/docs/reference/compute/2.17.0/classgoogle_1_1cloud_1_1compute__zones__v1_1_1ZonesRetryPolicy)\n\nThe retry policy for [`ZonesConnection`](/cpp/docs/reference/compute/2.17.0/classgoogle_1_1cloud_1_1compute__zones__v1_1_1ZonesConnection).\n\nStructs\n-------\n\n### [ZonesBackoffPolicyOption](/cpp/docs/reference/compute/2.17.0/structgoogle_1_1cloud_1_1compute__zones__v1_1_1ZonesBackoffPolicyOption)\n\nUse with [`google::cloud::Options`](https://cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Options.html) to configure the backoff policy.\n\n### [ZonesConnectionIdempotencyPolicyOption](/cpp/docs/reference/compute/2.17.0/structgoogle_1_1cloud_1_1compute__zones__v1_1_1ZonesConnectionIdempotencyPolicyOption)\n\nUse with [`google::cloud::Options`](https://cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Options.html) to configure which operations are retried.\n\n### [ZonesRetryPolicyOption](/cpp/docs/reference/compute/2.17.0/structgoogle_1_1cloud_1_1compute__zones__v1_1_1ZonesRetryPolicyOption)\n\nUse with [`google::cloud::Options`](https://cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Options.html) to configure the retry policy.\n\nFunctions\n---------\n\n### MakeDefaultZonesConnectionIdempotencyPolicy()\n\n### MakeZonesConnectionRest(Options)\n\nA factory function to construct an object of type [`ZonesConnection`](/cpp/docs/reference/compute/2.17.0/classgoogle_1_1cloud_1_1compute__zones__v1_1_1ZonesConnection) that uses REST over HTTP as transport in lieu of gRPC. \nREST transport should only be used for services that do not support gRPC or if the existing network configuration precludes using gRPC.\n\nThe returned connection object should not be used directly; instead it should be passed as an argument to the constructor of [ZonesClient](/cpp/docs/reference/compute/2.17.0/classgoogle_1_1cloud_1_1compute__zones__v1_1_1ZonesClient).\n\nThe optional `options` argument may be used to configure aspects of the returned [`ZonesConnection`](/cpp/docs/reference/compute/2.17.0/classgoogle_1_1cloud_1_1compute__zones__v1_1_1ZonesConnection). Expected options are any of the types in the following option lists:\n\n- [`google::cloud::CommonOptionList`](https://cloud.google.com/cpp/docs/reference/common/latest/namespacegoogle_1_1cloud.html)\n- [`google::cloud::RestOptionList`](https://cloud.google.com/cpp/docs/reference/common/latest/namespacegoogle_1_1cloud.html)\n- [`google::cloud::UnifiedCredentialsOptionList`](https://cloud.google.com/cpp/docs/reference/common/latest/namespacegoogle_1_1cloud.html)\n- [`google::cloud::compute_zones_v1::ZonesPolicyOptionList`](/cpp/docs/reference/compute/2.17.0/namespacegoogle_1_1cloud_1_1compute__zones__v1)\n\n| **Note:** Unexpected options will be ignored. To log unexpected options instead, set `GOOGLE_CLOUD_CPP_ENABLE_CLOG=yes` in the environment.\n\nType Aliases\n------------\n\n### ZonesPolicyOptionList\n\n**Alias Of** : `OptionList\u003c ZonesRetryPolicyOption, ZonesBackoffPolicyOption, ZonesConnectionIdempotencyPolicyOption \u003e` \nThe options applicable to Zones."]]