A factory function to construct an object of typeIAMConnection.
The returned connection object should not be used directly; instead it should be passed as an argument to the constructor ofIAMClient.
The optionaloptionsargument may be used to configure aspects of the returnedIAMConnection. 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"]],[["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 page provides documentation for the C++ client library related to Identity and Access Management (IAM), specifically under the \u003ccode\u003egoogle::cloud::iam_admin_v1\u003c/code\u003e namespace.\u003c/p\u003e\n"],["\u003cp\u003eThe latest release candidate is version 2.37.0-rc, while the most recent stable version is 2.36.0, and documentation is available for versions back to 2.11.0.\u003c/p\u003e\n"],["\u003cp\u003eThe library includes classes such as \u003ccode\u003eIAMClient\u003c/code\u003e and \u003ccode\u003eIAMConnection\u003c/code\u003e for managing IAM resources, alongside various retry policies and configuration options.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eMakeIAMConnection\u003c/code\u003e function is a factory method used to create an \u003ccode\u003eIAMConnection\u003c/code\u003e object, which can be customized using options like \u003ccode\u003eCommonOptionList\u003c/code\u003e, \u003ccode\u003eGrpcOptionList\u003c/code\u003e, and \u003ccode\u003eUnifiedCredentialsOptionList\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThere is a function \u003ccode\u003eMakeDefaultIAMConnectionIdempotencyPolicy\u003c/code\u003e which will return a unique pointer of the type \u003ccode\u003eIAMConnectionIdempotencyPolicy\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Namespace google::cloud::iam_admin_v1 (2.36.0)\n\nVersion 2.36.0keyboard_arrow_down\n\n- [2.42.0-rc (latest)](/cpp/docs/reference/iam/latest/namespacegoogle_1_1cloud_1_1iam__admin__v1)\n- [2.41.0](/cpp/docs/reference/iam/2.41.0/namespacegoogle_1_1cloud_1_1iam__admin__v1)\n- [2.40.0](/cpp/docs/reference/iam/2.40.0/namespacegoogle_1_1cloud_1_1iam__admin__v1)\n- [2.39.0](/cpp/docs/reference/iam/2.39.0/namespacegoogle_1_1cloud_1_1iam__admin__v1)\n- [2.38.0](/cpp/docs/reference/iam/2.38.0/namespacegoogle_1_1cloud_1_1iam__admin__v1)\n- [2.37.0](/cpp/docs/reference/iam/2.37.0/namespacegoogle_1_1cloud_1_1iam__admin__v1)\n- [2.36.0](/cpp/docs/reference/iam/2.36.0/namespacegoogle_1_1cloud_1_1iam__admin__v1)\n- [2.35.0](/cpp/docs/reference/iam/2.35.0/namespacegoogle_1_1cloud_1_1iam__admin__v1)\n- [2.34.0](/cpp/docs/reference/iam/2.34.0/namespacegoogle_1_1cloud_1_1iam__admin__v1)\n- [2.33.0](/cpp/docs/reference/iam/2.33.0/namespacegoogle_1_1cloud_1_1iam__admin__v1)\n- [2.32.0](/cpp/docs/reference/iam/2.32.0/namespacegoogle_1_1cloud_1_1iam__admin__v1)\n- [2.31.0](/cpp/docs/reference/iam/2.31.0/namespacegoogle_1_1cloud_1_1iam__admin__v1)\n- [2.30.0](/cpp/docs/reference/iam/2.30.0/namespacegoogle_1_1cloud_1_1iam__admin__v1)\n- [2.29.0](/cpp/docs/reference/iam/2.29.0/namespacegoogle_1_1cloud_1_1iam__admin__v1)\n- [2.28.0](/cpp/docs/reference/iam/2.28.0/namespacegoogle_1_1cloud_1_1iam__admin__v1)\n- [2.27.0](/cpp/docs/reference/iam/2.27.0/namespacegoogle_1_1cloud_1_1iam__admin__v1)\n- [2.26.0](/cpp/docs/reference/iam/2.26.0/namespacegoogle_1_1cloud_1_1iam__admin__v1)\n- [2.25.1](/cpp/docs/reference/iam/2.25.1/namespacegoogle_1_1cloud_1_1iam__admin__v1)\n- [2.24.0](/cpp/docs/reference/iam/2.24.0/namespacegoogle_1_1cloud_1_1iam__admin__v1)\n- [2.23.0](/cpp/docs/reference/iam/2.23.0/namespacegoogle_1_1cloud_1_1iam__admin__v1)\n- [2.22.1](/cpp/docs/reference/iam/2.22.1/namespacegoogle_1_1cloud_1_1iam__admin__v1)\n- [2.21.0](/cpp/docs/reference/iam/2.21.0/namespacegoogle_1_1cloud_1_1iam__admin__v1)\n- [2.20.0](/cpp/docs/reference/iam/2.20.0/namespacegoogle_1_1cloud_1_1iam__admin__v1)\n- [2.19.0](/cpp/docs/reference/iam/2.19.0/namespacegoogle_1_1cloud_1_1iam__admin__v1)\n- [2.18.0](/cpp/docs/reference/iam/2.18.0/namespacegoogle_1_1cloud_1_1iam__admin__v1)\n- [2.17.0](/cpp/docs/reference/iam/2.17.0/namespacegoogle_1_1cloud_1_1iam__admin__v1)\n- [2.16.0](/cpp/docs/reference/iam/2.16.0/namespacegoogle_1_1cloud_1_1iam__admin__v1)\n- [2.15.1](/cpp/docs/reference/iam/2.15.1/namespacegoogle_1_1cloud_1_1iam__admin__v1)\n- [2.14.0](/cpp/docs/reference/iam/2.14.0/namespacegoogle_1_1cloud_1_1iam__admin__v1)\n- [2.13.0](/cpp/docs/reference/iam/2.13.0/namespacegoogle_1_1cloud_1_1iam__admin__v1)\n- [2.12.0](/cpp/docs/reference/iam/2.12.0/namespacegoogle_1_1cloud_1_1iam__admin__v1)\n- [2.11.0](/cpp/docs/reference/iam/2.11.0/namespacegoogle_1_1cloud_1_1iam__admin__v1) \n\nClasses\n-------\n\n### [IAMClient](/cpp/docs/reference/iam/2.36.0/classgoogle_1_1cloud_1_1iam__admin__v1_1_1IAMClient)\n\nCreates and manages Identity and Access Management (IAM) resources.\n\n### [IAMConnection](/cpp/docs/reference/iam/2.36.0/classgoogle_1_1cloud_1_1iam__admin__v1_1_1IAMConnection)\n\nThe [`IAMConnection`](/cpp/docs/reference/iam/2.36.0/classgoogle_1_1cloud_1_1iam__admin__v1_1_1IAMConnection) object for [`IAMClient`](/cpp/docs/reference/iam/2.36.0/classgoogle_1_1cloud_1_1iam__admin__v1_1_1IAMClient).\n\n### [IAMConnectionIdempotencyPolicy](/cpp/docs/reference/iam/2.36.0/classgoogle_1_1cloud_1_1iam__admin__v1_1_1IAMConnectionIdempotencyPolicy)\n\n### [IAMLimitedErrorCountRetryPolicy](/cpp/docs/reference/iam/2.36.0/classgoogle_1_1cloud_1_1iam__admin__v1_1_1IAMLimitedErrorCountRetryPolicy)\n\nA retry policy for [`IAMConnection`](/cpp/docs/reference/iam/2.36.0/classgoogle_1_1cloud_1_1iam__admin__v1_1_1IAMConnection) based on counting errors.\n\n### [IAMLimitedTimeRetryPolicy](/cpp/docs/reference/iam/2.36.0/classgoogle_1_1cloud_1_1iam__admin__v1_1_1IAMLimitedTimeRetryPolicy)\n\nA retry policy for [`IAMConnection`](/cpp/docs/reference/iam/2.36.0/classgoogle_1_1cloud_1_1iam__admin__v1_1_1IAMConnection) based on elapsed time.\n\n### [IAMRetryPolicy](/cpp/docs/reference/iam/2.36.0/classgoogle_1_1cloud_1_1iam__admin__v1_1_1IAMRetryPolicy)\n\nThe retry policy for [`IAMConnection`](/cpp/docs/reference/iam/2.36.0/classgoogle_1_1cloud_1_1iam__admin__v1_1_1IAMConnection).\n\nStructs\n-------\n\n### [IAMBackoffPolicyOption](/cpp/docs/reference/iam/2.36.0/structgoogle_1_1cloud_1_1iam__admin__v1_1_1IAMBackoffPolicyOption)\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### [IAMConnectionIdempotencyPolicyOption](/cpp/docs/reference/iam/2.36.0/structgoogle_1_1cloud_1_1iam__admin__v1_1_1IAMConnectionIdempotencyPolicyOption)\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### [IAMRetryPolicyOption](/cpp/docs/reference/iam/2.36.0/structgoogle_1_1cloud_1_1iam__admin__v1_1_1IAMRetryPolicyOption)\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### MakeIAMConnection(Options)\n\nA factory function to construct an object of type [`IAMConnection`](/cpp/docs/reference/iam/2.36.0/classgoogle_1_1cloud_1_1iam__admin__v1_1_1IAMConnection). \nThe returned connection object should not be used directly; instead it should be passed as an argument to the constructor of [IAMClient](/cpp/docs/reference/iam/2.36.0/classgoogle_1_1cloud_1_1iam__admin__v1_1_1IAMClient).\n\nThe optional `options` argument may be used to configure aspects of the returned [`IAMConnection`](/cpp/docs/reference/iam/2.36.0/classgoogle_1_1cloud_1_1iam__admin__v1_1_1IAMConnection). 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::iam_admin_v1::IAMPolicyOptionList`](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### MakeDefaultIAMConnectionIdempotencyPolicy()"]]