The returned connection object should not be used directly; instead it should be passed as an argument to the constructor ofEkmServiceClient.
The optionaloptionsargument may be used to configure aspects of the returnedEkmServiceConnection. Expected options are any of the types in the following option lists:
The returned connection object should not be used directly; instead it should be passed as an argument to the constructor ofKeyManagementServiceClient.
The optionaloptionsargument may be used to configure aspects of the returnedKeyManagementServiceConnection. 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 Google Cloud Key Management Service (KMS) C++ client library, specifically for version 2.10.1.\u003c/p\u003e\n"],["\u003cp\u003eThe latest release of the library is version 2.37.0-rc, and the page includes links to documentation for many previous versions, down to version 2.10.1.\u003c/p\u003e\n"],["\u003cp\u003eIt documents the \u003ccode\u003eEkmServiceClient\u003c/code\u003e and \u003ccode\u003eKeyManagementServiceClient\u003c/code\u003e classes, used to interface with the Google Cloud Key Management EKM Service and the Google Cloud Key Management Service, respectively.\u003c/p\u003e\n"],["\u003cp\u003eThe page also details connection objects (\u003ccode\u003eEkmServiceConnection\u003c/code\u003e and \u003ccode\u003eKeyManagementServiceConnection\u003c/code\u003e), along with various structs for configuring retry and backoff policies for both \u003ccode\u003eEkmService\u003c/code\u003e and \u003ccode\u003eKeyManagementService\u003c/code\u003e connections, as well as the factory functions to create them.\u003c/p\u003e\n"],["\u003cp\u003eIncluded are optional configurations that may be used to configure the \u003ccode\u003eEkmServiceConnection\u003c/code\u003e and \u003ccode\u003eKeyManagementServiceConnection\u003c/code\u003e, which should be passed as arguments to the constructor of the applicable client.\u003c/p\u003e\n"]]],[],null,["# Namespace google::cloud::kms_v1 (2.10.1)\n\nVersion 2.10.1keyboard_arrow_down\n\n- [2.42.0-rc (latest)](/cpp/docs/reference/kms/latest/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.41.0](/cpp/docs/reference/kms/2.41.0/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.40.0](/cpp/docs/reference/kms/2.40.0/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.39.0](/cpp/docs/reference/kms/2.39.0/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.38.0](/cpp/docs/reference/kms/2.38.0/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.37.0](/cpp/docs/reference/kms/2.37.0/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.36.0](/cpp/docs/reference/kms/2.36.0/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.35.0](/cpp/docs/reference/kms/2.35.0/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.34.0](/cpp/docs/reference/kms/2.34.0/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.33.0](/cpp/docs/reference/kms/2.33.0/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.32.0](/cpp/docs/reference/kms/2.32.0/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.31.0](/cpp/docs/reference/kms/2.31.0/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.30.0](/cpp/docs/reference/kms/2.30.0/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.29.0](/cpp/docs/reference/kms/2.29.0/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.28.0](/cpp/docs/reference/kms/2.28.0/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.27.0](/cpp/docs/reference/kms/2.27.0/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.26.0](/cpp/docs/reference/kms/2.26.0/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.25.1](/cpp/docs/reference/kms/2.25.1/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.24.0](/cpp/docs/reference/kms/2.24.0/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.23.0](/cpp/docs/reference/kms/2.23.0/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.22.1](/cpp/docs/reference/kms/2.22.1/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.21.0](/cpp/docs/reference/kms/2.21.0/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.20.0](/cpp/docs/reference/kms/2.20.0/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.19.0](/cpp/docs/reference/kms/2.19.0/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.18.0](/cpp/docs/reference/kms/2.18.0/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.17.0](/cpp/docs/reference/kms/2.17.0/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.16.0](/cpp/docs/reference/kms/2.16.0/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.15.1](/cpp/docs/reference/kms/2.15.1/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.14.0](/cpp/docs/reference/kms/2.14.0/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.13.0](/cpp/docs/reference/kms/2.13.0/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.12.0](/cpp/docs/reference/kms/2.12.0/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.11.0](/cpp/docs/reference/kms/2.11.0/namespacegoogle_1_1cloud_1_1kms__v1)\n- [2.10.1](/cpp/docs/reference/kms/2.10.1/namespacegoogle_1_1cloud_1_1kms__v1) \n\nClasses\n-------\n\n### [google::cloud::kms_v1::EkmServiceClient](/cpp/docs/reference/kms/2.10.1/classgoogle_1_1cloud_1_1kms__v1_1_1EkmServiceClient)\n\nGoogle Cloud Key Management EKM Service.\n\n### [google::cloud::kms_v1::EkmServiceConnection](/cpp/docs/reference/kms/2.10.1/classgoogle_1_1cloud_1_1kms__v1_1_1EkmServiceConnection)\n\nThe [`EkmServiceConnection`](/cpp/docs/reference/kms/2.10.1/classgoogle_1_1cloud_1_1kms__v1_1_1EkmServiceConnection) object for [`EkmServiceClient`](/cpp/docs/reference/kms/2.10.1/classgoogle_1_1cloud_1_1kms__v1_1_1EkmServiceClient).\n\n### [google::cloud::kms_v1::EkmServiceConnectionIdempotencyPolicy](/cpp/docs/reference/kms/2.10.1/classgoogle_1_1cloud_1_1kms__v1_1_1EkmServiceConnectionIdempotencyPolicy)\n\n### [google::cloud::kms_v1::KeyManagementServiceClient](/cpp/docs/reference/kms/2.10.1/classgoogle_1_1cloud_1_1kms__v1_1_1KeyManagementServiceClient)\n\nGoogle Cloud Key Management Service.\n\n### [google::cloud::kms_v1::KeyManagementServiceConnection](/cpp/docs/reference/kms/2.10.1/classgoogle_1_1cloud_1_1kms__v1_1_1KeyManagementServiceConnection)\n\nThe [`KeyManagementServiceConnection`](/cpp/docs/reference/kms/2.10.1/classgoogle_1_1cloud_1_1kms__v1_1_1KeyManagementServiceConnection) object for [`KeyManagementServiceClient`](/cpp/docs/reference/kms/2.10.1/classgoogle_1_1cloud_1_1kms__v1_1_1KeyManagementServiceClient).\n\n### [google::cloud::kms_v1::KeyManagementServiceConnectionIdempotencyPolicy](/cpp/docs/reference/kms/2.10.1/classgoogle_1_1cloud_1_1kms__v1_1_1KeyManagementServiceConnectionIdempotencyPolicy)\n\nStructs\n-------\n\n### [google::cloud::kms_v1::EkmServiceBackoffPolicyOption](/cpp/docs/reference/kms/2.10.1/structgoogle_1_1cloud_1_1kms__v1_1_1EkmServiceBackoffPolicyOption)\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### [google::cloud::kms_v1::EkmServiceConnectionIdempotencyPolicyOption](/cpp/docs/reference/kms/2.10.1/structgoogle_1_1cloud_1_1kms__v1_1_1EkmServiceConnectionIdempotencyPolicyOption)\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### [google::cloud::kms_v1::EkmServiceRetryPolicyOption](/cpp/docs/reference/kms/2.10.1/structgoogle_1_1cloud_1_1kms__v1_1_1EkmServiceRetryPolicyOption)\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\n### [google::cloud::kms_v1::KeyManagementServiceBackoffPolicyOption](/cpp/docs/reference/kms/2.10.1/structgoogle_1_1cloud_1_1kms__v1_1_1KeyManagementServiceBackoffPolicyOption)\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### [google::cloud::kms_v1::KeyManagementServiceConnectionIdempotencyPolicyOption](/cpp/docs/reference/kms/2.10.1/structgoogle_1_1cloud_1_1kms__v1_1_1KeyManagementServiceConnectionIdempotencyPolicyOption)\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### [google::cloud::kms_v1::KeyManagementServiceRetryPolicyOption](/cpp/docs/reference/kms/2.10.1/structgoogle_1_1cloud_1_1kms__v1_1_1KeyManagementServiceRetryPolicyOption)\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### MakeEkmServiceConnection\n\nA factory function to construct an object of type [`EkmServiceConnection`](/cpp/docs/reference/kms/2.10.1/classgoogle_1_1cloud_1_1kms__v1_1_1EkmServiceConnection). \nThe returned connection object should not be used directly; instead it should be passed as an argument to the constructor of [EkmServiceClient](/cpp/docs/reference/kms/2.10.1/classgoogle_1_1cloud_1_1kms__v1_1_1EkmServiceClient).\n\nThe optional `options` argument may be used to configure aspects of the returned [`EkmServiceConnection`](/cpp/docs/reference/kms/2.10.1/classgoogle_1_1cloud_1_1kms__v1_1_1EkmServiceConnection). 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::kms_v1::EkmServicePolicyOptionList`](/cpp/docs/reference/kms/2.10.1/namespacegoogle_1_1cloud_1_1kms__v1)\n\n\u003e **Note:**\n\u003e Unexpected options will be ignored. To log unexpected options instead, set `GOOGLE_CLOUD_CPP_ENABLE_CLOG=yes` in the environment.\n\n### MakeDefaultEkmServiceConnectionIdempotencyPolicy\n\n### MakeKeyManagementServiceConnection\n\nA factory function to construct an object of type [`KeyManagementServiceConnection`](/cpp/docs/reference/kms/2.10.1/classgoogle_1_1cloud_1_1kms__v1_1_1KeyManagementServiceConnection). \nThe returned connection object should not be used directly; instead it should be passed as an argument to the constructor of [KeyManagementServiceClient](/cpp/docs/reference/kms/2.10.1/classgoogle_1_1cloud_1_1kms__v1_1_1KeyManagementServiceClient).\n\nThe optional `options` argument may be used to configure aspects of the returned [`KeyManagementServiceConnection`](/cpp/docs/reference/kms/2.10.1/classgoogle_1_1cloud_1_1kms__v1_1_1KeyManagementServiceConnection). 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::kms_v1::KeyManagementServicePolicyOptionList`](/cpp/docs/reference/kms/2.10.1/namespacegoogle_1_1cloud_1_1kms__v1)\n\n\u003e **Note:**\n\u003e Unexpected options will be ignored. To log unexpected options instead, set `GOOGLE_CLOUD_CPP_ENABLE_CLOG=yes` in the environment.\n\n### MakeDefaultKeyManagementServiceConnectionIdempotencyPolicy"]]