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, with version 2.37.0-rc being the latest release candidate.\u003c/p\u003e\n"],["\u003cp\u003eThe documentation covers multiple versions of the library, from 2.37.0-rc down to 2.11.0, allowing users to navigate and find information relevant to their specific version.\u003c/p\u003e\n"],["\u003cp\u003eKey components documented include the \u003ccode\u003eCloudShellServiceClient\u003c/code\u003e for interacting with Google Cloud Shell and \u003ccode\u003eCloudShellServiceConnection\u003c/code\u003e for managing the connection.\u003c/p\u003e\n"],["\u003cp\u003eThe page details various classes and structs related to retry policies, backoff policies, and idempotency policies for the \u003ccode\u003eCloudShellServiceConnection\u003c/code\u003e, offering control over connection behavior.\u003c/p\u003e\n"],["\u003cp\u003eIt provides information on how to configure the \u003ccode\u003eCloudShellServiceConnection\u003c/code\u003e using \u003ccode\u003eMakeCloudShellServiceConnection()\u003c/code\u003e function with various options, including common, gRPC, and credentials options, as well as other specialized ones.\u003c/p\u003e\n"]]],[],null,["# Namespace google::cloud::shell_v1 (2.29.0)\n\nVersion 2.29.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.29.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.29.0/classgoogle_1_1cloud_1_1shell__v1_1_1CloudShellServiceConnection)\n\nThe [`CloudShellServiceConnection`](/cpp/docs/reference/shell/2.29.0/classgoogle_1_1cloud_1_1shell__v1_1_1CloudShellServiceConnection) object for [`CloudShellServiceClient`](/cpp/docs/reference/shell/2.29.0/classgoogle_1_1cloud_1_1shell__v1_1_1CloudShellServiceClient).\n\n### [CloudShellServiceConnectionIdempotencyPolicy](/cpp/docs/reference/shell/2.29.0/classgoogle_1_1cloud_1_1shell__v1_1_1CloudShellServiceConnectionIdempotencyPolicy)\n\n### [CloudShellServiceLimitedErrorCountRetryPolicy](/cpp/docs/reference/shell/2.29.0/classgoogle_1_1cloud_1_1shell__v1_1_1CloudShellServiceLimitedErrorCountRetryPolicy)\n\nA retry policy for [`CloudShellServiceConnection`](/cpp/docs/reference/shell/2.29.0/classgoogle_1_1cloud_1_1shell__v1_1_1CloudShellServiceConnection) based on counting errors.\n\n### [CloudShellServiceLimitedTimeRetryPolicy](/cpp/docs/reference/shell/2.29.0/classgoogle_1_1cloud_1_1shell__v1_1_1CloudShellServiceLimitedTimeRetryPolicy)\n\nA retry policy for [`CloudShellServiceConnection`](/cpp/docs/reference/shell/2.29.0/classgoogle_1_1cloud_1_1shell__v1_1_1CloudShellServiceConnection) based on elapsed time.\n\n### [CloudShellServiceRetryPolicy](/cpp/docs/reference/shell/2.29.0/classgoogle_1_1cloud_1_1shell__v1_1_1CloudShellServiceRetryPolicy)\n\nThe retry policy for [`CloudShellServiceConnection`](/cpp/docs/reference/shell/2.29.0/classgoogle_1_1cloud_1_1shell__v1_1_1CloudShellServiceConnection).\n\nStructs\n-------\n\n### [CloudShellServiceBackoffPolicyOption](/cpp/docs/reference/shell/2.29.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.29.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.29.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.29.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.29.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.29.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.29.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()"]]