A factory function to construct an object of type TpuConnection.
The returned connection object should not be used directly; instead it should be passed as an argument to the constructor of TpuClient.
The optional options argument may be used to configure aspects of the returned TpuConnection. 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 document provides comprehensive C++ reference documentation for the Google Cloud TPU API, with version 2.23.0 being the current base version.\u003c/p\u003e\n"],["\u003cp\u003eThe latest release candidate, version 2.37.0-rc, is available, along with a range of other prior versions, from 2.36.0 down to 2.11.0, all of which contain the google::cloud::tpu_v2 namespace.\u003c/p\u003e\n"],["\u003cp\u003eKey classes documented include \u003ccode\u003eTpuClient\u003c/code\u003e, which manages TPU nodes, and \u003ccode\u003eTpuConnection\u003c/code\u003e, along with various retry and idempotency policies for handling connection behavior, such as \u003ccode\u003eTpuLimitedErrorCountRetryPolicy\u003c/code\u003e and \u003ccode\u003eTpuConnectionIdempotencyPolicy\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eSeveral structs are detailed, including those for configuring backoff, connection idempotency, polling, and retry policies via \u003ccode\u003egoogle::cloud::Options\u003c/code\u003e, such as \u003ccode\u003eTpuBackoffPolicyOption\u003c/code\u003e and \u003ccode\u003eTpuPollingPolicyOption\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eMakeTpuConnection\u003c/code\u003e function is used to create a \u003ccode\u003eTpuConnection\u003c/code\u003e object, with the option to configure it via various options lists like \u003ccode\u003egoogle::cloud::CommonOptionList\u003c/code\u003e and \u003ccode\u003egoogle::cloud::GrpcOptionList\u003c/code\u003e, and \u003ccode\u003eMakeDefaultTpuConnectionIdempotencyPolicy\u003c/code\u003e is available to create a policy.\u003c/p\u003e\n"]]],[],null,["# Namespace google::cloud::tpu_v2 (2.23.0)\n\nVersion 2.23.0keyboard_arrow_down\n\n- [2.42.0-rc (latest)](/cpp/docs/reference/tpu/latest/namespacegoogle_1_1cloud_1_1tpu__v2)\n- [2.41.0](/cpp/docs/reference/tpu/2.41.0/namespacegoogle_1_1cloud_1_1tpu__v2)\n- [2.40.0](/cpp/docs/reference/tpu/2.40.0/namespacegoogle_1_1cloud_1_1tpu__v2)\n- [2.39.0](/cpp/docs/reference/tpu/2.39.0/namespacegoogle_1_1cloud_1_1tpu__v2)\n- [2.38.0](/cpp/docs/reference/tpu/2.38.0/namespacegoogle_1_1cloud_1_1tpu__v2)\n- [2.37.0](/cpp/docs/reference/tpu/2.37.0/namespacegoogle_1_1cloud_1_1tpu__v2)\n- [2.36.0](/cpp/docs/reference/tpu/2.36.0/namespacegoogle_1_1cloud_1_1tpu__v2)\n- [2.35.0](/cpp/docs/reference/tpu/2.35.0/namespacegoogle_1_1cloud_1_1tpu__v2)\n- [2.34.0](/cpp/docs/reference/tpu/2.34.0/namespacegoogle_1_1cloud_1_1tpu__v2)\n- [2.33.0](/cpp/docs/reference/tpu/2.33.0/namespacegoogle_1_1cloud_1_1tpu__v2)\n- [2.32.0](/cpp/docs/reference/tpu/2.32.0/namespacegoogle_1_1cloud_1_1tpu__v2)\n- [2.31.0](/cpp/docs/reference/tpu/2.31.0/namespacegoogle_1_1cloud_1_1tpu__v2)\n- [2.30.0](/cpp/docs/reference/tpu/2.30.0/namespacegoogle_1_1cloud_1_1tpu__v2)\n- [2.29.0](/cpp/docs/reference/tpu/2.29.0/namespacegoogle_1_1cloud_1_1tpu__v2)\n- [2.28.0](/cpp/docs/reference/tpu/2.28.0/namespacegoogle_1_1cloud_1_1tpu__v2)\n- [2.27.0](/cpp/docs/reference/tpu/2.27.0/namespacegoogle_1_1cloud_1_1tpu__v2)\n- [2.26.0](/cpp/docs/reference/tpu/2.26.0/namespacegoogle_1_1cloud_1_1tpu__v2)\n- [2.25.1](/cpp/docs/reference/tpu/2.25.1/namespacegoogle_1_1cloud_1_1tpu__v2)\n- [2.24.0](/cpp/docs/reference/tpu/2.24.0/namespacegoogle_1_1cloud_1_1tpu__v2)\n- [2.23.0](/cpp/docs/reference/tpu/2.23.0/namespacegoogle_1_1cloud_1_1tpu__v2)\n- [2.22.1](/cpp/docs/reference/tpu/2.22.1/namespacegoogle_1_1cloud_1_1tpu__v2)\n- [2.21.0](/cpp/docs/reference/tpu/2.21.0/namespacegoogle_1_1cloud_1_1tpu__v2)\n- [2.20.0](/cpp/docs/reference/tpu/2.20.0/namespacegoogle_1_1cloud_1_1tpu__v2)\n- [2.19.0](/cpp/docs/reference/tpu/2.19.0/namespacegoogle_1_1cloud_1_1tpu__v2)\n- [2.18.0](/cpp/docs/reference/tpu/2.18.0/namespacegoogle_1_1cloud_1_1tpu__v2)\n- [2.17.0](/cpp/docs/reference/tpu/2.17.0/namespacegoogle_1_1cloud_1_1tpu__v2)\n- [2.16.0](/cpp/docs/reference/tpu/2.16.0/namespacegoogle_1_1cloud_1_1tpu__v2)\n- [2.15.1](/cpp/docs/reference/tpu/2.15.1/namespacegoogle_1_1cloud_1_1tpu__v2)\n- [2.14.0](/cpp/docs/reference/tpu/2.14.0/namespacegoogle_1_1cloud_1_1tpu__v2)\n- [2.13.0](/cpp/docs/reference/tpu/2.13.0/namespacegoogle_1_1cloud_1_1tpu__v2)\n- [2.12.0](/cpp/docs/reference/tpu/2.12.0/namespacegoogle_1_1cloud_1_1tpu__v2)\n- [2.11.0](/cpp/docs/reference/tpu/2.11.0/namespacegoogle_1_1cloud_1_1tpu__v2) \n\nClasses\n-------\n\n### [TpuClient](/cpp/docs/reference/tpu/2.23.0/classgoogle_1_1cloud_1_1tpu__v2_1_1TpuClient)\n\nManages TPU nodes and other resources.\n\n### [TpuConnection](/cpp/docs/reference/tpu/2.23.0/classgoogle_1_1cloud_1_1tpu__v2_1_1TpuConnection)\n\nThe [`TpuConnection`](/cpp/docs/reference/tpu/2.23.0/classgoogle_1_1cloud_1_1tpu__v2_1_1TpuConnection) object for [`TpuClient`](/cpp/docs/reference/tpu/2.23.0/classgoogle_1_1cloud_1_1tpu__v2_1_1TpuClient).\n\n### [TpuConnectionIdempotencyPolicy](/cpp/docs/reference/tpu/2.23.0/classgoogle_1_1cloud_1_1tpu__v2_1_1TpuConnectionIdempotencyPolicy)\n\n### [TpuLimitedErrorCountRetryPolicy](/cpp/docs/reference/tpu/2.23.0/classgoogle_1_1cloud_1_1tpu__v2_1_1TpuLimitedErrorCountRetryPolicy)\n\nA retry policy for [`TpuConnection`](/cpp/docs/reference/tpu/2.23.0/classgoogle_1_1cloud_1_1tpu__v2_1_1TpuConnection) based on counting errors.\n\n### [TpuLimitedTimeRetryPolicy](/cpp/docs/reference/tpu/2.23.0/classgoogle_1_1cloud_1_1tpu__v2_1_1TpuLimitedTimeRetryPolicy)\n\nA retry policy for [`TpuConnection`](/cpp/docs/reference/tpu/2.23.0/classgoogle_1_1cloud_1_1tpu__v2_1_1TpuConnection) based on elapsed time.\n\n### [TpuRetryPolicy](/cpp/docs/reference/tpu/2.23.0/classgoogle_1_1cloud_1_1tpu__v2_1_1TpuRetryPolicy)\n\nThe retry policy for [`TpuConnection`](/cpp/docs/reference/tpu/2.23.0/classgoogle_1_1cloud_1_1tpu__v2_1_1TpuConnection).\n\nStructs\n-------\n\n### [TpuBackoffPolicyOption](/cpp/docs/reference/tpu/2.23.0/structgoogle_1_1cloud_1_1tpu__v2_1_1TpuBackoffPolicyOption)\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### [TpuConnectionIdempotencyPolicyOption](/cpp/docs/reference/tpu/2.23.0/structgoogle_1_1cloud_1_1tpu__v2_1_1TpuConnectionIdempotencyPolicyOption)\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### [TpuPollingPolicyOption](/cpp/docs/reference/tpu/2.23.0/structgoogle_1_1cloud_1_1tpu__v2_1_1TpuPollingPolicyOption)\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### [TpuRetryPolicyOption](/cpp/docs/reference/tpu/2.23.0/structgoogle_1_1cloud_1_1tpu__v2_1_1TpuRetryPolicyOption)\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### MakeTpuConnection(Options)\n\nA factory function to construct an object of type [`TpuConnection`](/cpp/docs/reference/tpu/2.23.0/classgoogle_1_1cloud_1_1tpu__v2_1_1TpuConnection). \nThe returned connection object should not be used directly; instead it should be passed as an argument to the constructor of [TpuClient](/cpp/docs/reference/tpu/2.23.0/classgoogle_1_1cloud_1_1tpu__v2_1_1TpuClient).\n\nThe optional `options` argument may be used to configure aspects of the returned [`TpuConnection`](/cpp/docs/reference/tpu/2.23.0/classgoogle_1_1cloud_1_1tpu__v2_1_1TpuConnection). Expected options are any of the types in the following option lists:\n\n- [`google::cloud::CommonOptionList`](about:invalid#zCSafez)\n- [`google::cloud::GrpcOptionList`](https://cloud.google.com/cpp/docs/reference/common/latest/namespacegoogle_1_1cloud.html)\n- [`google::cloud::UnifiedCredentialsOptionList`](about:invalid#zCSafez)\n- [`google::cloud::tpu_v2::TpuPolicyOptionList`](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.\n\n### MakeDefaultTpuConnectionIdempotencyPolicy()"]]