This service helps you troubleshoot access issues for Google Cloud resources.
Equality
Instances of this class created via copy-construction or copy-assignment always compare equal. Instances created with equal std::shared_ptr<*Connection> objects compare equal. Objects that compare equal share the same underlying resources.
Performance
Creating a new instance of this class is a relatively expensive operation, new objects establish new connections to the service. In contrast, copy-construction, move-construction, and the corresponding assignment operations are relatively efficient as the copies share all underlying resources.
Thread Safety
Concurrent access to different instances of this class, even if they compare equal, is guaranteed to work. Two or more threads operating on the same instance of this class is not guaranteed to work. Since copy-construction and move-construction is a relatively efficient operation, consider using such a copy when using this class from multiple threads.
[[["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."],[],[],null,["# Class IamCheckerClient (2.37.0)\n\nVersion 2.37.0keyboard_arrow_down\n\n- [2.42.0-rc (latest)](/cpp/docs/reference/policytroubleshooter/latest/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient)\n- [2.41.0](/cpp/docs/reference/policytroubleshooter/2.41.0/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient)\n- [2.40.0](/cpp/docs/reference/policytroubleshooter/2.40.0/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient)\n- [2.39.0](/cpp/docs/reference/policytroubleshooter/2.39.0/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient)\n- [2.38.0](/cpp/docs/reference/policytroubleshooter/2.38.0/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient)\n- [2.37.0](/cpp/docs/reference/policytroubleshooter/2.37.0/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient)\n- [2.36.0](/cpp/docs/reference/policytroubleshooter/2.36.0/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient)\n- [2.35.0](/cpp/docs/reference/policytroubleshooter/2.35.0/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient)\n- [2.34.0](/cpp/docs/reference/policytroubleshooter/2.34.0/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient)\n- [2.33.0](/cpp/docs/reference/policytroubleshooter/2.33.0/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient)\n- [2.32.0](/cpp/docs/reference/policytroubleshooter/2.32.0/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient)\n- [2.31.0](/cpp/docs/reference/policytroubleshooter/2.31.0/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient)\n- [2.30.0](/cpp/docs/reference/policytroubleshooter/2.30.0/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient)\n- [2.29.0](/cpp/docs/reference/policytroubleshooter/2.29.0/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient)\n- [2.28.0](/cpp/docs/reference/policytroubleshooter/2.28.0/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient)\n- [2.27.0](/cpp/docs/reference/policytroubleshooter/2.27.0/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient)\n- [2.26.0](/cpp/docs/reference/policytroubleshooter/2.26.0/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient)\n- [2.25.1](/cpp/docs/reference/policytroubleshooter/2.25.1/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient)\n- [2.24.0](/cpp/docs/reference/policytroubleshooter/2.24.0/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient)\n- [2.23.0](/cpp/docs/reference/policytroubleshooter/2.23.0/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient)\n- [2.22.1](/cpp/docs/reference/policytroubleshooter/2.22.1/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient)\n- [2.21.0](/cpp/docs/reference/policytroubleshooter/2.21.0/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient)\n- [2.20.0](/cpp/docs/reference/policytroubleshooter/2.20.0/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient)\n- [2.19.0](/cpp/docs/reference/policytroubleshooter/2.19.0/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient)\n- [2.18.0](/cpp/docs/reference/policytroubleshooter/2.18.0/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient)\n- [2.17.0](/cpp/docs/reference/policytroubleshooter/2.17.0/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient)\n- [2.16.0](/cpp/docs/reference/policytroubleshooter/2.16.0/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient)\n- [2.15.1](/cpp/docs/reference/policytroubleshooter/2.15.1/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient)\n- [2.14.0](/cpp/docs/reference/policytroubleshooter/2.14.0/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient)\n- [2.13.0](/cpp/docs/reference/policytroubleshooter/2.13.0/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient)\n- [2.12.0](/cpp/docs/reference/policytroubleshooter/2.12.0/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient)\n- [2.11.0](/cpp/docs/reference/policytroubleshooter/2.11.0/classgoogle_1_1cloud_1_1policytroubleshooter__v1_1_1IamCheckerClient) \nIAM Policy Troubleshooter service. \nThis service helps you troubleshoot access issues for Google Cloud resources.\n\n###### Equality\n\nInstances of this class created via copy-construction or copy-assignment always compare equal. Instances created with equal `std::shared_ptr\u003c*Connection\u003e` objects compare equal. Objects that compare equal share the same underlying resources.\n\n###### Performance\n\nCreating a new instance of this class is a relatively expensive operation, new objects establish new connections to the service. In contrast, copy-construction, move-construction, and the corresponding assignment operations are relatively efficient as the copies share all underlying resources.\n\n###### Thread Safety\n\nConcurrent access to different instances of this class, even if they compare equal, is guaranteed to work. Two or more threads operating on the same instance of this class is not guaranteed to work. Since copy-construction and move-construction is a relatively efficient operation, consider using such a copy when using this class from multiple threads.\n\nConstructors\n------------\n\n### IamCheckerClient(IamCheckerClient const \\&)\n\nCopy and move support\n\n### IamCheckerClient(IamCheckerClient \\&\\&)\n\nCopy and move support\n\n### IamCheckerClient(std::shared_ptr\\\u003c IamCheckerConnection \\\u003e, Options)\n\nOperators\n---------\n\n### operator=(IamCheckerClient const \\&)\n\nCopy and move support\n\n### operator=(IamCheckerClient \\&\\&)\n\nCopy and move support\n\nFunctions\n---------\n\n### TroubleshootIamPolicy(google::cloud::policytroubleshooter::v1::TroubleshootIamPolicyRequest const \\&, Options)\n\nChecks whether a principal has a specific permission for a specific resource, and explains why the principal does or does not have that permission."]]