A factory function to construct an object of type NodeTemplatesConnection 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 NodeTemplatesClient.
The optional options argument may be used to configure aspects of the returned NodeTemplatesConnection. 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-28 UTC."],[[["\u003cp\u003eThis document provides the C++ reference for Google Cloud Compute Node Templates, with version 2.28.0 being the current version shown alongside a list of previous versions ranging from 2.37.0-rc (latest) down to 2.15.1.\u003c/p\u003e\n"],["\u003cp\u003eThe main classes detailed in the document are \u003ccode\u003eNodeTemplatesClient\u003c/code\u003e for service operations and \u003ccode\u003eNodeTemplatesConnection\u003c/code\u003e for connection management, along with several other helper classes such as retry policies and idempotency configurations.\u003c/p\u003e\n"],["\u003cp\u003eThe document outlines various struct options such as \u003ccode\u003eNodeTemplatesBackoffPolicyOption\u003c/code\u003e, \u003ccode\u003eNodeTemplatesConnectionIdempotencyPolicyOption\u003c/code\u003e, \u003ccode\u003eNodeTemplatesPollingPolicyOption\u003c/code\u003e, and \u003ccode\u003eNodeTemplatesRetryPolicyOption\u003c/code\u003e which can be used with \u003ccode\u003egoogle::cloud::Options\u003c/code\u003e to configure behaviours and policies.\u003c/p\u003e\n"],["\u003cp\u003eThe document describes \u003ccode\u003eMakeNodeTemplatesConnectionRest(Options)\u003c/code\u003e as a factory function to create a \u003ccode\u003eNodeTemplatesConnection\u003c/code\u003e object using REST over HTTP.\u003c/p\u003e\n"],["\u003cp\u003eThe available functions are \u003ccode\u003eMakeDefaultNodeTemplatesConnectionIdempotencyPolicy()\u003c/code\u003e and \u003ccode\u003eMakeNodeTemplatesConnectionRest(Options)\u003c/code\u003e allowing for default policy and REST connection creation respectively.\u003c/p\u003e\n"]]],[],null,["# Namespace google::cloud::compute_node_templates_v1 (2.28.0)\n\nVersion 2.28.0keyboard_arrow_down\n\n- [2.42.0-rc (latest)](/cpp/docs/reference/compute/latest/namespacegoogle_1_1cloud_1_1compute__node__templates__v1)\n- [2.41.0](/cpp/docs/reference/compute/2.41.0/namespacegoogle_1_1cloud_1_1compute__node__templates__v1)\n- [2.40.0](/cpp/docs/reference/compute/2.40.0/namespacegoogle_1_1cloud_1_1compute__node__templates__v1)\n- [2.39.0](/cpp/docs/reference/compute/2.39.0/namespacegoogle_1_1cloud_1_1compute__node__templates__v1)\n- [2.38.0](/cpp/docs/reference/compute/2.38.0/namespacegoogle_1_1cloud_1_1compute__node__templates__v1)\n- [2.37.0](/cpp/docs/reference/compute/2.37.0/namespacegoogle_1_1cloud_1_1compute__node__templates__v1)\n- [2.36.0](/cpp/docs/reference/compute/2.36.0/namespacegoogle_1_1cloud_1_1compute__node__templates__v1)\n- [2.35.0](/cpp/docs/reference/compute/2.35.0/namespacegoogle_1_1cloud_1_1compute__node__templates__v1)\n- [2.34.0](/cpp/docs/reference/compute/2.34.0/namespacegoogle_1_1cloud_1_1compute__node__templates__v1)\n- [2.33.0](/cpp/docs/reference/compute/2.33.0/namespacegoogle_1_1cloud_1_1compute__node__templates__v1)\n- [2.32.0](/cpp/docs/reference/compute/2.32.0/namespacegoogle_1_1cloud_1_1compute__node__templates__v1)\n- [2.31.0](/cpp/docs/reference/compute/2.31.0/namespacegoogle_1_1cloud_1_1compute__node__templates__v1)\n- [2.30.0](/cpp/docs/reference/compute/2.30.0/namespacegoogle_1_1cloud_1_1compute__node__templates__v1)\n- [2.29.0](/cpp/docs/reference/compute/2.29.0/namespacegoogle_1_1cloud_1_1compute__node__templates__v1)\n- [2.28.0](/cpp/docs/reference/compute/2.28.0/namespacegoogle_1_1cloud_1_1compute__node__templates__v1)\n- [2.27.0](/cpp/docs/reference/compute/2.27.0/namespacegoogle_1_1cloud_1_1compute__node__templates__v1)\n- [2.26.0](/cpp/docs/reference/compute/2.26.0/namespacegoogle_1_1cloud_1_1compute__node__templates__v1)\n- [2.25.1](/cpp/docs/reference/compute/2.25.1/namespacegoogle_1_1cloud_1_1compute__node__templates__v1)\n- [2.24.0](/cpp/docs/reference/compute/2.24.0/namespacegoogle_1_1cloud_1_1compute__node__templates__v1)\n- [2.23.0](/cpp/docs/reference/compute/2.23.0/namespacegoogle_1_1cloud_1_1compute__node__templates__v1)\n- [2.22.1](/cpp/docs/reference/compute/2.22.1/namespacegoogle_1_1cloud_1_1compute__node__templates__v1)\n- [2.21.0](/cpp/docs/reference/compute/2.21.0/namespacegoogle_1_1cloud_1_1compute__node__templates__v1)\n- [2.20.0](/cpp/docs/reference/compute/2.20.0/namespacegoogle_1_1cloud_1_1compute__node__templates__v1)\n- [2.19.0](/cpp/docs/reference/compute/2.19.0/namespacegoogle_1_1cloud_1_1compute__node__templates__v1)\n- [2.18.0](/cpp/docs/reference/compute/2.18.0/namespacegoogle_1_1cloud_1_1compute__node__templates__v1)\n- [2.17.0](/cpp/docs/reference/compute/2.17.0/namespacegoogle_1_1cloud_1_1compute__node__templates__v1)\n- [2.16.0](/cpp/docs/reference/compute/2.16.0/namespacegoogle_1_1cloud_1_1compute__node__templates__v1)\n- [2.15.1](/cpp/docs/reference/compute/2.15.1/namespacegoogle_1_1cloud_1_1compute__node__templates__v1) \n\nClasses\n-------\n\n### [NodeTemplatesClient](/cpp/docs/reference/compute/2.28.0/classgoogle_1_1cloud_1_1compute__node__templates__v1_1_1NodeTemplatesClient)\n\nService for the nodeTemplates resource.\n\n### [NodeTemplatesConnection](/cpp/docs/reference/compute/2.28.0/classgoogle_1_1cloud_1_1compute__node__templates__v1_1_1NodeTemplatesConnection)\n\nThe [`NodeTemplatesConnection`](/cpp/docs/reference/compute/2.28.0/classgoogle_1_1cloud_1_1compute__node__templates__v1_1_1NodeTemplatesConnection) object for [`NodeTemplatesClient`](/cpp/docs/reference/compute/2.28.0/classgoogle_1_1cloud_1_1compute__node__templates__v1_1_1NodeTemplatesClient).\n\n### [NodeTemplatesConnectionIdempotencyPolicy](/cpp/docs/reference/compute/2.28.0/classgoogle_1_1cloud_1_1compute__node__templates__v1_1_1NodeTemplatesConnectionIdempotencyPolicy)\n\n### [NodeTemplatesLimitedErrorCountRetryPolicy](/cpp/docs/reference/compute/2.28.0/classgoogle_1_1cloud_1_1compute__node__templates__v1_1_1NodeTemplatesLimitedErrorCountRetryPolicy)\n\nA retry policy for [`NodeTemplatesConnection`](/cpp/docs/reference/compute/2.28.0/classgoogle_1_1cloud_1_1compute__node__templates__v1_1_1NodeTemplatesConnection) based on counting errors.\n\n### [NodeTemplatesLimitedTimeRetryPolicy](/cpp/docs/reference/compute/2.28.0/classgoogle_1_1cloud_1_1compute__node__templates__v1_1_1NodeTemplatesLimitedTimeRetryPolicy)\n\nA retry policy for [`NodeTemplatesConnection`](/cpp/docs/reference/compute/2.28.0/classgoogle_1_1cloud_1_1compute__node__templates__v1_1_1NodeTemplatesConnection) based on elapsed time.\n\n### [NodeTemplatesRetryPolicy](/cpp/docs/reference/compute/2.28.0/classgoogle_1_1cloud_1_1compute__node__templates__v1_1_1NodeTemplatesRetryPolicy)\n\nThe retry policy for [`NodeTemplatesConnection`](/cpp/docs/reference/compute/2.28.0/classgoogle_1_1cloud_1_1compute__node__templates__v1_1_1NodeTemplatesConnection).\n\nStructs\n-------\n\n### [NodeTemplatesBackoffPolicyOption](/cpp/docs/reference/compute/2.28.0/structgoogle_1_1cloud_1_1compute__node__templates__v1_1_1NodeTemplatesBackoffPolicyOption)\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### [NodeTemplatesConnectionIdempotencyPolicyOption](/cpp/docs/reference/compute/2.28.0/structgoogle_1_1cloud_1_1compute__node__templates__v1_1_1NodeTemplatesConnectionIdempotencyPolicyOption)\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### [NodeTemplatesPollingPolicyOption](/cpp/docs/reference/compute/2.28.0/structgoogle_1_1cloud_1_1compute__node__templates__v1_1_1NodeTemplatesPollingPolicyOption)\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### [NodeTemplatesRetryPolicyOption](/cpp/docs/reference/compute/2.28.0/structgoogle_1_1cloud_1_1compute__node__templates__v1_1_1NodeTemplatesRetryPolicyOption)\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### MakeDefaultNodeTemplatesConnectionIdempotencyPolicy()\n\n### MakeNodeTemplatesConnectionRest(Options)\n\nA factory function to construct an object of type [`NodeTemplatesConnection`](/cpp/docs/reference/compute/2.28.0/classgoogle_1_1cloud_1_1compute__node__templates__v1_1_1NodeTemplatesConnection) 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 [NodeTemplatesClient](/cpp/docs/reference/compute/2.28.0/classgoogle_1_1cloud_1_1compute__node__templates__v1_1_1NodeTemplatesClient).\n\nThe optional `options` argument may be used to configure aspects of the returned [`NodeTemplatesConnection`](/cpp/docs/reference/compute/2.28.0/classgoogle_1_1cloud_1_1compute__node__templates__v1_1_1NodeTemplatesConnection). 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_node_templates_v1::NodeTemplatesPolicyOptionList`](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."]]