A factory function to construct an object of type InstanceTemplatesConnection 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 InstanceTemplatesClient.
The optional options argument may be used to configure aspects of the returned InstanceTemplatesConnection. 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 webpage provides documentation for the Google Cloud Compute Instance Templates C++ library, with the latest release candidate being version 2.37.0-rc and the current stable version being 2.36.0.\u003c/p\u003e\n"],["\u003cp\u003eThe content includes a list of available versions, ranging from the latest release candidate down to version 2.15.1, each linking to its respective documentation page.\u003c/p\u003e\n"],["\u003cp\u003eThe documentation details various classes such as \u003ccode\u003eInstanceTemplatesClient\u003c/code\u003e, \u003ccode\u003eInstanceTemplatesConnection\u003c/code\u003e, and related classes for handling retry policies, providing functionality for interacting with the instance templates service.\u003c/p\u003e\n"],["\u003cp\u003eThe webpage also outlines structs like \u003ccode\u003eInstanceTemplatesBackoffPolicyOption\u003c/code\u003e and \u003ccode\u003eInstanceTemplatesRetryPolicyOption\u003c/code\u003e for configuring backoff and retry mechanisms, as well as functions for creating and managing the connection.\u003c/p\u003e\n"],["\u003cp\u003eThe function \u003ccode\u003eMakeInstanceTemplatesConnectionRest\u003c/code\u003e is available to create a connection using REST over HTTP instead of gRPC, which may be necessary if gRPC is not supported or available.\u003c/p\u003e\n"]]],[],null,["# Namespace google::cloud::compute_instance_templates_v1 (2.36.0)\n\nVersion 2.36.0keyboard_arrow_down\n\n- [2.42.0-rc (latest)](/cpp/docs/reference/compute/latest/namespacegoogle_1_1cloud_1_1compute__instance__templates__v1)\n- [2.41.0](/cpp/docs/reference/compute/2.41.0/namespacegoogle_1_1cloud_1_1compute__instance__templates__v1)\n- [2.40.0](/cpp/docs/reference/compute/2.40.0/namespacegoogle_1_1cloud_1_1compute__instance__templates__v1)\n- [2.39.0](/cpp/docs/reference/compute/2.39.0/namespacegoogle_1_1cloud_1_1compute__instance__templates__v1)\n- [2.38.0](/cpp/docs/reference/compute/2.38.0/namespacegoogle_1_1cloud_1_1compute__instance__templates__v1)\n- [2.37.0](/cpp/docs/reference/compute/2.37.0/namespacegoogle_1_1cloud_1_1compute__instance__templates__v1)\n- [2.36.0](/cpp/docs/reference/compute/2.36.0/namespacegoogle_1_1cloud_1_1compute__instance__templates__v1)\n- [2.35.0](/cpp/docs/reference/compute/2.35.0/namespacegoogle_1_1cloud_1_1compute__instance__templates__v1)\n- [2.34.0](/cpp/docs/reference/compute/2.34.0/namespacegoogle_1_1cloud_1_1compute__instance__templates__v1)\n- [2.33.0](/cpp/docs/reference/compute/2.33.0/namespacegoogle_1_1cloud_1_1compute__instance__templates__v1)\n- [2.32.0](/cpp/docs/reference/compute/2.32.0/namespacegoogle_1_1cloud_1_1compute__instance__templates__v1)\n- [2.31.0](/cpp/docs/reference/compute/2.31.0/namespacegoogle_1_1cloud_1_1compute__instance__templates__v1)\n- [2.30.0](/cpp/docs/reference/compute/2.30.0/namespacegoogle_1_1cloud_1_1compute__instance__templates__v1)\n- [2.29.0](/cpp/docs/reference/compute/2.29.0/namespacegoogle_1_1cloud_1_1compute__instance__templates__v1)\n- [2.28.0](/cpp/docs/reference/compute/2.28.0/namespacegoogle_1_1cloud_1_1compute__instance__templates__v1)\n- [2.27.0](/cpp/docs/reference/compute/2.27.0/namespacegoogle_1_1cloud_1_1compute__instance__templates__v1)\n- [2.26.0](/cpp/docs/reference/compute/2.26.0/namespacegoogle_1_1cloud_1_1compute__instance__templates__v1)\n- [2.25.1](/cpp/docs/reference/compute/2.25.1/namespacegoogle_1_1cloud_1_1compute__instance__templates__v1)\n- [2.24.0](/cpp/docs/reference/compute/2.24.0/namespacegoogle_1_1cloud_1_1compute__instance__templates__v1)\n- [2.23.0](/cpp/docs/reference/compute/2.23.0/namespacegoogle_1_1cloud_1_1compute__instance__templates__v1)\n- [2.22.1](/cpp/docs/reference/compute/2.22.1/namespacegoogle_1_1cloud_1_1compute__instance__templates__v1)\n- [2.21.0](/cpp/docs/reference/compute/2.21.0/namespacegoogle_1_1cloud_1_1compute__instance__templates__v1)\n- [2.20.0](/cpp/docs/reference/compute/2.20.0/namespacegoogle_1_1cloud_1_1compute__instance__templates__v1)\n- [2.19.0](/cpp/docs/reference/compute/2.19.0/namespacegoogle_1_1cloud_1_1compute__instance__templates__v1)\n- [2.18.0](/cpp/docs/reference/compute/2.18.0/namespacegoogle_1_1cloud_1_1compute__instance__templates__v1)\n- [2.17.0](/cpp/docs/reference/compute/2.17.0/namespacegoogle_1_1cloud_1_1compute__instance__templates__v1)\n- [2.16.0](/cpp/docs/reference/compute/2.16.0/namespacegoogle_1_1cloud_1_1compute__instance__templates__v1)\n- [2.15.1](/cpp/docs/reference/compute/2.15.1/namespacegoogle_1_1cloud_1_1compute__instance__templates__v1) \n\nClasses\n-------\n\n### [InstanceTemplatesClient](/cpp/docs/reference/compute/2.36.0/classgoogle_1_1cloud_1_1compute__instance__templates__v1_1_1InstanceTemplatesClient)\n\nService for the instanceTemplates resource.\n\n### [InstanceTemplatesConnection](/cpp/docs/reference/compute/2.36.0/classgoogle_1_1cloud_1_1compute__instance__templates__v1_1_1InstanceTemplatesConnection)\n\nThe [`InstanceTemplatesConnection`](/cpp/docs/reference/compute/2.36.0/classgoogle_1_1cloud_1_1compute__instance__templates__v1_1_1InstanceTemplatesConnection) object for [`InstanceTemplatesClient`](/cpp/docs/reference/compute/2.36.0/classgoogle_1_1cloud_1_1compute__instance__templates__v1_1_1InstanceTemplatesClient).\n\n### [InstanceTemplatesConnectionIdempotencyPolicy](/cpp/docs/reference/compute/2.36.0/classgoogle_1_1cloud_1_1compute__instance__templates__v1_1_1InstanceTemplatesConnectionIdempotencyPolicy)\n\n### [InstanceTemplatesLimitedErrorCountRetryPolicy](/cpp/docs/reference/compute/2.36.0/classgoogle_1_1cloud_1_1compute__instance__templates__v1_1_1InstanceTemplatesLimitedErrorCountRetryPolicy)\n\nA retry policy for [`InstanceTemplatesConnection`](/cpp/docs/reference/compute/2.36.0/classgoogle_1_1cloud_1_1compute__instance__templates__v1_1_1InstanceTemplatesConnection) based on counting errors.\n\n### [InstanceTemplatesLimitedTimeRetryPolicy](/cpp/docs/reference/compute/2.36.0/classgoogle_1_1cloud_1_1compute__instance__templates__v1_1_1InstanceTemplatesLimitedTimeRetryPolicy)\n\nA retry policy for [`InstanceTemplatesConnection`](/cpp/docs/reference/compute/2.36.0/classgoogle_1_1cloud_1_1compute__instance__templates__v1_1_1InstanceTemplatesConnection) based on elapsed time.\n\n### [InstanceTemplatesRetryPolicy](/cpp/docs/reference/compute/2.36.0/classgoogle_1_1cloud_1_1compute__instance__templates__v1_1_1InstanceTemplatesRetryPolicy)\n\nThe retry policy for [`InstanceTemplatesConnection`](/cpp/docs/reference/compute/2.36.0/classgoogle_1_1cloud_1_1compute__instance__templates__v1_1_1InstanceTemplatesConnection).\n\nStructs\n-------\n\n### [InstanceTemplatesBackoffPolicyOption](/cpp/docs/reference/compute/2.36.0/structgoogle_1_1cloud_1_1compute__instance__templates__v1_1_1InstanceTemplatesBackoffPolicyOption)\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### [InstanceTemplatesConnectionIdempotencyPolicyOption](/cpp/docs/reference/compute/2.36.0/structgoogle_1_1cloud_1_1compute__instance__templates__v1_1_1InstanceTemplatesConnectionIdempotencyPolicyOption)\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### [InstanceTemplatesPollingPolicyOption](/cpp/docs/reference/compute/2.36.0/structgoogle_1_1cloud_1_1compute__instance__templates__v1_1_1InstanceTemplatesPollingPolicyOption)\n\nUse with [`google::cloud::Options`](https://cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Options.html) to configure the long-running operations polling policy.\n\n### [InstanceTemplatesRetryPolicyOption](/cpp/docs/reference/compute/2.36.0/structgoogle_1_1cloud_1_1compute__instance__templates__v1_1_1InstanceTemplatesRetryPolicyOption)\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### MakeDefaultInstanceTemplatesConnectionIdempotencyPolicy()\n\n### MakeInstanceTemplatesConnectionRest(Options)\n\nA factory function to construct an object of type [`InstanceTemplatesConnection`](/cpp/docs/reference/compute/2.36.0/classgoogle_1_1cloud_1_1compute__instance__templates__v1_1_1InstanceTemplatesConnection) 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 [InstanceTemplatesClient](/cpp/docs/reference/compute/2.36.0/classgoogle_1_1cloud_1_1compute__instance__templates__v1_1_1InstanceTemplatesClient).\n\nThe optional `options` argument may be used to configure aspects of the returned [`InstanceTemplatesConnection`](/cpp/docs/reference/compute/2.36.0/classgoogle_1_1cloud_1_1compute__instance__templates__v1_1_1InstanceTemplatesConnection). 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_instance_templates_v1::InstanceTemplatesPolicyOptionList`](about:invalid#zCSafez)\n\n| **Note:** Unexpected options will be ignored. To log unexpected options instead, set `GOOGLE_CLOUD_CPP_ENABLE_CLOG=yes` in the environment."]]