The returned connection object should not be used directly; instead it should be passed as an argument to the constructor ofCloudShellServiceClient.
The optionaloptionsargument may be used to configure aspects of the returnedCloudShellServiceConnection. 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"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003eThis webpage provides documentation for the Google Cloud Shell C++ client library, specifically version 2.31.0.\u003c/p\u003e\n"],["\u003cp\u003eIt lists available versions, ranging from the latest release candidate (2.37.0-rc) down to version 2.11.0, each with links to their respective documentation pages.\u003c/p\u003e\n"],["\u003cp\u003eThe documentation covers various classes for interacting with Google Cloud Shell, including \u003ccode\u003eCloudShellServiceClient\u003c/code\u003e and \u003ccode\u003eCloudShellServiceConnection\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe webpage also outlines different retry and backoff policies for the \u003ccode\u003eCloudShellServiceConnection\u003c/code\u003e, such as \u003ccode\u003eCloudShellServiceLimitedErrorCountRetryPolicy\u003c/code\u003e, \u003ccode\u003eCloudShellServiceLimitedTimeRetryPolicy\u003c/code\u003e, and \u003ccode\u003eCloudShellServiceRetryPolicy\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe page documents the \u003ccode\u003eMakeCloudShellServiceConnection\u003c/code\u003e function which is a factory function to construct an object of type \u003ccode\u003eCloudShellServiceConnection\u003c/code\u003e, and that it accepts various options to configure the returned object.\u003c/p\u003e\n"]]],[],null,["# Namespace google::cloud::shell_v1 (2.31.0)\n\nVersion 2.31.0keyboard_arrow_down\n\n- [2.42.0-rc (latest)](/cpp/docs/reference/shell/latest/namespacegoogle_1_1cloud_1_1shell__v1)\n- [2.41.0](/cpp/docs/reference/shell/2.41.0/namespacegoogle_1_1cloud_1_1shell__v1)\n- [2.40.0](/cpp/docs/reference/shell/2.40.0/namespacegoogle_1_1cloud_1_1shell__v1)\n- [2.39.0](/cpp/docs/reference/shell/2.39.0/namespacegoogle_1_1cloud_1_1shell__v1)\n- [2.38.0](/cpp/docs/reference/shell/2.38.0/namespacegoogle_1_1cloud_1_1shell__v1)\n- [2.37.0](/cpp/docs/reference/shell/2.37.0/namespacegoogle_1_1cloud_1_1shell__v1)\n- [2.36.0](/cpp/docs/reference/shell/2.36.0/namespacegoogle_1_1cloud_1_1shell__v1)\n- [2.35.0](/cpp/docs/reference/shell/2.35.0/namespacegoogle_1_1cloud_1_1shell__v1)\n- [2.34.0](/cpp/docs/reference/shell/2.34.0/namespacegoogle_1_1cloud_1_1shell__v1)\n- [2.33.0](/cpp/docs/reference/shell/2.33.0/namespacegoogle_1_1cloud_1_1shell__v1)\n- [2.32.0](/cpp/docs/reference/shell/2.32.0/namespacegoogle_1_1cloud_1_1shell__v1)\n- [2.31.0](/cpp/docs/reference/shell/2.31.0/namespacegoogle_1_1cloud_1_1shell__v1)\n- [2.30.0](/cpp/docs/reference/shell/2.30.0/namespacegoogle_1_1cloud_1_1shell__v1)\n- [2.29.0](/cpp/docs/reference/shell/2.29.0/namespacegoogle_1_1cloud_1_1shell__v1)\n- [2.28.0](/cpp/docs/reference/shell/2.28.0/namespacegoogle_1_1cloud_1_1shell__v1)\n- [2.27.0](/cpp/docs/reference/shell/2.27.0/namespacegoogle_1_1cloud_1_1shell__v1)\n- [2.26.0](/cpp/docs/reference/shell/2.26.0/namespacegoogle_1_1cloud_1_1shell__v1)\n- [2.25.1](/cpp/docs/reference/shell/2.25.1/namespacegoogle_1_1cloud_1_1shell__v1)\n- [2.24.0](/cpp/docs/reference/shell/2.24.0/namespacegoogle_1_1cloud_1_1shell__v1)\n- [2.23.0](/cpp/docs/reference/shell/2.23.0/namespacegoogle_1_1cloud_1_1shell__v1)\n- [2.22.1](/cpp/docs/reference/shell/2.22.1/namespacegoogle_1_1cloud_1_1shell__v1)\n- [2.21.0](/cpp/docs/reference/shell/2.21.0/namespacegoogle_1_1cloud_1_1shell__v1)\n- [2.20.0](/cpp/docs/reference/shell/2.20.0/namespacegoogle_1_1cloud_1_1shell__v1)\n- [2.19.0](/cpp/docs/reference/shell/2.19.0/namespacegoogle_1_1cloud_1_1shell__v1)\n- [2.18.0](/cpp/docs/reference/shell/2.18.0/namespacegoogle_1_1cloud_1_1shell__v1)\n- [2.17.0](/cpp/docs/reference/shell/2.17.0/namespacegoogle_1_1cloud_1_1shell__v1)\n- [2.16.0](/cpp/docs/reference/shell/2.16.0/namespacegoogle_1_1cloud_1_1shell__v1)\n- [2.15.1](/cpp/docs/reference/shell/2.15.1/namespacegoogle_1_1cloud_1_1shell__v1)\n- [2.14.0](/cpp/docs/reference/shell/2.14.0/namespacegoogle_1_1cloud_1_1shell__v1)\n- [2.13.0](/cpp/docs/reference/shell/2.13.0/namespacegoogle_1_1cloud_1_1shell__v1)\n- [2.12.0](/cpp/docs/reference/shell/2.12.0/namespacegoogle_1_1cloud_1_1shell__v1)\n- [2.11.0](/cpp/docs/reference/shell/2.11.0/namespacegoogle_1_1cloud_1_1shell__v1) \n\nClasses\n-------\n\n### [CloudShellServiceClient](/cpp/docs/reference/shell/2.31.0/classgoogle_1_1cloud_1_1shell__v1_1_1CloudShellServiceClient)\n\nAPI for interacting with Google Cloud Shell.\n\n### [CloudShellServiceConnection](/cpp/docs/reference/shell/2.31.0/classgoogle_1_1cloud_1_1shell__v1_1_1CloudShellServiceConnection)\n\nThe [`CloudShellServiceConnection`](/cpp/docs/reference/shell/2.31.0/classgoogle_1_1cloud_1_1shell__v1_1_1CloudShellServiceConnection) object for [`CloudShellServiceClient`](/cpp/docs/reference/shell/2.31.0/classgoogle_1_1cloud_1_1shell__v1_1_1CloudShellServiceClient).\n\n### [CloudShellServiceConnectionIdempotencyPolicy](/cpp/docs/reference/shell/2.31.0/classgoogle_1_1cloud_1_1shell__v1_1_1CloudShellServiceConnectionIdempotencyPolicy)\n\n### [CloudShellServiceLimitedErrorCountRetryPolicy](/cpp/docs/reference/shell/2.31.0/classgoogle_1_1cloud_1_1shell__v1_1_1CloudShellServiceLimitedErrorCountRetryPolicy)\n\nA retry policy for [`CloudShellServiceConnection`](/cpp/docs/reference/shell/2.31.0/classgoogle_1_1cloud_1_1shell__v1_1_1CloudShellServiceConnection) based on counting errors.\n\n### [CloudShellServiceLimitedTimeRetryPolicy](/cpp/docs/reference/shell/2.31.0/classgoogle_1_1cloud_1_1shell__v1_1_1CloudShellServiceLimitedTimeRetryPolicy)\n\nA retry policy for [`CloudShellServiceConnection`](/cpp/docs/reference/shell/2.31.0/classgoogle_1_1cloud_1_1shell__v1_1_1CloudShellServiceConnection) based on elapsed time.\n\n### [CloudShellServiceRetryPolicy](/cpp/docs/reference/shell/2.31.0/classgoogle_1_1cloud_1_1shell__v1_1_1CloudShellServiceRetryPolicy)\n\nThe retry policy for [`CloudShellServiceConnection`](/cpp/docs/reference/shell/2.31.0/classgoogle_1_1cloud_1_1shell__v1_1_1CloudShellServiceConnection).\n\nStructs\n-------\n\n### [CloudShellServiceBackoffPolicyOption](/cpp/docs/reference/shell/2.31.0/structgoogle_1_1cloud_1_1shell__v1_1_1CloudShellServiceBackoffPolicyOption)\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### [CloudShellServiceConnectionIdempotencyPolicyOption](/cpp/docs/reference/shell/2.31.0/structgoogle_1_1cloud_1_1shell__v1_1_1CloudShellServiceConnectionIdempotencyPolicyOption)\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### [CloudShellServicePollingPolicyOption](/cpp/docs/reference/shell/2.31.0/structgoogle_1_1cloud_1_1shell__v1_1_1CloudShellServicePollingPolicyOption)\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### [CloudShellServiceRetryPolicyOption](/cpp/docs/reference/shell/2.31.0/structgoogle_1_1cloud_1_1shell__v1_1_1CloudShellServiceRetryPolicyOption)\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### MakeCloudShellServiceConnection(Options)\n\nA factory function to construct an object of type [`CloudShellServiceConnection`](/cpp/docs/reference/shell/2.31.0/classgoogle_1_1cloud_1_1shell__v1_1_1CloudShellServiceConnection). \nThe returned connection object should not be used directly; instead it should be passed as an argument to the constructor of [CloudShellServiceClient](/cpp/docs/reference/shell/2.31.0/classgoogle_1_1cloud_1_1shell__v1_1_1CloudShellServiceClient).\n\nThe optional `options` argument may be used to configure aspects of the returned [`CloudShellServiceConnection`](/cpp/docs/reference/shell/2.31.0/classgoogle_1_1cloud_1_1shell__v1_1_1CloudShellServiceConnection). 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::shell_v1::CloudShellServicePolicyOptionList`](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### MakeDefaultCloudShellServiceConnectionIdempotencyPolicy()"]]