An idiomatic C++ client library for theCloud Workstations API, a service that provides preconfigured, customizable, and secure managed development environments on Google Cloud.
While this library isGA, please note that the Google Cloud C++ client libraries donotfollowSemantic Versioning.
Quickstart
The following shows the code that you'll run in thegoogle/cloud/workstations/quickstart/directory, which should give you a taste of the Cloud Workstations API C++ client library.
[[["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 details the C++ client library for the Cloud Workstations API, which offers customizable and secure development environments on Google Cloud.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version of the client library is 2.37.0-rc, with multiple previous versions available, including the current version 2.15.1, and all versions can be found via the provided links.\u003c/p\u003e\n"],["\u003cp\u003eThe primary class to utilize the Cloud Workstations API's RPCs is \u003ccode\u003eworkstations_v1::WorkstationsClient\u003c/code\u003e, which also includes helper classes, configuration options, and mocking infrastructure for application testing.\u003c/p\u003e\n"],["\u003cp\u003eThe library is generally available (GA), but it does not adhere to Semantic Versioning, as noted on the webpage, and also includes links to documentation on error handling, overriding defaults, and environment variable configuration.\u003c/p\u003e\n"],["\u003cp\u003eA quickstart code example is provided, which demonstrates how to use the C++ client library to list workstation clusters by inputting the project ID and location ID.\u003c/p\u003e\n"]]],[],null,["Version 2.15.1keyboard_arrow_down\n\n- [2.42.0-rc (latest)](/cpp/docs/reference/workstations/latest)\n- [2.41.0](/cpp/docs/reference/workstations/2.41.0)\n- [2.40.0](/cpp/docs/reference/workstations/2.40.0)\n- [2.39.0](/cpp/docs/reference/workstations/2.39.0)\n- [2.38.0](/cpp/docs/reference/workstations/2.38.0)\n- [2.37.0](/cpp/docs/reference/workstations/2.37.0)\n- [2.36.0](/cpp/docs/reference/workstations/2.36.0)\n- [2.35.0](/cpp/docs/reference/workstations/2.35.0)\n- [2.34.0](/cpp/docs/reference/workstations/2.34.0)\n- [2.33.0](/cpp/docs/reference/workstations/2.33.0)\n- [2.32.0](/cpp/docs/reference/workstations/2.32.0)\n- [2.31.0](/cpp/docs/reference/workstations/2.31.0)\n- [2.30.0](/cpp/docs/reference/workstations/2.30.0)\n- [2.29.0](/cpp/docs/reference/workstations/2.29.0)\n- [2.28.0](/cpp/docs/reference/workstations/2.28.0)\n- [2.27.0](/cpp/docs/reference/workstations/2.27.0)\n- [2.26.0](/cpp/docs/reference/workstations/2.26.0)\n- [2.25.1](/cpp/docs/reference/workstations/2.25.1)\n- [2.24.0](/cpp/docs/reference/workstations/2.24.0)\n- [2.23.0](/cpp/docs/reference/workstations/2.23.0)\n- [2.22.1](/cpp/docs/reference/workstations/2.22.1)\n- [2.21.0](/cpp/docs/reference/workstations/2.21.0)\n- [2.20.0](/cpp/docs/reference/workstations/2.20.0)\n- [2.19.0](/cpp/docs/reference/workstations/2.19.0)\n- [2.18.0](/cpp/docs/reference/workstations/2.18.0)\n- [2.17.0](/cpp/docs/reference/workstations/2.17.0)\n- [2.16.0](/cpp/docs/reference/workstations/2.16.0)\n- [2.15.1](/cpp/docs/reference/workstations/2.15.1)\n- [2.14.0](/cpp/docs/reference/workstations/2.14.0)\n- [2.13.0](/cpp/docs/reference/workstations/2.13.0)\n- [2.12.0](/cpp/docs/reference/workstations/2.12.0)\n- [2.11.0](/cpp/docs/reference/workstations/2.11.0) \n\nCloud Workstations API C++ Client Library\n=========================================\n\nAn idiomatic C++ client library for the [Cloud Workstations API](https://cloud.google.com/workstations), a service that provides preconfigured, customizable, and secure managed development environments on Google Cloud.\n\nWhile this library is **GA** , please note that the Google Cloud C++ client libraries do **not** follow [Semantic Versioning](https://semver.org/).\n\n### Quickstart\n\nThe following shows the code that you'll run in the `google/cloud/workstations/quickstart/` directory, which should give you a taste of the Cloud Workstations API C++ client library. \n\n #include \"google/cloud/workstations/v1/workstations_client.h\"\n #include \u003ciostream\u003e\n\n int main(int argc, char* argv[]) try {\n if (argc != 3) {\n std::cerr \u003c\u003c \"Usage: \" \u003c\u003c argv[0] \u003c\u003c \" project-id location-id\\n\";\n return 1;\n }\n\n namespace workstations = ::google::cloud::workstations_v1;\n auto client = workstations::WorkstationsClient(\n workstations::MakeWorkstationsConnection());\n\n auto const parent =\n std::string{\"projects/\"} + argv[1] + \"/locations/\" + argv[2];\n for (auto wc : client.ListWorkstationClusters(parent)) {\n if (!wc) throw std::move(wc).status();\n std::cout \u003c\u003c wc-\u003eDebugString() \u003c\u003c \"\\n\";\n }\n\n return 0;\n } catch (google::cloud::Status const& status) {\n std::cerr \u003c\u003c \"google::cloud::Status thrown: \" \u003c\u003c status \u003c\u003c \"\\n\";\n return 1;\n }\n\n### Main classes\n\nThe main class in this library is [`workstations_v1::WorkstationsClient`](/cpp/docs/reference/workstations/2.15.1/classgoogle_1_1cloud_1_1workstations__v1_1_1WorkstationsClient). All RPCs are exposed as member functions of this class. Other classes provide helpers, configuration parameters, and infrastructure to mock [`workstations_v1::WorkstationsClient`](/cpp/docs/reference/workstations/2.15.1/classgoogle_1_1cloud_1_1workstations__v1_1_1WorkstationsClient) when testing your application.\n\n### More Information\n\n- [Error Handling](https://cloud.google.com/cpp/docs/reference/common/latest/common-error-handling.html) - describes how the library reports errors.\n- [How to Override the Default Endpoint](/cpp/docs/reference/workstations/2.15.1/workstations-override-endpoint) - describes how to override the default endpoint.\n- [How to Override the Authentication Credentials](/cpp/docs/reference/workstations/2.15.1/workstations-override-authentication) - describes how to change the authentication credentials used by the library.\n- [Override Retry, Backoff, and Idempotency Policies](/cpp/docs/reference/workstations/2.15.1/workstations-override-retry) - describes how to change the default retry policies.\n- [Environment Variables](/cpp/docs/reference/workstations/2.15.1/workstations-env) - describes environment variables that can configure the behavior of the library."]]