In some cases, you may need to override the default endpoint used by the client library. Use theEndpointOptionwhen initializing the client library to change this default.
For example, this will override the default endpoint foriam_admin_v1::IAMClient:
// This configuration is common with Private Google Access:
// https://cloud.google.com/vpc/docs/private-google-access
auto options = google::cloud::Options{}.set<google::cloud::EndpointOption>(
"private.googleapis.com");
auto client = google::cloud::iam_admin_v1::IAMClient(
google::cloud::iam_admin_v1::MakeIAMConnection(options));
Follow these links to find examples for other*Clientclasses:
[[["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 document provides a reference for overriding the default endpoint in the C++ client library, using the \u003ccode\u003eEndpointOption\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe latest release candidate version available is 2.37.0-rc, and it is a part of a list of versions ranging from 2.11.0 to 2.36.0.\u003c/p\u003e\n"],["\u003cp\u003eOverriding the default endpoint is achieved by setting the \u003ccode\u003eEndpointOption\u003c/code\u003e when initializing the client library, and it can be useful in cases such as using Private Google Access.\u003c/p\u003e\n"],["\u003cp\u003eExamples of how to override the endpoint for \u003ccode\u003eiam_admin_v1::IAMClient\u003c/code\u003e, \u003ccode\u003eiam_credentials_v1::IAMCredentialsClient\u003c/code\u003e, \u003ccode\u003eiam_v1::IAMPolicyClient\u003c/code\u003e, and \u003ccode\u003eiam_v2::PoliciesClient\u003c/code\u003e are available via provided links.\u003c/p\u003e\n"],["\u003cp\u003eThe current version of the documentation being accessed is version 2.18.0, as indicated by the presence of this information at the top of the content.\u003c/p\u003e\n"]]],[],null,["Version 2.18.0keyboard_arrow_down\n\n- [2.42.0-rc (latest)](/cpp/docs/reference/iam/latest/iam-override-endpoint)\n- [2.41.0](/cpp/docs/reference/iam/2.41.0/iam-override-endpoint)\n- [2.40.0](/cpp/docs/reference/iam/2.40.0/iam-override-endpoint)\n- [2.39.0](/cpp/docs/reference/iam/2.39.0/iam-override-endpoint)\n- [2.38.0](/cpp/docs/reference/iam/2.38.0/iam-override-endpoint)\n- [2.37.0](/cpp/docs/reference/iam/2.37.0/iam-override-endpoint)\n- [2.36.0](/cpp/docs/reference/iam/2.36.0/iam-override-endpoint)\n- [2.35.0](/cpp/docs/reference/iam/2.35.0/iam-override-endpoint)\n- [2.34.0](/cpp/docs/reference/iam/2.34.0/iam-override-endpoint)\n- [2.33.0](/cpp/docs/reference/iam/2.33.0/iam-override-endpoint)\n- [2.32.0](/cpp/docs/reference/iam/2.32.0/iam-override-endpoint)\n- [2.31.0](/cpp/docs/reference/iam/2.31.0/iam-override-endpoint)\n- [2.30.0](/cpp/docs/reference/iam/2.30.0/iam-override-endpoint)\n- [2.29.0](/cpp/docs/reference/iam/2.29.0/iam-override-endpoint)\n- [2.28.0](/cpp/docs/reference/iam/2.28.0/iam-override-endpoint)\n- [2.27.0](/cpp/docs/reference/iam/2.27.0/iam-override-endpoint)\n- [2.26.0](/cpp/docs/reference/iam/2.26.0/iam-override-endpoint)\n- [2.25.1](/cpp/docs/reference/iam/2.25.1/iam-override-endpoint)\n- [2.24.0](/cpp/docs/reference/iam/2.24.0/iam-override-endpoint)\n- [2.23.0](/cpp/docs/reference/iam/2.23.0/iam-override-endpoint)\n- [2.22.1](/cpp/docs/reference/iam/2.22.1/iam-override-endpoint)\n- [2.21.0](/cpp/docs/reference/iam/2.21.0/iam-override-endpoint)\n- [2.20.0](/cpp/docs/reference/iam/2.20.0/iam-override-endpoint)\n- [2.19.0](/cpp/docs/reference/iam/2.19.0/iam-override-endpoint)\n- [2.18.0](/cpp/docs/reference/iam/2.18.0/iam-override-endpoint)\n- [2.17.0](/cpp/docs/reference/iam/2.17.0/iam-override-endpoint)\n- [2.16.0](/cpp/docs/reference/iam/2.16.0/iam-override-endpoint)\n- [2.15.1](/cpp/docs/reference/iam/2.15.1/iam-override-endpoint)\n- [2.14.0](/cpp/docs/reference/iam/2.14.0/iam-override-endpoint)\n- [2.13.0](/cpp/docs/reference/iam/2.13.0/iam-override-endpoint)\n- [2.12.0](/cpp/docs/reference/iam/2.12.0/iam-override-endpoint)\n- [2.11.0](/cpp/docs/reference/iam/2.11.0/iam-override-endpoint) \n\nHow to Override the Default Endpoint\n====================================\n\nIn some cases, you may need to override the default endpoint used by the client library. Use the [EndpointOption](https://cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1EndpointOption.html) when initializing the client library to change this default.\n\nFor example, this will override the default endpoint for `iam_admin_v1::IAMClient`: \n\n // This configuration is common with Private Google Access:\n // https://cloud.google.com/vpc/docs/private-google-access\n auto options = google::cloud::Options{}.set\u003cgoogle::cloud::EndpointOption\u003e(\n \"private.googleapis.com\");\n auto client = google::cloud::iam_admin_v1::IAMClient(\n google::cloud::iam_admin_v1::MakeIAMConnection(options));\n\nFollow these links to find examples for other `*Client` classes:\n\n- [`iam_admin_v1::IAMClient`](/cpp/docs/reference/iam/2.18.0/iam_admin_v1_1_1IAMClient-endpoint-snippet)\n- [`iam_credentials_v1::IAMCredentialsClient`](/cpp/docs/reference/iam/2.18.0/iam_credentials_v1_1_1IAMCredentialsClient-endpoint-snippet)\n- [`iam_v1::IAMPolicyClient`](/cpp/docs/reference/iam/2.18.0/iam_v1_1_1IAMPolicyClient-endpoint-snippet)\n- [`iam_v2::PoliciesClient`](/cpp/docs/reference/iam/2.18.0/iam_v2_1_1PoliciesClient-endpoint-snippet)"]]