Provides insights and recommendations for cloud customers for various categories like performance optimization, cost savings, reliability, feature discovery, etc.
The returned connection object should not be used directly; instead it should be passed as an argument to the constructor of RecommenderClient.
The optional options argument may be used to configure aspects of the returned RecommenderConnection. 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 page provides documentation for the Google Cloud Recommender C++ client library, specifically focusing on version 2.14.0, while also listing links to many prior versions.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eRecommenderClient\u003c/code\u003e class is designed to provide insights and recommendations for cloud customers related to performance, cost, reliability, and other areas.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eRecommenderConnection\u003c/code\u003e object, alongside associated retry and idempotency policies, handles the underlying communication logic for \u003ccode\u003eRecommenderClient\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe documentation includes factory functions like \u003ccode\u003eMakeRecommenderConnection\u003c/code\u003e for creating \u003ccode\u003eRecommenderConnection\u003c/code\u003e objects, which can be configured with various options.\u003c/p\u003e\n"],["\u003cp\u003eSeveral types of structs are provided, which can be used with Google Cloud Options to fine tune aspects such as retry policy, and backoff.\u003c/p\u003e\n"]]],[],null,["# Namespace google::cloud::recommender_v1 (2.14.0)\n\nVersion 2.14.0keyboard_arrow_down\n\n- [2.42.0-rc (latest)](/cpp/docs/reference/recommender/latest/namespacegoogle_1_1cloud_1_1recommender__v1)\n- [2.41.0](/cpp/docs/reference/recommender/2.41.0/namespacegoogle_1_1cloud_1_1recommender__v1)\n- [2.40.0](/cpp/docs/reference/recommender/2.40.0/namespacegoogle_1_1cloud_1_1recommender__v1)\n- [2.39.0](/cpp/docs/reference/recommender/2.39.0/namespacegoogle_1_1cloud_1_1recommender__v1)\n- [2.38.0](/cpp/docs/reference/recommender/2.38.0/namespacegoogle_1_1cloud_1_1recommender__v1)\n- [2.37.0](/cpp/docs/reference/recommender/2.37.0/namespacegoogle_1_1cloud_1_1recommender__v1)\n- [2.36.0](/cpp/docs/reference/recommender/2.36.0/namespacegoogle_1_1cloud_1_1recommender__v1)\n- [2.35.0](/cpp/docs/reference/recommender/2.35.0/namespacegoogle_1_1cloud_1_1recommender__v1)\n- [2.34.0](/cpp/docs/reference/recommender/2.34.0/namespacegoogle_1_1cloud_1_1recommender__v1)\n- [2.33.0](/cpp/docs/reference/recommender/2.33.0/namespacegoogle_1_1cloud_1_1recommender__v1)\n- [2.32.0](/cpp/docs/reference/recommender/2.32.0/namespacegoogle_1_1cloud_1_1recommender__v1)\n- [2.31.0](/cpp/docs/reference/recommender/2.31.0/namespacegoogle_1_1cloud_1_1recommender__v1)\n- [2.30.0](/cpp/docs/reference/recommender/2.30.0/namespacegoogle_1_1cloud_1_1recommender__v1)\n- [2.29.0](/cpp/docs/reference/recommender/2.29.0/namespacegoogle_1_1cloud_1_1recommender__v1)\n- [2.28.0](/cpp/docs/reference/recommender/2.28.0/namespacegoogle_1_1cloud_1_1recommender__v1)\n- [2.27.0](/cpp/docs/reference/recommender/2.27.0/namespacegoogle_1_1cloud_1_1recommender__v1)\n- [2.26.0](/cpp/docs/reference/recommender/2.26.0/namespacegoogle_1_1cloud_1_1recommender__v1)\n- [2.25.1](/cpp/docs/reference/recommender/2.25.1/namespacegoogle_1_1cloud_1_1recommender__v1)\n- [2.24.0](/cpp/docs/reference/recommender/2.24.0/namespacegoogle_1_1cloud_1_1recommender__v1)\n- [2.23.0](/cpp/docs/reference/recommender/2.23.0/namespacegoogle_1_1cloud_1_1recommender__v1)\n- [2.22.1](/cpp/docs/reference/recommender/2.22.1/namespacegoogle_1_1cloud_1_1recommender__v1)\n- [2.21.0](/cpp/docs/reference/recommender/2.21.0/namespacegoogle_1_1cloud_1_1recommender__v1)\n- [2.20.0](/cpp/docs/reference/recommender/2.20.0/namespacegoogle_1_1cloud_1_1recommender__v1)\n- [2.19.0](/cpp/docs/reference/recommender/2.19.0/namespacegoogle_1_1cloud_1_1recommender__v1)\n- [2.18.0](/cpp/docs/reference/recommender/2.18.0/namespacegoogle_1_1cloud_1_1recommender__v1)\n- [2.17.0](/cpp/docs/reference/recommender/2.17.0/namespacegoogle_1_1cloud_1_1recommender__v1)\n- [2.16.0](/cpp/docs/reference/recommender/2.16.0/namespacegoogle_1_1cloud_1_1recommender__v1)\n- [2.15.1](/cpp/docs/reference/recommender/2.15.1/namespacegoogle_1_1cloud_1_1recommender__v1)\n- [2.14.0](/cpp/docs/reference/recommender/2.14.0/namespacegoogle_1_1cloud_1_1recommender__v1)\n- [2.13.0](/cpp/docs/reference/recommender/2.13.0/namespacegoogle_1_1cloud_1_1recommender__v1)\n- [2.12.0](/cpp/docs/reference/recommender/2.12.0/namespacegoogle_1_1cloud_1_1recommender__v1)\n- [2.11.0](/cpp/docs/reference/recommender/2.11.0/namespacegoogle_1_1cloud_1_1recommender__v1) \n\nClasses\n-------\n\n### [RecommenderClient](/cpp/docs/reference/recommender/2.14.0/classgoogle_1_1cloud_1_1recommender__v1_1_1RecommenderClient)\n\nProvides insights and recommendations for cloud customers for various categories like performance optimization, cost savings, reliability, feature discovery, etc.\n\n### [RecommenderConnection](/cpp/docs/reference/recommender/2.14.0/classgoogle_1_1cloud_1_1recommender__v1_1_1RecommenderConnection)\n\nThe [`RecommenderConnection`](/cpp/docs/reference/recommender/2.14.0/classgoogle_1_1cloud_1_1recommender__v1_1_1RecommenderConnection) object for [`RecommenderClient`](/cpp/docs/reference/recommender/2.14.0/classgoogle_1_1cloud_1_1recommender__v1_1_1RecommenderClient).\n\n### [RecommenderConnectionIdempotencyPolicy](/cpp/docs/reference/recommender/2.14.0/classgoogle_1_1cloud_1_1recommender__v1_1_1RecommenderConnectionIdempotencyPolicy)\n\n### [RecommenderLimitedErrorCountRetryPolicy](/cpp/docs/reference/recommender/2.14.0/classgoogle_1_1cloud_1_1recommender__v1_1_1RecommenderLimitedErrorCountRetryPolicy)\n\nA retry policy for [`RecommenderConnection`](/cpp/docs/reference/recommender/2.14.0/classgoogle_1_1cloud_1_1recommender__v1_1_1RecommenderConnection) based on counting errors.\n\n### [RecommenderLimitedTimeRetryPolicy](/cpp/docs/reference/recommender/2.14.0/classgoogle_1_1cloud_1_1recommender__v1_1_1RecommenderLimitedTimeRetryPolicy)\n\nA retry policy for [`RecommenderConnection`](/cpp/docs/reference/recommender/2.14.0/classgoogle_1_1cloud_1_1recommender__v1_1_1RecommenderConnection) based on elapsed time.\n\n### [RecommenderRetryPolicy](/cpp/docs/reference/recommender/2.14.0/classgoogle_1_1cloud_1_1recommender__v1_1_1RecommenderRetryPolicy)\n\nThe retry policy for [`RecommenderConnection`](/cpp/docs/reference/recommender/2.14.0/classgoogle_1_1cloud_1_1recommender__v1_1_1RecommenderConnection).\n\nStructs\n-------\n\n### [RecommenderBackoffPolicyOption](/cpp/docs/reference/recommender/2.14.0/structgoogle_1_1cloud_1_1recommender__v1_1_1RecommenderBackoffPolicyOption)\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### [RecommenderConnectionIdempotencyPolicyOption](/cpp/docs/reference/recommender/2.14.0/structgoogle_1_1cloud_1_1recommender__v1_1_1RecommenderConnectionIdempotencyPolicyOption)\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### [RecommenderRetryPolicyOption](/cpp/docs/reference/recommender/2.14.0/structgoogle_1_1cloud_1_1recommender__v1_1_1RecommenderRetryPolicyOption)\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### MakeRecommenderConnection(Options)\n\nA factory function to construct an object of type [`RecommenderConnection`](/cpp/docs/reference/recommender/2.14.0/classgoogle_1_1cloud_1_1recommender__v1_1_1RecommenderConnection). \nThe returned connection object should not be used directly; instead it should be passed as an argument to the constructor of [RecommenderClient](/cpp/docs/reference/recommender/2.14.0/classgoogle_1_1cloud_1_1recommender__v1_1_1RecommenderClient).\n\nThe optional `options` argument may be used to configure aspects of the returned [`RecommenderConnection`](/cpp/docs/reference/recommender/2.14.0/classgoogle_1_1cloud_1_1recommender__v1_1_1RecommenderConnection). 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::recommender_v1::RecommenderPolicyOptionList`](/cpp/docs/reference/recommender/2.14.0/namespacegoogle_1_1cloud_1_1recommender__v1)\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### MakeDefaultRecommenderConnectionIdempotencyPolicy()\n\nType Aliases\n------------\n\n### RecommenderPolicyOptionList\n\n**Alias Of** : `OptionList\u003c RecommenderRetryPolicyOption, RecommenderBackoffPolicyOption, RecommenderConnectionIdempotencyPolicyOption \u003e` \nThe options applicable to Recommender."]]