docs: docs update (#911)

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/google-api-python-client/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕
diff --git a/docs/dyn/billingbudgets_v1beta1.billingAccounts.budgets.html b/docs/dyn/billingbudgets_v1beta1.billingAccounts.budgets.html
new file mode 100644
index 0000000..c6faf22
--- /dev/null
+++ b/docs/dyn/billingbudgets_v1beta1.billingAccounts.budgets.html
@@ -0,0 +1,792 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="billingbudgets_v1beta1.html">Cloud Billing Budget API</a> . <a href="billingbudgets_v1beta1.billingAccounts.html">billingAccounts</a> . <a href="billingbudgets_v1beta1.billingAccounts.budgets.html">budgets</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Creates a new budget. See</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes a budget. Returns successfully if already deleted.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Returns a budget.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Returns a list of budgets for a billing account.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates a budget and returns the updated budget.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
+  <pre>Creates a new budget. See
+&lt;a href=&quot;https://cloud.google.com/billing/quotas&quot;&gt;Quotas and limits&lt;/a&gt;
+for more information on the limits of the number of budgets you can create.
+
+Args:
+  parent: string, Required. The name of the billing account to create the budget in. Values
+are of the form `billingAccounts/{billingAccountId}`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request for CreateBudget
+    &quot;budget&quot;: { # A budget is a plan that describes what you expect to spend on Cloud # Required. Budget to create.
+        # projects, plus the rules to execute as spend is tracked against that plan,
+        # (for example, send an alert when 90% of the target spend is met).
+        # Currently all plans are monthly budgets so the usage period(s) tracked are
+        # implied (calendar months of usage back-to-back).
+      &quot;amount&quot;: { # The budgeted amount for each usage period. # Required. Budgeted amount.
+        &quot;lastPeriodAmount&quot;: { # Describes a budget amount targeted to last period&#x27;s spend. # Use the last period&#x27;s actual spend as the budget for the present period.
+            # At this time, the amount is automatically 100% of last period&#x27;s spend;
+            # that is, there are no other options yet.
+            # Future configuration will be described here (for example, configuring a
+            # percentage of last period&#x27;s spend).
+        },
+        &quot;specifiedAmount&quot;: { # Represents an amount of money with its currency type. # A specified amount to use as the budget.
+            # `currency_code` is optional. If specified, it must match the
+            # currency of the billing account. The `currency_code` is provided on
+            # output.
+          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+              # The value must be between -999,999,999 and +999,999,999 inclusive.
+              # If `units` is positive, `nanos` must be positive or zero.
+              # If `units` is zero, `nanos` can be positive, zero, or negative.
+              # If `units` is negative, `nanos` must be negative or zero.
+              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+        },
+      },
+      &quot;etag&quot;: &quot;A String&quot;, # Optional. Etag to validate that the object is unchanged for a
+          # read-modify-write operation.
+          # An empty etag will cause an update to overwrite other changes.
+      &quot;allUpdatesRule&quot;: { # AllUpdatesRule defines notifications that are sent on every update to the # Optional. Rules to apply to all updates to the actual spend, regardless
+          # of the thresholds set in `threshold_rules`.
+          # billing account&#x27;s spend, regardless of the thresholds defined using
+          # threshold rules.
+        &quot;schemaVersion&quot;: &quot;A String&quot;, # Required. The schema version of the notification.
+            # Only &quot;1.0&quot; is accepted. It represents the JSON schema as defined in
+            # https://cloud.google.com/billing/docs/how-to/budgets#notification_format
+        &quot;pubsubTopic&quot;: &quot;A String&quot;, # Required. The name of the Cloud Pub/Sub topic where budget related messages will be
+            # published, in the form `projects/{project_id}/topics/{topic_id}`. Updates
+            # are sent at regular intervals to the topic.
+            # The topic needs to be created before the budget is created; see
+            # https://cloud.google.com/billing/docs/how-to/budgets#manage-notifications
+            # for more details.
+            # Caller is expected to have
+            # `pubsub.topics.setIamPolicy` permission on the topic when it&#x27;s set for a
+            # budget, otherwise, the API call will fail with PERMISSION_DENIED. See
+            # https://cloud.google.com/pubsub/docs/access-control for more details on
+            # Pub/Sub roles and permissions.
+      },
+      &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of the budget.
+          # The resource name implies the scope of a budget. Values are of the form
+          # `billingAccounts/{billingAccountId}/budgets/{budgetId}`.
+      &quot;thresholdRules&quot;: [ # Optional. Rules that trigger alerts (notifications of thresholds
+          # being crossed) when spend exceeds the specified percentages of the budget.
+        { # ThresholdRule contains a definition of a threshold which triggers
+            # an alert (a notification of a threshold being crossed) to be sent when
+            # spend goes above the specified amount.
+            # Alerts are automatically e-mailed to users with the Billing Account
+            # Administrator role or the Billing Account User role.
+            # The thresholds here have no effect on notifications sent to anything
+            # configured under `Budget.all_updates_rule`.
+          &quot;spendBasis&quot;: &quot;A String&quot;, # Optional. The type of basis used to determine if spend has passed the
+              # threshold. Behavior defaults to CURRENT_SPEND if not set.
+          &quot;thresholdPercent&quot;: 3.14, # Required. Send an alert when this threshold is exceeded.
+              # This is a 1.0-based percentage, so 0.5 = 50%.
+              # Validation: non-negative number.
+        },
+      ],
+      &quot;budgetFilter&quot;: { # A filter for a budget, limiting the scope of the cost to calculate. # Optional. Filters that define which resources are used to compute
+          # the actual spend against the budget.
+        &quot;services&quot;: [ # Optional. A set of services of the form `services/{service_id}`,
+            # specifying that usage from only this set of services should be
+            # included in the budget. If omitted, the report will include usage for
+            # all the services.
+            # The service names are available through the Catalog API:
+            # https://cloud.google.com/billing/v1/how-tos/catalog-api.
+          &quot;A String&quot;,
+        ],
+        &quot;creditTypesTreatment&quot;: &quot;A String&quot;, # Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`.
+        &quot;projects&quot;: [ # Optional. A set of projects of the form `projects/{project}`,
+            # specifying that usage from only this set of projects should be
+            # included in the budget. If omitted, the report will include all usage for
+            # the billing account, regardless of which project the usage occurred on.
+            # Only zero or one project can be specified currently.
+          &quot;A String&quot;,
+        ],
+      },
+      &quot;displayName&quot;: &quot;A String&quot;, # User data for display name in UI.
+          # Validation: &lt;= 60 chars.
+    },
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A budget is a plan that describes what you expect to spend on Cloud
+      # projects, plus the rules to execute as spend is tracked against that plan,
+      # (for example, send an alert when 90% of the target spend is met).
+      # Currently all plans are monthly budgets so the usage period(s) tracked are
+      # implied (calendar months of usage back-to-back).
+    &quot;amount&quot;: { # The budgeted amount for each usage period. # Required. Budgeted amount.
+      &quot;lastPeriodAmount&quot;: { # Describes a budget amount targeted to last period&#x27;s spend. # Use the last period&#x27;s actual spend as the budget for the present period.
+          # At this time, the amount is automatically 100% of last period&#x27;s spend;
+          # that is, there are no other options yet.
+          # Future configuration will be described here (for example, configuring a
+          # percentage of last period&#x27;s spend).
+      },
+      &quot;specifiedAmount&quot;: { # Represents an amount of money with its currency type. # A specified amount to use as the budget.
+          # `currency_code` is optional. If specified, it must match the
+          # currency of the billing account. The `currency_code` is provided on
+          # output.
+        &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+        &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+            # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+        &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+            # The value must be between -999,999,999 and +999,999,999 inclusive.
+            # If `units` is positive, `nanos` must be positive or zero.
+            # If `units` is zero, `nanos` can be positive, zero, or negative.
+            # If `units` is negative, `nanos` must be negative or zero.
+            # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+      },
+    },
+    &quot;etag&quot;: &quot;A String&quot;, # Optional. Etag to validate that the object is unchanged for a
+        # read-modify-write operation.
+        # An empty etag will cause an update to overwrite other changes.
+    &quot;allUpdatesRule&quot;: { # AllUpdatesRule defines notifications that are sent on every update to the # Optional. Rules to apply to all updates to the actual spend, regardless
+        # of the thresholds set in `threshold_rules`.
+        # billing account&#x27;s spend, regardless of the thresholds defined using
+        # threshold rules.
+      &quot;schemaVersion&quot;: &quot;A String&quot;, # Required. The schema version of the notification.
+          # Only &quot;1.0&quot; is accepted. It represents the JSON schema as defined in
+          # https://cloud.google.com/billing/docs/how-to/budgets#notification_format
+      &quot;pubsubTopic&quot;: &quot;A String&quot;, # Required. The name of the Cloud Pub/Sub topic where budget related messages will be
+          # published, in the form `projects/{project_id}/topics/{topic_id}`. Updates
+          # are sent at regular intervals to the topic.
+          # The topic needs to be created before the budget is created; see
+          # https://cloud.google.com/billing/docs/how-to/budgets#manage-notifications
+          # for more details.
+          # Caller is expected to have
+          # `pubsub.topics.setIamPolicy` permission on the topic when it&#x27;s set for a
+          # budget, otherwise, the API call will fail with PERMISSION_DENIED. See
+          # https://cloud.google.com/pubsub/docs/access-control for more details on
+          # Pub/Sub roles and permissions.
+    },
+    &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of the budget.
+        # The resource name implies the scope of a budget. Values are of the form
+        # `billingAccounts/{billingAccountId}/budgets/{budgetId}`.
+    &quot;thresholdRules&quot;: [ # Optional. Rules that trigger alerts (notifications of thresholds
+        # being crossed) when spend exceeds the specified percentages of the budget.
+      { # ThresholdRule contains a definition of a threshold which triggers
+          # an alert (a notification of a threshold being crossed) to be sent when
+          # spend goes above the specified amount.
+          # Alerts are automatically e-mailed to users with the Billing Account
+          # Administrator role or the Billing Account User role.
+          # The thresholds here have no effect on notifications sent to anything
+          # configured under `Budget.all_updates_rule`.
+        &quot;spendBasis&quot;: &quot;A String&quot;, # Optional. The type of basis used to determine if spend has passed the
+            # threshold. Behavior defaults to CURRENT_SPEND if not set.
+        &quot;thresholdPercent&quot;: 3.14, # Required. Send an alert when this threshold is exceeded.
+            # This is a 1.0-based percentage, so 0.5 = 50%.
+            # Validation: non-negative number.
+      },
+    ],
+    &quot;budgetFilter&quot;: { # A filter for a budget, limiting the scope of the cost to calculate. # Optional. Filters that define which resources are used to compute
+        # the actual spend against the budget.
+      &quot;services&quot;: [ # Optional. A set of services of the form `services/{service_id}`,
+          # specifying that usage from only this set of services should be
+          # included in the budget. If omitted, the report will include usage for
+          # all the services.
+          # The service names are available through the Catalog API:
+          # https://cloud.google.com/billing/v1/how-tos/catalog-api.
+        &quot;A String&quot;,
+      ],
+      &quot;creditTypesTreatment&quot;: &quot;A String&quot;, # Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`.
+      &quot;projects&quot;: [ # Optional. A set of projects of the form `projects/{project}`,
+          # specifying that usage from only this set of projects should be
+          # included in the budget. If omitted, the report will include all usage for
+          # the billing account, regardless of which project the usage occurred on.
+          # Only zero or one project can be specified currently.
+        &quot;A String&quot;,
+      ],
+    },
+    &quot;displayName&quot;: &quot;A String&quot;, # User data for display name in UI.
+        # Validation: &lt;= 60 chars.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
+  <pre>Deletes a budget. Returns successfully if already deleted.
+
+Args:
+  name: string, Required. Name of the budget to delete. Values are of the form
+`billingAccounts/{billingAccountId}/budgets/{budgetId}`. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated
+      # empty messages in your APIs. A typical example is to use it as the request
+      # or the response type of an API method. For instance:
+      #
+      #     service Foo {
+      #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
+      #     }
+      #
+      # The JSON representation for `Empty` is empty JSON object `{}`.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Returns a budget.
+
+WARNING: There are some fields exposed on the Google Cloud Console that
+aren&#x27;t available on this API. When reading from the API, you will not
+see these fields in the return value, though they may have been set
+in the Cloud Console.
+
+Args:
+  name: string, Required. Name of budget to get. Values are of the form
+`billingAccounts/{billingAccountId}/budgets/{budgetId}`. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A budget is a plan that describes what you expect to spend on Cloud
+      # projects, plus the rules to execute as spend is tracked against that plan,
+      # (for example, send an alert when 90% of the target spend is met).
+      # Currently all plans are monthly budgets so the usage period(s) tracked are
+      # implied (calendar months of usage back-to-back).
+    &quot;amount&quot;: { # The budgeted amount for each usage period. # Required. Budgeted amount.
+      &quot;lastPeriodAmount&quot;: { # Describes a budget amount targeted to last period&#x27;s spend. # Use the last period&#x27;s actual spend as the budget for the present period.
+          # At this time, the amount is automatically 100% of last period&#x27;s spend;
+          # that is, there are no other options yet.
+          # Future configuration will be described here (for example, configuring a
+          # percentage of last period&#x27;s spend).
+      },
+      &quot;specifiedAmount&quot;: { # Represents an amount of money with its currency type. # A specified amount to use as the budget.
+          # `currency_code` is optional. If specified, it must match the
+          # currency of the billing account. The `currency_code` is provided on
+          # output.
+        &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+        &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+            # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+        &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+            # The value must be between -999,999,999 and +999,999,999 inclusive.
+            # If `units` is positive, `nanos` must be positive or zero.
+            # If `units` is zero, `nanos` can be positive, zero, or negative.
+            # If `units` is negative, `nanos` must be negative or zero.
+            # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+      },
+    },
+    &quot;etag&quot;: &quot;A String&quot;, # Optional. Etag to validate that the object is unchanged for a
+        # read-modify-write operation.
+        # An empty etag will cause an update to overwrite other changes.
+    &quot;allUpdatesRule&quot;: { # AllUpdatesRule defines notifications that are sent on every update to the # Optional. Rules to apply to all updates to the actual spend, regardless
+        # of the thresholds set in `threshold_rules`.
+        # billing account&#x27;s spend, regardless of the thresholds defined using
+        # threshold rules.
+      &quot;schemaVersion&quot;: &quot;A String&quot;, # Required. The schema version of the notification.
+          # Only &quot;1.0&quot; is accepted. It represents the JSON schema as defined in
+          # https://cloud.google.com/billing/docs/how-to/budgets#notification_format
+      &quot;pubsubTopic&quot;: &quot;A String&quot;, # Required. The name of the Cloud Pub/Sub topic where budget related messages will be
+          # published, in the form `projects/{project_id}/topics/{topic_id}`. Updates
+          # are sent at regular intervals to the topic.
+          # The topic needs to be created before the budget is created; see
+          # https://cloud.google.com/billing/docs/how-to/budgets#manage-notifications
+          # for more details.
+          # Caller is expected to have
+          # `pubsub.topics.setIamPolicy` permission on the topic when it&#x27;s set for a
+          # budget, otherwise, the API call will fail with PERMISSION_DENIED. See
+          # https://cloud.google.com/pubsub/docs/access-control for more details on
+          # Pub/Sub roles and permissions.
+    },
+    &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of the budget.
+        # The resource name implies the scope of a budget. Values are of the form
+        # `billingAccounts/{billingAccountId}/budgets/{budgetId}`.
+    &quot;thresholdRules&quot;: [ # Optional. Rules that trigger alerts (notifications of thresholds
+        # being crossed) when spend exceeds the specified percentages of the budget.
+      { # ThresholdRule contains a definition of a threshold which triggers
+          # an alert (a notification of a threshold being crossed) to be sent when
+          # spend goes above the specified amount.
+          # Alerts are automatically e-mailed to users with the Billing Account
+          # Administrator role or the Billing Account User role.
+          # The thresholds here have no effect on notifications sent to anything
+          # configured under `Budget.all_updates_rule`.
+        &quot;spendBasis&quot;: &quot;A String&quot;, # Optional. The type of basis used to determine if spend has passed the
+            # threshold. Behavior defaults to CURRENT_SPEND if not set.
+        &quot;thresholdPercent&quot;: 3.14, # Required. Send an alert when this threshold is exceeded.
+            # This is a 1.0-based percentage, so 0.5 = 50%.
+            # Validation: non-negative number.
+      },
+    ],
+    &quot;budgetFilter&quot;: { # A filter for a budget, limiting the scope of the cost to calculate. # Optional. Filters that define which resources are used to compute
+        # the actual spend against the budget.
+      &quot;services&quot;: [ # Optional. A set of services of the form `services/{service_id}`,
+          # specifying that usage from only this set of services should be
+          # included in the budget. If omitted, the report will include usage for
+          # all the services.
+          # The service names are available through the Catalog API:
+          # https://cloud.google.com/billing/v1/how-tos/catalog-api.
+        &quot;A String&quot;,
+      ],
+      &quot;creditTypesTreatment&quot;: &quot;A String&quot;, # Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`.
+      &quot;projects&quot;: [ # Optional. A set of projects of the form `projects/{project}`,
+          # specifying that usage from only this set of projects should be
+          # included in the budget. If omitted, the report will include all usage for
+          # the billing account, regardless of which project the usage occurred on.
+          # Only zero or one project can be specified currently.
+        &quot;A String&quot;,
+      ],
+    },
+    &quot;displayName&quot;: &quot;A String&quot;, # User data for display name in UI.
+        # Validation: &lt;= 60 chars.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Returns a list of budgets for a billing account.
+
+WARNING: There are some fields exposed on the Google Cloud Console that
+aren&#x27;t available on this API. When reading from the API, you will not
+see these fields in the return value, though they may have been set
+in the Cloud Console.
+
+Args:
+  parent: string, Required. Name of billing account to list budgets under. Values
+are of the form `billingAccounts/{billingAccountId}`. (required)
+  pageSize: integer, Optional. The maximum number of budgets to return per page.
+The default and maximum value are 100.
+  pageToken: string, Optional. The value returned by the last `ListBudgetsResponse` which
+indicates that this is a continuation of a prior `ListBudgets` call,
+and that the system should return the next page of data.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for ListBudgets
+    &quot;nextPageToken&quot;: &quot;A String&quot;, # If not empty, indicates that there may be more budgets that match the
+        # request; this value should be passed in a new `ListBudgetsRequest`.
+    &quot;budgets&quot;: [ # List of the budgets owned by the requested billing account.
+      { # A budget is a plan that describes what you expect to spend on Cloud
+          # projects, plus the rules to execute as spend is tracked against that plan,
+          # (for example, send an alert when 90% of the target spend is met).
+          # Currently all plans are monthly budgets so the usage period(s) tracked are
+          # implied (calendar months of usage back-to-back).
+        &quot;amount&quot;: { # The budgeted amount for each usage period. # Required. Budgeted amount.
+          &quot;lastPeriodAmount&quot;: { # Describes a budget amount targeted to last period&#x27;s spend. # Use the last period&#x27;s actual spend as the budget for the present period.
+              # At this time, the amount is automatically 100% of last period&#x27;s spend;
+              # that is, there are no other options yet.
+              # Future configuration will be described here (for example, configuring a
+              # percentage of last period&#x27;s spend).
+          },
+          &quot;specifiedAmount&quot;: { # Represents an amount of money with its currency type. # A specified amount to use as the budget.
+              # `currency_code` is optional. If specified, it must match the
+              # currency of the billing account. The `currency_code` is provided on
+              # output.
+            &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+                # The value must be between -999,999,999 and +999,999,999 inclusive.
+                # If `units` is positive, `nanos` must be positive or zero.
+                # If `units` is zero, `nanos` can be positive, zero, or negative.
+                # If `units` is negative, `nanos` must be negative or zero.
+                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+          },
+        },
+        &quot;etag&quot;: &quot;A String&quot;, # Optional. Etag to validate that the object is unchanged for a
+            # read-modify-write operation.
+            # An empty etag will cause an update to overwrite other changes.
+        &quot;allUpdatesRule&quot;: { # AllUpdatesRule defines notifications that are sent on every update to the # Optional. Rules to apply to all updates to the actual spend, regardless
+            # of the thresholds set in `threshold_rules`.
+            # billing account&#x27;s spend, regardless of the thresholds defined using
+            # threshold rules.
+          &quot;schemaVersion&quot;: &quot;A String&quot;, # Required. The schema version of the notification.
+              # Only &quot;1.0&quot; is accepted. It represents the JSON schema as defined in
+              # https://cloud.google.com/billing/docs/how-to/budgets#notification_format
+          &quot;pubsubTopic&quot;: &quot;A String&quot;, # Required. The name of the Cloud Pub/Sub topic where budget related messages will be
+              # published, in the form `projects/{project_id}/topics/{topic_id}`. Updates
+              # are sent at regular intervals to the topic.
+              # The topic needs to be created before the budget is created; see
+              # https://cloud.google.com/billing/docs/how-to/budgets#manage-notifications
+              # for more details.
+              # Caller is expected to have
+              # `pubsub.topics.setIamPolicy` permission on the topic when it&#x27;s set for a
+              # budget, otherwise, the API call will fail with PERMISSION_DENIED. See
+              # https://cloud.google.com/pubsub/docs/access-control for more details on
+              # Pub/Sub roles and permissions.
+        },
+        &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of the budget.
+            # The resource name implies the scope of a budget. Values are of the form
+            # `billingAccounts/{billingAccountId}/budgets/{budgetId}`.
+        &quot;thresholdRules&quot;: [ # Optional. Rules that trigger alerts (notifications of thresholds
+            # being crossed) when spend exceeds the specified percentages of the budget.
+          { # ThresholdRule contains a definition of a threshold which triggers
+              # an alert (a notification of a threshold being crossed) to be sent when
+              # spend goes above the specified amount.
+              # Alerts are automatically e-mailed to users with the Billing Account
+              # Administrator role or the Billing Account User role.
+              # The thresholds here have no effect on notifications sent to anything
+              # configured under `Budget.all_updates_rule`.
+            &quot;spendBasis&quot;: &quot;A String&quot;, # Optional. The type of basis used to determine if spend has passed the
+                # threshold. Behavior defaults to CURRENT_SPEND if not set.
+            &quot;thresholdPercent&quot;: 3.14, # Required. Send an alert when this threshold is exceeded.
+                # This is a 1.0-based percentage, so 0.5 = 50%.
+                # Validation: non-negative number.
+          },
+        ],
+        &quot;budgetFilter&quot;: { # A filter for a budget, limiting the scope of the cost to calculate. # Optional. Filters that define which resources are used to compute
+            # the actual spend against the budget.
+          &quot;services&quot;: [ # Optional. A set of services of the form `services/{service_id}`,
+              # specifying that usage from only this set of services should be
+              # included in the budget. If omitted, the report will include usage for
+              # all the services.
+              # The service names are available through the Catalog API:
+              # https://cloud.google.com/billing/v1/how-tos/catalog-api.
+            &quot;A String&quot;,
+          ],
+          &quot;creditTypesTreatment&quot;: &quot;A String&quot;, # Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`.
+          &quot;projects&quot;: [ # Optional. A set of projects of the form `projects/{project}`,
+              # specifying that usage from only this set of projects should be
+              # included in the budget. If omitted, the report will include all usage for
+              # the billing account, regardless of which project the usage occurred on.
+              # Only zero or one project can be specified currently.
+            &quot;A String&quot;,
+          ],
+        },
+        &quot;displayName&quot;: &quot;A String&quot;, # User data for display name in UI.
+            # Validation: &lt;= 60 chars.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(name, body=None, x__xgafv=None)</code>
+  <pre>Updates a budget and returns the updated budget.
+
+WARNING: There are some fields exposed on the Google Cloud Console that
+aren&#x27;t available on this API. Budget fields that are not exposed in
+this API will not be changed by this method.
+
+Args:
+  name: string, Output only. Resource name of the budget.
+The resource name implies the scope of a budget. Values are of the form
+`billingAccounts/{billingAccountId}/budgets/{budgetId}`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request for UpdateBudget
+    &quot;budget&quot;: { # A budget is a plan that describes what you expect to spend on Cloud # Required. The updated budget object.
+        # The budget to update is specified by the budget name in the budget.
+        # projects, plus the rules to execute as spend is tracked against that plan,
+        # (for example, send an alert when 90% of the target spend is met).
+        # Currently all plans are monthly budgets so the usage period(s) tracked are
+        # implied (calendar months of usage back-to-back).
+      &quot;amount&quot;: { # The budgeted amount for each usage period. # Required. Budgeted amount.
+        &quot;lastPeriodAmount&quot;: { # Describes a budget amount targeted to last period&#x27;s spend. # Use the last period&#x27;s actual spend as the budget for the present period.
+            # At this time, the amount is automatically 100% of last period&#x27;s spend;
+            # that is, there are no other options yet.
+            # Future configuration will be described here (for example, configuring a
+            # percentage of last period&#x27;s spend).
+        },
+        &quot;specifiedAmount&quot;: { # Represents an amount of money with its currency type. # A specified amount to use as the budget.
+            # `currency_code` is optional. If specified, it must match the
+            # currency of the billing account. The `currency_code` is provided on
+            # output.
+          &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+              # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+              # The value must be between -999,999,999 and +999,999,999 inclusive.
+              # If `units` is positive, `nanos` must be positive or zero.
+              # If `units` is zero, `nanos` can be positive, zero, or negative.
+              # If `units` is negative, `nanos` must be negative or zero.
+              # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+        },
+      },
+      &quot;etag&quot;: &quot;A String&quot;, # Optional. Etag to validate that the object is unchanged for a
+          # read-modify-write operation.
+          # An empty etag will cause an update to overwrite other changes.
+      &quot;allUpdatesRule&quot;: { # AllUpdatesRule defines notifications that are sent on every update to the # Optional. Rules to apply to all updates to the actual spend, regardless
+          # of the thresholds set in `threshold_rules`.
+          # billing account&#x27;s spend, regardless of the thresholds defined using
+          # threshold rules.
+        &quot;schemaVersion&quot;: &quot;A String&quot;, # Required. The schema version of the notification.
+            # Only &quot;1.0&quot; is accepted. It represents the JSON schema as defined in
+            # https://cloud.google.com/billing/docs/how-to/budgets#notification_format
+        &quot;pubsubTopic&quot;: &quot;A String&quot;, # Required. The name of the Cloud Pub/Sub topic where budget related messages will be
+            # published, in the form `projects/{project_id}/topics/{topic_id}`. Updates
+            # are sent at regular intervals to the topic.
+            # The topic needs to be created before the budget is created; see
+            # https://cloud.google.com/billing/docs/how-to/budgets#manage-notifications
+            # for more details.
+            # Caller is expected to have
+            # `pubsub.topics.setIamPolicy` permission on the topic when it&#x27;s set for a
+            # budget, otherwise, the API call will fail with PERMISSION_DENIED. See
+            # https://cloud.google.com/pubsub/docs/access-control for more details on
+            # Pub/Sub roles and permissions.
+      },
+      &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of the budget.
+          # The resource name implies the scope of a budget. Values are of the form
+          # `billingAccounts/{billingAccountId}/budgets/{budgetId}`.
+      &quot;thresholdRules&quot;: [ # Optional. Rules that trigger alerts (notifications of thresholds
+          # being crossed) when spend exceeds the specified percentages of the budget.
+        { # ThresholdRule contains a definition of a threshold which triggers
+            # an alert (a notification of a threshold being crossed) to be sent when
+            # spend goes above the specified amount.
+            # Alerts are automatically e-mailed to users with the Billing Account
+            # Administrator role or the Billing Account User role.
+            # The thresholds here have no effect on notifications sent to anything
+            # configured under `Budget.all_updates_rule`.
+          &quot;spendBasis&quot;: &quot;A String&quot;, # Optional. The type of basis used to determine if spend has passed the
+              # threshold. Behavior defaults to CURRENT_SPEND if not set.
+          &quot;thresholdPercent&quot;: 3.14, # Required. Send an alert when this threshold is exceeded.
+              # This is a 1.0-based percentage, so 0.5 = 50%.
+              # Validation: non-negative number.
+        },
+      ],
+      &quot;budgetFilter&quot;: { # A filter for a budget, limiting the scope of the cost to calculate. # Optional. Filters that define which resources are used to compute
+          # the actual spend against the budget.
+        &quot;services&quot;: [ # Optional. A set of services of the form `services/{service_id}`,
+            # specifying that usage from only this set of services should be
+            # included in the budget. If omitted, the report will include usage for
+            # all the services.
+            # The service names are available through the Catalog API:
+            # https://cloud.google.com/billing/v1/how-tos/catalog-api.
+          &quot;A String&quot;,
+        ],
+        &quot;creditTypesTreatment&quot;: &quot;A String&quot;, # Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`.
+        &quot;projects&quot;: [ # Optional. A set of projects of the form `projects/{project}`,
+            # specifying that usage from only this set of projects should be
+            # included in the budget. If omitted, the report will include all usage for
+            # the billing account, regardless of which project the usage occurred on.
+            # Only zero or one project can be specified currently.
+          &quot;A String&quot;,
+        ],
+      },
+      &quot;displayName&quot;: &quot;A String&quot;, # User data for display name in UI.
+          # Validation: &lt;= 60 chars.
+    },
+    &quot;updateMask&quot;: &quot;A String&quot;, # Optional. Indicates which fields in the provided budget to update.
+        # Read-only fields (such as `name`) cannot be changed. If this is not
+        # provided, then only fields with non-default values from the request are
+        # updated. See
+        # https://developers.google.com/protocol-buffers/docs/proto3#default for more
+        # details about default values.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A budget is a plan that describes what you expect to spend on Cloud
+      # projects, plus the rules to execute as spend is tracked against that plan,
+      # (for example, send an alert when 90% of the target spend is met).
+      # Currently all plans are monthly budgets so the usage period(s) tracked are
+      # implied (calendar months of usage back-to-back).
+    &quot;amount&quot;: { # The budgeted amount for each usage period. # Required. Budgeted amount.
+      &quot;lastPeriodAmount&quot;: { # Describes a budget amount targeted to last period&#x27;s spend. # Use the last period&#x27;s actual spend as the budget for the present period.
+          # At this time, the amount is automatically 100% of last period&#x27;s spend;
+          # that is, there are no other options yet.
+          # Future configuration will be described here (for example, configuring a
+          # percentage of last period&#x27;s spend).
+      },
+      &quot;specifiedAmount&quot;: { # Represents an amount of money with its currency type. # A specified amount to use as the budget.
+          # `currency_code` is optional. If specified, it must match the
+          # currency of the billing account. The `currency_code` is provided on
+          # output.
+        &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+        &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+            # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+        &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
+            # The value must be between -999,999,999 and +999,999,999 inclusive.
+            # If `units` is positive, `nanos` must be positive or zero.
+            # If `units` is zero, `nanos` can be positive, zero, or negative.
+            # If `units` is negative, `nanos` must be negative or zero.
+            # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+      },
+    },
+    &quot;etag&quot;: &quot;A String&quot;, # Optional. Etag to validate that the object is unchanged for a
+        # read-modify-write operation.
+        # An empty etag will cause an update to overwrite other changes.
+    &quot;allUpdatesRule&quot;: { # AllUpdatesRule defines notifications that are sent on every update to the # Optional. Rules to apply to all updates to the actual spend, regardless
+        # of the thresholds set in `threshold_rules`.
+        # billing account&#x27;s spend, regardless of the thresholds defined using
+        # threshold rules.
+      &quot;schemaVersion&quot;: &quot;A String&quot;, # Required. The schema version of the notification.
+          # Only &quot;1.0&quot; is accepted. It represents the JSON schema as defined in
+          # https://cloud.google.com/billing/docs/how-to/budgets#notification_format
+      &quot;pubsubTopic&quot;: &quot;A String&quot;, # Required. The name of the Cloud Pub/Sub topic where budget related messages will be
+          # published, in the form `projects/{project_id}/topics/{topic_id}`. Updates
+          # are sent at regular intervals to the topic.
+          # The topic needs to be created before the budget is created; see
+          # https://cloud.google.com/billing/docs/how-to/budgets#manage-notifications
+          # for more details.
+          # Caller is expected to have
+          # `pubsub.topics.setIamPolicy` permission on the topic when it&#x27;s set for a
+          # budget, otherwise, the API call will fail with PERMISSION_DENIED. See
+          # https://cloud.google.com/pubsub/docs/access-control for more details on
+          # Pub/Sub roles and permissions.
+    },
+    &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of the budget.
+        # The resource name implies the scope of a budget. Values are of the form
+        # `billingAccounts/{billingAccountId}/budgets/{budgetId}`.
+    &quot;thresholdRules&quot;: [ # Optional. Rules that trigger alerts (notifications of thresholds
+        # being crossed) when spend exceeds the specified percentages of the budget.
+      { # ThresholdRule contains a definition of a threshold which triggers
+          # an alert (a notification of a threshold being crossed) to be sent when
+          # spend goes above the specified amount.
+          # Alerts are automatically e-mailed to users with the Billing Account
+          # Administrator role or the Billing Account User role.
+          # The thresholds here have no effect on notifications sent to anything
+          # configured under `Budget.all_updates_rule`.
+        &quot;spendBasis&quot;: &quot;A String&quot;, # Optional. The type of basis used to determine if spend has passed the
+            # threshold. Behavior defaults to CURRENT_SPEND if not set.
+        &quot;thresholdPercent&quot;: 3.14, # Required. Send an alert when this threshold is exceeded.
+            # This is a 1.0-based percentage, so 0.5 = 50%.
+            # Validation: non-negative number.
+      },
+    ],
+    &quot;budgetFilter&quot;: { # A filter for a budget, limiting the scope of the cost to calculate. # Optional. Filters that define which resources are used to compute
+        # the actual spend against the budget.
+      &quot;services&quot;: [ # Optional. A set of services of the form `services/{service_id}`,
+          # specifying that usage from only this set of services should be
+          # included in the budget. If omitted, the report will include usage for
+          # all the services.
+          # The service names are available through the Catalog API:
+          # https://cloud.google.com/billing/v1/how-tos/catalog-api.
+        &quot;A String&quot;,
+      ],
+      &quot;creditTypesTreatment&quot;: &quot;A String&quot;, # Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`.
+      &quot;projects&quot;: [ # Optional. A set of projects of the form `projects/{project}`,
+          # specifying that usage from only this set of projects should be
+          # included in the budget. If omitted, the report will include all usage for
+          # the billing account, regardless of which project the usage occurred on.
+          # Only zero or one project can be specified currently.
+        &quot;A String&quot;,
+      ],
+    },
+    &quot;displayName&quot;: &quot;A String&quot;, # User data for display name in UI.
+        # Validation: &lt;= 60 chars.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file