The returned connection object should not be used directly; instead it should be passed as an argument to the constructor of BudgetServiceClient.
The optional options argument may be used to configure aspects of the returned BudgetServiceConnection. 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-08-14 UTC."],[[["\u003cp\u003eThe latest version of the billing budgets C++ library is 2.37.0-rc, and the page provides links to the documentation for this version as well as previous versions from 2.36.0 down to 2.11.0.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eBudgetServiceClient\u003c/code\u003e class is used for interacting with Cloud Billing budgets, including defining budget plans and setting rules to track spending.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eBudgetServiceConnection\u003c/code\u003e class represents a connection object that provides methods for interacting with the Budget service, and should be passed to the BudgetServiceClient constructor.\u003c/p\u003e\n"],["\u003cp\u003eThe page describes several classes and structs that are related to retry policies and connection configuration for the Budget Service, including \u003ccode\u003eBudgetServiceRetryPolicy\u003c/code\u003e, \u003ccode\u003eBudgetServiceLimitedErrorCountRetryPolicy\u003c/code\u003e, \u003ccode\u003eBudgetServiceConnectionIdempotencyPolicy\u003c/code\u003e and \u003ccode\u003eBudgetServiceBackoffPolicyOption\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eMakeBudgetServiceConnection\u003c/code\u003e function creates and returns a \u003ccode\u003eBudgetServiceConnection\u003c/code\u003e object, which can be customized using optional parameters like CommonOptionList, GrpcOptionList, UnifiedCredentialsOptionList, and BudgetServicePolicyOptionList.\u003c/p\u003e\n"]]],[],null,["# Namespace google::cloud::billing_budgets_v1 (2.42.0-rc)\n\nVersion latestkeyboard_arrow_down\n\n- [2.42.0-rc (latest)](/cpp/docs/reference/billing/latest/namespacegoogle_1_1cloud_1_1billing__budgets__v1)\n- [2.41.0](/cpp/docs/reference/billing/2.41.0/namespacegoogle_1_1cloud_1_1billing__budgets__v1)\n- [2.40.0](/cpp/docs/reference/billing/2.40.0/namespacegoogle_1_1cloud_1_1billing__budgets__v1)\n- [2.39.0](/cpp/docs/reference/billing/2.39.0/namespacegoogle_1_1cloud_1_1billing__budgets__v1)\n- [2.38.0](/cpp/docs/reference/billing/2.38.0/namespacegoogle_1_1cloud_1_1billing__budgets__v1)\n- [2.37.0](/cpp/docs/reference/billing/2.37.0/namespacegoogle_1_1cloud_1_1billing__budgets__v1)\n- [2.36.0](/cpp/docs/reference/billing/2.36.0/namespacegoogle_1_1cloud_1_1billing__budgets__v1)\n- [2.35.0](/cpp/docs/reference/billing/2.35.0/namespacegoogle_1_1cloud_1_1billing__budgets__v1)\n- [2.34.0](/cpp/docs/reference/billing/2.34.0/namespacegoogle_1_1cloud_1_1billing__budgets__v1)\n- [2.33.0](/cpp/docs/reference/billing/2.33.0/namespacegoogle_1_1cloud_1_1billing__budgets__v1)\n- [2.32.0](/cpp/docs/reference/billing/2.32.0/namespacegoogle_1_1cloud_1_1billing__budgets__v1)\n- [2.31.0](/cpp/docs/reference/billing/2.31.0/namespacegoogle_1_1cloud_1_1billing__budgets__v1)\n- [2.30.0](/cpp/docs/reference/billing/2.30.0/namespacegoogle_1_1cloud_1_1billing__budgets__v1)\n- [2.29.0](/cpp/docs/reference/billing/2.29.0/namespacegoogle_1_1cloud_1_1billing__budgets__v1)\n- [2.28.0](/cpp/docs/reference/billing/2.28.0/namespacegoogle_1_1cloud_1_1billing__budgets__v1)\n- [2.27.0](/cpp/docs/reference/billing/2.27.0/namespacegoogle_1_1cloud_1_1billing__budgets__v1)\n- [2.26.0](/cpp/docs/reference/billing/2.26.0/namespacegoogle_1_1cloud_1_1billing__budgets__v1)\n- [2.25.1](/cpp/docs/reference/billing/2.25.1/namespacegoogle_1_1cloud_1_1billing__budgets__v1)\n- [2.24.0](/cpp/docs/reference/billing/2.24.0/namespacegoogle_1_1cloud_1_1billing__budgets__v1)\n- [2.23.0](/cpp/docs/reference/billing/2.23.0/namespacegoogle_1_1cloud_1_1billing__budgets__v1)\n- [2.22.1](/cpp/docs/reference/billing/2.22.1/namespacegoogle_1_1cloud_1_1billing__budgets__v1)\n- [2.21.0](/cpp/docs/reference/billing/2.21.0/namespacegoogle_1_1cloud_1_1billing__budgets__v1)\n- [2.20.0](/cpp/docs/reference/billing/2.20.0/namespacegoogle_1_1cloud_1_1billing__budgets__v1)\n- [2.19.0](/cpp/docs/reference/billing/2.19.0/namespacegoogle_1_1cloud_1_1billing__budgets__v1)\n- [2.18.0](/cpp/docs/reference/billing/2.18.0/namespacegoogle_1_1cloud_1_1billing__budgets__v1)\n- [2.17.0](/cpp/docs/reference/billing/2.17.0/namespacegoogle_1_1cloud_1_1billing__budgets__v1)\n- [2.16.0](/cpp/docs/reference/billing/2.16.0/namespacegoogle_1_1cloud_1_1billing__budgets__v1)\n- [2.15.1](/cpp/docs/reference/billing/2.15.1/namespacegoogle_1_1cloud_1_1billing__budgets__v1)\n- [2.14.0](/cpp/docs/reference/billing/2.14.0/namespacegoogle_1_1cloud_1_1billing__budgets__v1)\n- [2.13.0](/cpp/docs/reference/billing/2.13.0/namespacegoogle_1_1cloud_1_1billing__budgets__v1)\n- [2.12.0](/cpp/docs/reference/billing/2.12.0/namespacegoogle_1_1cloud_1_1billing__budgets__v1)\n- [2.11.0](/cpp/docs/reference/billing/2.11.0/namespacegoogle_1_1cloud_1_1billing__budgets__v1) \n\nClasses\n-------\n\n### [BudgetServiceClient](/cpp/docs/reference/billing/latest/classgoogle_1_1cloud_1_1billing__budgets__v1_1_1BudgetServiceClient)\n\nBudgetService stores Cloud Billing budgets, which define a budget plan and rules to execute as we track spend against that plan.\n\n### [BudgetServiceConnection](/cpp/docs/reference/billing/latest/classgoogle_1_1cloud_1_1billing__budgets__v1_1_1BudgetServiceConnection)\n\nThe [`BudgetServiceConnection`](/cpp/docs/reference/billing/latest/classgoogle_1_1cloud_1_1billing__budgets__v1_1_1BudgetServiceConnection) object for [`BudgetServiceClient`](/cpp/docs/reference/billing/latest/classgoogle_1_1cloud_1_1billing__budgets__v1_1_1BudgetServiceClient).\n\n### [BudgetServiceConnectionIdempotencyPolicy](/cpp/docs/reference/billing/latest/classgoogle_1_1cloud_1_1billing__budgets__v1_1_1BudgetServiceConnectionIdempotencyPolicy)\n\n### [BudgetServiceLimitedErrorCountRetryPolicy](/cpp/docs/reference/billing/latest/classgoogle_1_1cloud_1_1billing__budgets__v1_1_1BudgetServiceLimitedErrorCountRetryPolicy)\n\nA retry policy for [`BudgetServiceConnection`](/cpp/docs/reference/billing/latest/classgoogle_1_1cloud_1_1billing__budgets__v1_1_1BudgetServiceConnection) based on counting errors.\n\n### [BudgetServiceLimitedTimeRetryPolicy](/cpp/docs/reference/billing/latest/classgoogle_1_1cloud_1_1billing__budgets__v1_1_1BudgetServiceLimitedTimeRetryPolicy)\n\nA retry policy for [`BudgetServiceConnection`](/cpp/docs/reference/billing/latest/classgoogle_1_1cloud_1_1billing__budgets__v1_1_1BudgetServiceConnection) based on elapsed time.\n\n### [BudgetServiceRetryPolicy](/cpp/docs/reference/billing/latest/classgoogle_1_1cloud_1_1billing__budgets__v1_1_1BudgetServiceRetryPolicy)\n\nThe retry policy for [`BudgetServiceConnection`](/cpp/docs/reference/billing/latest/classgoogle_1_1cloud_1_1billing__budgets__v1_1_1BudgetServiceConnection).\n\nStructs\n-------\n\n### [BudgetServiceBackoffPolicyOption](/cpp/docs/reference/billing/latest/structgoogle_1_1cloud_1_1billing__budgets__v1_1_1BudgetServiceBackoffPolicyOption)\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### [BudgetServiceConnectionIdempotencyPolicyOption](/cpp/docs/reference/billing/latest/structgoogle_1_1cloud_1_1billing__budgets__v1_1_1BudgetServiceConnectionIdempotencyPolicyOption)\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### [BudgetServiceRetryPolicyOption](/cpp/docs/reference/billing/latest/structgoogle_1_1cloud_1_1billing__budgets__v1_1_1BudgetServiceRetryPolicyOption)\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### MakeBudgetServiceConnection(Options)\n\nA factory function to construct an object of type [`BudgetServiceConnection`](/cpp/docs/reference/billing/latest/classgoogle_1_1cloud_1_1billing__budgets__v1_1_1BudgetServiceConnection). \nThe returned connection object should not be used directly; instead it should be passed as an argument to the constructor of [BudgetServiceClient](/cpp/docs/reference/billing/latest/classgoogle_1_1cloud_1_1billing__budgets__v1_1_1BudgetServiceClient).\n\nThe optional `options` argument may be used to configure aspects of the returned [`BudgetServiceConnection`](/cpp/docs/reference/billing/latest/classgoogle_1_1cloud_1_1billing__budgets__v1_1_1BudgetServiceConnection). 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`](about:invalid#zCSafez)\n- [`google::cloud::billing_budgets_v1::BudgetServicePolicyOptionList`](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### MakeDefaultBudgetServiceConnectionIdempotencyPolicy()"]]