The returned connection object should not be used directly; instead it should be passed as an argument to the constructor of PolicyTroubleshooterClient.
The optional options argument may be used to configure aspects of the returned PolicyTroubleshooterConnection. 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 webpage provides documentation for the Google Cloud C++ client library's Policy Troubleshooter IAM v3 API, with the latest release candidate version being 2.37.0-rc.\u003c/p\u003e\n"],["\u003cp\u003eThe content details multiple versions of the API, ranging from version 2.37.0-rc down to 2.11.0, each with its corresponding documentation.\u003c/p\u003e\n"],["\u003cp\u003eThe webpage also describes classes such as \u003ccode\u003ePolicyTroubleshooterClient\u003c/code\u003e, \u003ccode\u003ePolicyTroubleshooterConnection\u003c/code\u003e, and various retry policy classes, all related to interacting with the Policy Troubleshooter API.\u003c/p\u003e\n"],["\u003cp\u003eUsers can find information on how to configure the connection via the \u003ccode\u003eMakePolicyTroubleshooterConnection\u003c/code\u003e function and options lists like \u003ccode\u003eCommonOptionList\u003c/code\u003e, \u003ccode\u003eGrpcOptionList\u003c/code\u003e, and \u003ccode\u003eUnifiedCredentialsOptionList\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eMakeDefaultPolicyTroubleshooterConnectionIdempotencyPolicy\u003c/code\u003e function is available to use to return a unique pointer \u003ccode\u003ePolicyTroubleshooterConnectionIdempotencyPolicy\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Namespace google::cloud::policytroubleshooter_iam_v3 (2.23.0)\n\nVersion 2.23.0keyboard_arrow_down\n\n- [2.42.0-rc (latest)](/cpp/docs/reference/policytroubleshooter/latest/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3)\n- [2.41.0](/cpp/docs/reference/policytroubleshooter/2.41.0/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3)\n- [2.40.0](/cpp/docs/reference/policytroubleshooter/2.40.0/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3)\n- [2.39.0](/cpp/docs/reference/policytroubleshooter/2.39.0/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3)\n- [2.38.0](/cpp/docs/reference/policytroubleshooter/2.38.0/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3)\n- [2.37.0](/cpp/docs/reference/policytroubleshooter/2.37.0/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3)\n- [2.36.0](/cpp/docs/reference/policytroubleshooter/2.36.0/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3)\n- [2.35.0](/cpp/docs/reference/policytroubleshooter/2.35.0/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3)\n- [2.34.0](/cpp/docs/reference/policytroubleshooter/2.34.0/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3)\n- [2.33.0](/cpp/docs/reference/policytroubleshooter/2.33.0/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3)\n- [2.32.0](/cpp/docs/reference/policytroubleshooter/2.32.0/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3)\n- [2.31.0](/cpp/docs/reference/policytroubleshooter/2.31.0/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3)\n- [2.30.0](/cpp/docs/reference/policytroubleshooter/2.30.0/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3)\n- [2.29.0](/cpp/docs/reference/policytroubleshooter/2.29.0/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3)\n- [2.28.0](/cpp/docs/reference/policytroubleshooter/2.28.0/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3)\n- [2.27.0](/cpp/docs/reference/policytroubleshooter/2.27.0/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3)\n- [2.26.0](/cpp/docs/reference/policytroubleshooter/2.26.0/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3)\n- [2.25.1](/cpp/docs/reference/policytroubleshooter/2.25.1/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3)\n- [2.24.0](/cpp/docs/reference/policytroubleshooter/2.24.0/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3)\n- [2.23.0](/cpp/docs/reference/policytroubleshooter/2.23.0/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3)\n- [2.22.1](/cpp/docs/reference/policytroubleshooter/2.22.1/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3)\n- [2.21.0](/cpp/docs/reference/policytroubleshooter/2.21.0/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3)\n- [2.20.0](/cpp/docs/reference/policytroubleshooter/2.20.0/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3)\n- [2.19.0](/cpp/docs/reference/policytroubleshooter/2.19.0/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3)\n- [2.18.0](/cpp/docs/reference/policytroubleshooter/2.18.0/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3)\n- [2.17.0](/cpp/docs/reference/policytroubleshooter/2.17.0/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3)\n- [2.16.0](/cpp/docs/reference/policytroubleshooter/2.16.0/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3)\n- [2.15.1](/cpp/docs/reference/policytroubleshooter/2.15.1/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3)\n- [2.14.0](/cpp/docs/reference/policytroubleshooter/2.14.0/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3)\n- [2.13.0](/cpp/docs/reference/policytroubleshooter/2.13.0/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3)\n- [2.12.0](/cpp/docs/reference/policytroubleshooter/2.12.0/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3)\n- [2.11.0](/cpp/docs/reference/policytroubleshooter/2.11.0/namespacegoogle_1_1cloud_1_1policytroubleshooter__iam__v3) \n\nClasses\n-------\n\n### [PolicyTroubleshooterClient](/cpp/docs/reference/policytroubleshooter/2.23.0/classgoogle_1_1cloud_1_1policytroubleshooter__iam__v3_1_1PolicyTroubleshooterClient)\n\nIAM Policy Troubleshooter service.\n\n### [PolicyTroubleshooterConnection](/cpp/docs/reference/policytroubleshooter/2.23.0/classgoogle_1_1cloud_1_1policytroubleshooter__iam__v3_1_1PolicyTroubleshooterConnection)\n\nThe [`PolicyTroubleshooterConnection`](/cpp/docs/reference/policytroubleshooter/2.23.0/classgoogle_1_1cloud_1_1policytroubleshooter__iam__v3_1_1PolicyTroubleshooterConnection) object for [`PolicyTroubleshooterClient`](/cpp/docs/reference/policytroubleshooter/2.23.0/classgoogle_1_1cloud_1_1policytroubleshooter__iam__v3_1_1PolicyTroubleshooterClient).\n\n### [PolicyTroubleshooterConnectionIdempotencyPolicy](/cpp/docs/reference/policytroubleshooter/2.23.0/classgoogle_1_1cloud_1_1policytroubleshooter__iam__v3_1_1PolicyTroubleshooterConnectionIdempotencyPolicy)\n\n### [PolicyTroubleshooterLimitedErrorCountRetryPolicy](/cpp/docs/reference/policytroubleshooter/2.23.0/classgoogle_1_1cloud_1_1policytroubleshooter__iam__v3_1_1PolicyTroubleshooterLimitedErrorCountRetryPolicy)\n\nA retry policy for [`PolicyTroubleshooterConnection`](/cpp/docs/reference/policytroubleshooter/2.23.0/classgoogle_1_1cloud_1_1policytroubleshooter__iam__v3_1_1PolicyTroubleshooterConnection) based on counting errors.\n\n### [PolicyTroubleshooterLimitedTimeRetryPolicy](/cpp/docs/reference/policytroubleshooter/2.23.0/classgoogle_1_1cloud_1_1policytroubleshooter__iam__v3_1_1PolicyTroubleshooterLimitedTimeRetryPolicy)\n\nA retry policy for [`PolicyTroubleshooterConnection`](/cpp/docs/reference/policytroubleshooter/2.23.0/classgoogle_1_1cloud_1_1policytroubleshooter__iam__v3_1_1PolicyTroubleshooterConnection) based on elapsed time.\n\n### [PolicyTroubleshooterRetryPolicy](/cpp/docs/reference/policytroubleshooter/2.23.0/classgoogle_1_1cloud_1_1policytroubleshooter__iam__v3_1_1PolicyTroubleshooterRetryPolicy)\n\nThe retry policy for [`PolicyTroubleshooterConnection`](/cpp/docs/reference/policytroubleshooter/2.23.0/classgoogle_1_1cloud_1_1policytroubleshooter__iam__v3_1_1PolicyTroubleshooterConnection).\n\nStructs\n-------\n\n### [PolicyTroubleshooterBackoffPolicyOption](/cpp/docs/reference/policytroubleshooter/2.23.0/structgoogle_1_1cloud_1_1policytroubleshooter__iam__v3_1_1PolicyTroubleshooterBackoffPolicyOption)\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### [PolicyTroubleshooterConnectionIdempotencyPolicyOption](/cpp/docs/reference/policytroubleshooter/2.23.0/structgoogle_1_1cloud_1_1policytroubleshooter__iam__v3_1_1PolicyTroubleshooterConnectionIdempotencyPolicyOption)\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### [PolicyTroubleshooterRetryPolicyOption](/cpp/docs/reference/policytroubleshooter/2.23.0/structgoogle_1_1cloud_1_1policytroubleshooter__iam__v3_1_1PolicyTroubleshooterRetryPolicyOption)\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### MakePolicyTroubleshooterConnection(Options)\n\nA factory function to construct an object of type [`PolicyTroubleshooterConnection`](/cpp/docs/reference/policytroubleshooter/2.23.0/classgoogle_1_1cloud_1_1policytroubleshooter__iam__v3_1_1PolicyTroubleshooterConnection). \nThe returned connection object should not be used directly; instead it should be passed as an argument to the constructor of [PolicyTroubleshooterClient](/cpp/docs/reference/policytroubleshooter/2.23.0/classgoogle_1_1cloud_1_1policytroubleshooter__iam__v3_1_1PolicyTroubleshooterClient).\n\nThe optional `options` argument may be used to configure aspects of the returned [`PolicyTroubleshooterConnection`](/cpp/docs/reference/policytroubleshooter/2.23.0/classgoogle_1_1cloud_1_1policytroubleshooter__iam__v3_1_1PolicyTroubleshooterConnection). Expected options are any of the types in the following option lists:\n\n- [`google::cloud::CommonOptionList`](about:invalid#zCSafez)\n- [`google::cloud::GrpcOptionList`](https://cloud.google.com/cpp/docs/reference/common/latest/namespacegoogle_1_1cloud.html)\n- [`google::cloud::UnifiedCredentialsOptionList`](about:invalid#zCSafez)\n- [`google::cloud::policytroubleshooter_iam_v3::PolicyTroubleshooterPolicyOptionList`](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### MakeDefaultPolicyTroubleshooterConnectionIdempotencyPolicy()"]]