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 webpage provides documentation for the \u003ccode\u003eiam_admin_v1\u003c/code\u003e namespace in the C++ library, covering versions from 2.11.0 to the latest release candidate 2.37.0-rc.\u003c/p\u003e\n"],["\u003cp\u003eThe documentation includes details on the \u003ccode\u003eIAMClient\u003c/code\u003e and \u003ccode\u003eIAMConnection\u003c/code\u003e classes, which are essential for managing Identity and Access Management (IAM) resources.\u003c/p\u003e\n"],["\u003cp\u003eIt also documents several retry policies, including \u003ccode\u003eIAMLimitedErrorCountRetryPolicy\u003c/code\u003e, \u003ccode\u003eIAMLimitedTimeRetryPolicy\u003c/code\u003e, and \u003ccode\u003eIAMRetryPolicy\u003c/code\u003e, for handling potential connection issues.\u003c/p\u003e\n"],["\u003cp\u003eThe page includes various structs like \u003ccode\u003eIAMBackoffPolicyOption\u003c/code\u003e, \u003ccode\u003eIAMConnectionIdempotencyPolicyOption\u003c/code\u003e, and \u003ccode\u003eIAMRetryPolicyOption\u003c/code\u003e to be used with \u003ccode\u003egoogle::cloud::Options\u003c/code\u003e in order to configure the backoff and retry policies.\u003c/p\u003e\n"],["\u003cp\u003eThe documentation covers the \u003ccode\u003eMakeIAMConnection\u003c/code\u003e function, which creates \u003ccode\u003eIAMConnection\u003c/code\u003e objects, and explains how to use options to customize the connection, and provides a \u003ccode\u003eMakeDefaultIAMConnectionIdempotencyPolicy\u003c/code\u003e function.\u003c/p\u003e\n"]]],[],null,["# Namespace google::cloud::iam_admin_v1 (2.17.0)\n\nVersion 2.17.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.17.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.17.0/classgoogle_1_1cloud_1_1iam__admin__v1_1_1IAMConnection)\n\nThe [`IAMConnection`](/cpp/docs/reference/iam/2.17.0/classgoogle_1_1cloud_1_1iam__admin__v1_1_1IAMConnection) object for [`IAMClient`](/cpp/docs/reference/iam/2.17.0/classgoogle_1_1cloud_1_1iam__admin__v1_1_1IAMClient).\n\n### [IAMConnectionIdempotencyPolicy](/cpp/docs/reference/iam/2.17.0/classgoogle_1_1cloud_1_1iam__admin__v1_1_1IAMConnectionIdempotencyPolicy)\n\n### [IAMLimitedErrorCountRetryPolicy](/cpp/docs/reference/iam/2.17.0/classgoogle_1_1cloud_1_1iam__admin__v1_1_1IAMLimitedErrorCountRetryPolicy)\n\nA retry policy for [`IAMConnection`](/cpp/docs/reference/iam/2.17.0/classgoogle_1_1cloud_1_1iam__admin__v1_1_1IAMConnection) based on counting errors.\n\n### [IAMLimitedTimeRetryPolicy](/cpp/docs/reference/iam/2.17.0/classgoogle_1_1cloud_1_1iam__admin__v1_1_1IAMLimitedTimeRetryPolicy)\n\nA retry policy for [`IAMConnection`](/cpp/docs/reference/iam/2.17.0/classgoogle_1_1cloud_1_1iam__admin__v1_1_1IAMConnection) based on elapsed time.\n\n### [IAMRetryPolicy](/cpp/docs/reference/iam/2.17.0/classgoogle_1_1cloud_1_1iam__admin__v1_1_1IAMRetryPolicy)\n\nThe retry policy for [`IAMConnection`](/cpp/docs/reference/iam/2.17.0/classgoogle_1_1cloud_1_1iam__admin__v1_1_1IAMConnection).\n\nStructs\n-------\n\n### [IAMBackoffPolicyOption](/cpp/docs/reference/iam/2.17.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.17.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.17.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.17.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.17.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.17.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`](/cpp/docs/reference/iam/2.17.0/namespacegoogle_1_1cloud_1_1iam__admin__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### MakeDefaultIAMConnectionIdempotencyPolicy()\n\nType Aliases\n------------\n\n### IAMPolicyOptionList\n\n**Alias Of** : `OptionList\u003c IAMRetryPolicyOption, IAMBackoffPolicyOption, IAMConnectionIdempotencyPolicyOption \u003e` \nThe options applicable to IAM."]]