A factory function to construct an object of type InstancesConnection that uses REST over HTTP as transport in lieu of gRPC.
REST transport should only be used for services that do not support gRPC or if the existing network configuration precludes using gRPC.
The returned connection object should not be used directly; instead it should be passed as an argument to the constructor of InstancesClient.
The optional options argument may be used to configure aspects of the returned InstancesConnection. 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-28 UTC."],[[["\u003cp\u003eThis document provides C++ reference documentation for the Google Cloud Compute Instances API, with version 2.37.0-rc being the latest release candidate.\u003c/p\u003e\n"],["\u003cp\u003eThe documentation lists various versions of the API, ranging from 2.37.0-rc down to 2.15.1, each linked to their respective namespace within the documentation.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eInstancesClient\u003c/code\u003e class, along with related classes such as \u003ccode\u003eInstancesConnection\u003c/code\u003e and different retry policies, are detailed, offering insights into how to interact with the instances resource.\u003c/p\u003e\n"],["\u003cp\u003eSeveral options and their related structs are covered, such as \u003ccode\u003eInstancesBackoffPolicyOption\u003c/code\u003e and \u003ccode\u003eInstancesRetryPolicyOption\u003c/code\u003e, that allow users to tailor their interaction with the API.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eMakeInstancesConnectionRest\u003c/code\u003e function is described as a factory method for creating an \u003ccode\u003eInstancesConnection\u003c/code\u003e object that utilizes REST over HTTP, suitable for services that don't support gRPC.\u003c/p\u003e\n"]]],[],null,["# Namespace google::cloud::compute_instances_v1 (2.27.0)\n\nVersion 2.27.0keyboard_arrow_down\n\n- [2.42.0-rc (latest)](/cpp/docs/reference/compute/latest/namespacegoogle_1_1cloud_1_1compute__instances__v1)\n- [2.41.0](/cpp/docs/reference/compute/2.41.0/namespacegoogle_1_1cloud_1_1compute__instances__v1)\n- [2.40.0](/cpp/docs/reference/compute/2.40.0/namespacegoogle_1_1cloud_1_1compute__instances__v1)\n- [2.39.0](/cpp/docs/reference/compute/2.39.0/namespacegoogle_1_1cloud_1_1compute__instances__v1)\n- [2.38.0](/cpp/docs/reference/compute/2.38.0/namespacegoogle_1_1cloud_1_1compute__instances__v1)\n- [2.37.0](/cpp/docs/reference/compute/2.37.0/namespacegoogle_1_1cloud_1_1compute__instances__v1)\n- [2.36.0](/cpp/docs/reference/compute/2.36.0/namespacegoogle_1_1cloud_1_1compute__instances__v1)\n- [2.35.0](/cpp/docs/reference/compute/2.35.0/namespacegoogle_1_1cloud_1_1compute__instances__v1)\n- [2.34.0](/cpp/docs/reference/compute/2.34.0/namespacegoogle_1_1cloud_1_1compute__instances__v1)\n- [2.33.0](/cpp/docs/reference/compute/2.33.0/namespacegoogle_1_1cloud_1_1compute__instances__v1)\n- [2.32.0](/cpp/docs/reference/compute/2.32.0/namespacegoogle_1_1cloud_1_1compute__instances__v1)\n- [2.31.0](/cpp/docs/reference/compute/2.31.0/namespacegoogle_1_1cloud_1_1compute__instances__v1)\n- [2.30.0](/cpp/docs/reference/compute/2.30.0/namespacegoogle_1_1cloud_1_1compute__instances__v1)\n- [2.29.0](/cpp/docs/reference/compute/2.29.0/namespacegoogle_1_1cloud_1_1compute__instances__v1)\n- [2.28.0](/cpp/docs/reference/compute/2.28.0/namespacegoogle_1_1cloud_1_1compute__instances__v1)\n- [2.27.0](/cpp/docs/reference/compute/2.27.0/namespacegoogle_1_1cloud_1_1compute__instances__v1)\n- [2.26.0](/cpp/docs/reference/compute/2.26.0/namespacegoogle_1_1cloud_1_1compute__instances__v1)\n- [2.25.1](/cpp/docs/reference/compute/2.25.1/namespacegoogle_1_1cloud_1_1compute__instances__v1)\n- [2.24.0](/cpp/docs/reference/compute/2.24.0/namespacegoogle_1_1cloud_1_1compute__instances__v1)\n- [2.23.0](/cpp/docs/reference/compute/2.23.0/namespacegoogle_1_1cloud_1_1compute__instances__v1)\n- [2.22.1](/cpp/docs/reference/compute/2.22.1/namespacegoogle_1_1cloud_1_1compute__instances__v1)\n- [2.21.0](/cpp/docs/reference/compute/2.21.0/namespacegoogle_1_1cloud_1_1compute__instances__v1)\n- [2.20.0](/cpp/docs/reference/compute/2.20.0/namespacegoogle_1_1cloud_1_1compute__instances__v1)\n- [2.19.0](/cpp/docs/reference/compute/2.19.0/namespacegoogle_1_1cloud_1_1compute__instances__v1)\n- [2.18.0](/cpp/docs/reference/compute/2.18.0/namespacegoogle_1_1cloud_1_1compute__instances__v1)\n- [2.17.0](/cpp/docs/reference/compute/2.17.0/namespacegoogle_1_1cloud_1_1compute__instances__v1)\n- [2.16.0](/cpp/docs/reference/compute/2.16.0/namespacegoogle_1_1cloud_1_1compute__instances__v1)\n- [2.15.1](/cpp/docs/reference/compute/2.15.1/namespacegoogle_1_1cloud_1_1compute__instances__v1) \n\nClasses\n-------\n\n### [InstancesClient](/cpp/docs/reference/compute/2.27.0/classgoogle_1_1cloud_1_1compute__instances__v1_1_1InstancesClient)\n\nService for the instances resource.\n\n### [InstancesConnection](/cpp/docs/reference/compute/2.27.0/classgoogle_1_1cloud_1_1compute__instances__v1_1_1InstancesConnection)\n\nThe [`InstancesConnection`](/cpp/docs/reference/compute/2.27.0/classgoogle_1_1cloud_1_1compute__instances__v1_1_1InstancesConnection) object for [`InstancesClient`](/cpp/docs/reference/compute/2.27.0/classgoogle_1_1cloud_1_1compute__instances__v1_1_1InstancesClient).\n\n### [InstancesConnectionIdempotencyPolicy](/cpp/docs/reference/compute/2.27.0/classgoogle_1_1cloud_1_1compute__instances__v1_1_1InstancesConnectionIdempotencyPolicy)\n\n### [InstancesLimitedErrorCountRetryPolicy](/cpp/docs/reference/compute/2.27.0/classgoogle_1_1cloud_1_1compute__instances__v1_1_1InstancesLimitedErrorCountRetryPolicy)\n\nA retry policy for [`InstancesConnection`](/cpp/docs/reference/compute/2.27.0/classgoogle_1_1cloud_1_1compute__instances__v1_1_1InstancesConnection) based on counting errors.\n\n### [InstancesLimitedTimeRetryPolicy](/cpp/docs/reference/compute/2.27.0/classgoogle_1_1cloud_1_1compute__instances__v1_1_1InstancesLimitedTimeRetryPolicy)\n\nA retry policy for [`InstancesConnection`](/cpp/docs/reference/compute/2.27.0/classgoogle_1_1cloud_1_1compute__instances__v1_1_1InstancesConnection) based on elapsed time.\n\n### [InstancesRetryPolicy](/cpp/docs/reference/compute/2.27.0/classgoogle_1_1cloud_1_1compute__instances__v1_1_1InstancesRetryPolicy)\n\nThe retry policy for [`InstancesConnection`](/cpp/docs/reference/compute/2.27.0/classgoogle_1_1cloud_1_1compute__instances__v1_1_1InstancesConnection).\n\nStructs\n-------\n\n### [InstancesBackoffPolicyOption](/cpp/docs/reference/compute/2.27.0/structgoogle_1_1cloud_1_1compute__instances__v1_1_1InstancesBackoffPolicyOption)\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### [InstancesConnectionIdempotencyPolicyOption](/cpp/docs/reference/compute/2.27.0/structgoogle_1_1cloud_1_1compute__instances__v1_1_1InstancesConnectionIdempotencyPolicyOption)\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### [InstancesPollingPolicyOption](/cpp/docs/reference/compute/2.27.0/structgoogle_1_1cloud_1_1compute__instances__v1_1_1InstancesPollingPolicyOption)\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### [InstancesRetryPolicyOption](/cpp/docs/reference/compute/2.27.0/structgoogle_1_1cloud_1_1compute__instances__v1_1_1InstancesRetryPolicyOption)\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### MakeDefaultInstancesConnectionIdempotencyPolicy()\n\n### MakeInstancesConnectionRest(Options)\n\nA factory function to construct an object of type [`InstancesConnection`](/cpp/docs/reference/compute/2.27.0/classgoogle_1_1cloud_1_1compute__instances__v1_1_1InstancesConnection) that uses REST over HTTP as transport in lieu of gRPC. \nREST transport should only be used for services that do not support gRPC or if the existing network configuration precludes using gRPC.\n\nThe returned connection object should not be used directly; instead it should be passed as an argument to the constructor of [InstancesClient](/cpp/docs/reference/compute/2.27.0/classgoogle_1_1cloud_1_1compute__instances__v1_1_1InstancesClient).\n\nThe optional `options` argument may be used to configure aspects of the returned [`InstancesConnection`](/cpp/docs/reference/compute/2.27.0/classgoogle_1_1cloud_1_1compute__instances__v1_1_1InstancesConnection). 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::RestOptionList`](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::compute_instances_v1::InstancesPolicyOptionList`](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."]]