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 webpage provides documentation for the Google Cloud TPU C++ client library, with the current version being 2.29.0.\u003c/p\u003e\n"],["\u003cp\u003eThe documentation includes links to various versions of the library, ranging from 2.37.0-rc (latest) down to 2.11.0, allowing developers to access documentation for older releases.\u003c/p\u003e\n"],["\u003cp\u003eKey classes such as \u003ccode\u003eTpuClient\u003c/code\u003e and \u003ccode\u003eTpuConnection\u003c/code\u003e are detailed, along with related classes for managing retry policies and connection idempotency.\u003c/p\u003e\n"],["\u003cp\u003eThe documentation defines various structs for configuring TPU options, including backoff, idempotency, polling, and retry policies.\u003c/p\u003e\n"],["\u003cp\u003eA factory function, \u003ccode\u003eMakeTpuConnection\u003c/code\u003e, is available for constructing a \u003ccode\u003eTpuConnection\u003c/code\u003e object, which is used in the \u003ccode\u003eTpuClient\u003c/code\u003e constructor, and it accepts various options to configure the connection.\u003c/p\u003e\n"]]],[],null,["# Namespace google::cloud::tpu_v2 (2.29.0)\n\nVersion 2.29.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.29.0/classgoogle_1_1cloud_1_1tpu__v2_1_1TpuClient)\n\nManages TPU nodes and other resources.\n\n### [TpuConnection](/cpp/docs/reference/tpu/2.29.0/classgoogle_1_1cloud_1_1tpu__v2_1_1TpuConnection)\n\nThe [`TpuConnection`](/cpp/docs/reference/tpu/2.29.0/classgoogle_1_1cloud_1_1tpu__v2_1_1TpuConnection) object for [`TpuClient`](/cpp/docs/reference/tpu/2.29.0/classgoogle_1_1cloud_1_1tpu__v2_1_1TpuClient).\n\n### [TpuConnectionIdempotencyPolicy](/cpp/docs/reference/tpu/2.29.0/classgoogle_1_1cloud_1_1tpu__v2_1_1TpuConnectionIdempotencyPolicy)\n\n### [TpuLimitedErrorCountRetryPolicy](/cpp/docs/reference/tpu/2.29.0/classgoogle_1_1cloud_1_1tpu__v2_1_1TpuLimitedErrorCountRetryPolicy)\n\nA retry policy for [`TpuConnection`](/cpp/docs/reference/tpu/2.29.0/classgoogle_1_1cloud_1_1tpu__v2_1_1TpuConnection) based on counting errors.\n\n### [TpuLimitedTimeRetryPolicy](/cpp/docs/reference/tpu/2.29.0/classgoogle_1_1cloud_1_1tpu__v2_1_1TpuLimitedTimeRetryPolicy)\n\nA retry policy for [`TpuConnection`](/cpp/docs/reference/tpu/2.29.0/classgoogle_1_1cloud_1_1tpu__v2_1_1TpuConnection) based on elapsed time.\n\n### [TpuRetryPolicy](/cpp/docs/reference/tpu/2.29.0/classgoogle_1_1cloud_1_1tpu__v2_1_1TpuRetryPolicy)\n\nThe retry policy for [`TpuConnection`](/cpp/docs/reference/tpu/2.29.0/classgoogle_1_1cloud_1_1tpu__v2_1_1TpuConnection).\n\nStructs\n-------\n\n### [TpuBackoffPolicyOption](/cpp/docs/reference/tpu/2.29.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.29.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.29.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.29.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.29.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.29.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.29.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`](https://cloud.google.com/cpp/docs/reference/common/latest/namespacegoogle_1_1cloud.html)\n- [`google::cloud::GrpcOptionList`](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::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()"]]