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
+<a href="https://cloud.google.com/billing/quotas">Quotas and limits</a>
+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
+ "budget": { # 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).
+ "amount": { # The budgeted amount for each usage period. # Required. Budgeted amount.
+ "lastPeriodAmount": { # Describes a budget amount targeted to last period's spend. # Use the last period's actual spend as the budget for the present period.
+ # At this time, the amount is automatically 100% of last period's spend;
+ # that is, there are no other options yet.
+ # Future configuration will be described here (for example, configuring a
+ # percentage of last period's spend).
+ },
+ "specifiedAmount": { # 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.
+ "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+ "units": "A String", # The whole units of the amount.
+ # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+ "nanos": 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.
+ },
+ },
+ "etag": "A String", # 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.
+ "allUpdatesRule": { # 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's spend, regardless of the thresholds defined using
+ # threshold rules.
+ "schemaVersion": "A String", # Required. The schema version of the notification.
+ # Only "1.0" is accepted. It represents the JSON schema as defined in
+ # https://cloud.google.com/billing/docs/how-to/budgets#notification_format
+ "pubsubTopic": "A String", # 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'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.
+ },
+ "name": "A 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}`.
+ "thresholdRules": [ # 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`.
+ "spendBasis": "A String", # Optional. The type of basis used to determine if spend has passed the
+ # threshold. Behavior defaults to CURRENT_SPEND if not set.
+ "thresholdPercent": 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.
+ },
+ ],
+ "budgetFilter": { # 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.
+ "services": [ # 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.
+ "A String",
+ ],
+ "creditTypesTreatment": "A String", # Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`.
+ "projects": [ # 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.
+ "A String",
+ ],
+ },
+ "displayName": "A String", # User data for display name in UI.
+ # Validation: <= 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).
+ "amount": { # The budgeted amount for each usage period. # Required. Budgeted amount.
+ "lastPeriodAmount": { # Describes a budget amount targeted to last period's spend. # Use the last period's actual spend as the budget for the present period.
+ # At this time, the amount is automatically 100% of last period's spend;
+ # that is, there are no other options yet.
+ # Future configuration will be described here (for example, configuring a
+ # percentage of last period's spend).
+ },
+ "specifiedAmount": { # 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.
+ "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+ "units": "A String", # The whole units of the amount.
+ # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+ "nanos": 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.
+ },
+ },
+ "etag": "A String", # 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.
+ "allUpdatesRule": { # 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's spend, regardless of the thresholds defined using
+ # threshold rules.
+ "schemaVersion": "A String", # Required. The schema version of the notification.
+ # Only "1.0" is accepted. It represents the JSON schema as defined in
+ # https://cloud.google.com/billing/docs/how-to/budgets#notification_format
+ "pubsubTopic": "A String", # 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'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.
+ },
+ "name": "A 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}`.
+ "thresholdRules": [ # 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`.
+ "spendBasis": "A String", # Optional. The type of basis used to determine if spend has passed the
+ # threshold. Behavior defaults to CURRENT_SPEND if not set.
+ "thresholdPercent": 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.
+ },
+ ],
+ "budgetFilter": { # 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.
+ "services": [ # 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.
+ "A String",
+ ],
+ "creditTypesTreatment": "A String", # Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`.
+ "projects": [ # 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.
+ "A String",
+ ],
+ },
+ "displayName": "A String", # User data for display name in UI.
+ # Validation: <= 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'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).
+ "amount": { # The budgeted amount for each usage period. # Required. Budgeted amount.
+ "lastPeriodAmount": { # Describes a budget amount targeted to last period's spend. # Use the last period's actual spend as the budget for the present period.
+ # At this time, the amount is automatically 100% of last period's spend;
+ # that is, there are no other options yet.
+ # Future configuration will be described here (for example, configuring a
+ # percentage of last period's spend).
+ },
+ "specifiedAmount": { # 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.
+ "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+ "units": "A String", # The whole units of the amount.
+ # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+ "nanos": 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.
+ },
+ },
+ "etag": "A String", # 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.
+ "allUpdatesRule": { # 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's spend, regardless of the thresholds defined using
+ # threshold rules.
+ "schemaVersion": "A String", # Required. The schema version of the notification.
+ # Only "1.0" is accepted. It represents the JSON schema as defined in
+ # https://cloud.google.com/billing/docs/how-to/budgets#notification_format
+ "pubsubTopic": "A String", # 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'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.
+ },
+ "name": "A 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}`.
+ "thresholdRules": [ # 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`.
+ "spendBasis": "A String", # Optional. The type of basis used to determine if spend has passed the
+ # threshold. Behavior defaults to CURRENT_SPEND if not set.
+ "thresholdPercent": 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.
+ },
+ ],
+ "budgetFilter": { # 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.
+ "services": [ # 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.
+ "A String",
+ ],
+ "creditTypesTreatment": "A String", # Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`.
+ "projects": [ # 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.
+ "A String",
+ ],
+ },
+ "displayName": "A String", # User data for display name in UI.
+ # Validation: <= 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'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
+ "nextPageToken": "A String", # If not empty, indicates that there may be more budgets that match the
+ # request; this value should be passed in a new `ListBudgetsRequest`.
+ "budgets": [ # 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).
+ "amount": { # The budgeted amount for each usage period. # Required. Budgeted amount.
+ "lastPeriodAmount": { # Describes a budget amount targeted to last period's spend. # Use the last period's actual spend as the budget for the present period.
+ # At this time, the amount is automatically 100% of last period's spend;
+ # that is, there are no other options yet.
+ # Future configuration will be described here (for example, configuring a
+ # percentage of last period's spend).
+ },
+ "specifiedAmount": { # 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.
+ "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+ "units": "A String", # The whole units of the amount.
+ # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+ "nanos": 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.
+ },
+ },
+ "etag": "A String", # 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.
+ "allUpdatesRule": { # 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's spend, regardless of the thresholds defined using
+ # threshold rules.
+ "schemaVersion": "A String", # Required. The schema version of the notification.
+ # Only "1.0" is accepted. It represents the JSON schema as defined in
+ # https://cloud.google.com/billing/docs/how-to/budgets#notification_format
+ "pubsubTopic": "A String", # 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'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.
+ },
+ "name": "A 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}`.
+ "thresholdRules": [ # 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`.
+ "spendBasis": "A String", # Optional. The type of basis used to determine if spend has passed the
+ # threshold. Behavior defaults to CURRENT_SPEND if not set.
+ "thresholdPercent": 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.
+ },
+ ],
+ "budgetFilter": { # 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.
+ "services": [ # 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.
+ "A String",
+ ],
+ "creditTypesTreatment": "A String", # Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`.
+ "projects": [ # 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.
+ "A String",
+ ],
+ },
+ "displayName": "A String", # User data for display name in UI.
+ # Validation: <= 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 'execute()' 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'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
+ "budget": { # 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).
+ "amount": { # The budgeted amount for each usage period. # Required. Budgeted amount.
+ "lastPeriodAmount": { # Describes a budget amount targeted to last period's spend. # Use the last period's actual spend as the budget for the present period.
+ # At this time, the amount is automatically 100% of last period's spend;
+ # that is, there are no other options yet.
+ # Future configuration will be described here (for example, configuring a
+ # percentage of last period's spend).
+ },
+ "specifiedAmount": { # 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.
+ "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+ "units": "A String", # The whole units of the amount.
+ # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+ "nanos": 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.
+ },
+ },
+ "etag": "A String", # 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.
+ "allUpdatesRule": { # 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's spend, regardless of the thresholds defined using
+ # threshold rules.
+ "schemaVersion": "A String", # Required. The schema version of the notification.
+ # Only "1.0" is accepted. It represents the JSON schema as defined in
+ # https://cloud.google.com/billing/docs/how-to/budgets#notification_format
+ "pubsubTopic": "A String", # 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'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.
+ },
+ "name": "A 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}`.
+ "thresholdRules": [ # 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`.
+ "spendBasis": "A String", # Optional. The type of basis used to determine if spend has passed the
+ # threshold. Behavior defaults to CURRENT_SPEND if not set.
+ "thresholdPercent": 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.
+ },
+ ],
+ "budgetFilter": { # 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.
+ "services": [ # 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.
+ "A String",
+ ],
+ "creditTypesTreatment": "A String", # Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`.
+ "projects": [ # 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.
+ "A String",
+ ],
+ },
+ "displayName": "A String", # User data for display name in UI.
+ # Validation: <= 60 chars.
+ },
+ "updateMask": "A String", # 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).
+ "amount": { # The budgeted amount for each usage period. # Required. Budgeted amount.
+ "lastPeriodAmount": { # Describes a budget amount targeted to last period's spend. # Use the last period's actual spend as the budget for the present period.
+ # At this time, the amount is automatically 100% of last period's spend;
+ # that is, there are no other options yet.
+ # Future configuration will be described here (for example, configuring a
+ # percentage of last period's spend).
+ },
+ "specifiedAmount": { # 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.
+ "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+ "units": "A String", # The whole units of the amount.
+ # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+ "nanos": 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.
+ },
+ },
+ "etag": "A String", # 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.
+ "allUpdatesRule": { # 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's spend, regardless of the thresholds defined using
+ # threshold rules.
+ "schemaVersion": "A String", # Required. The schema version of the notification.
+ # Only "1.0" is accepted. It represents the JSON schema as defined in
+ # https://cloud.google.com/billing/docs/how-to/budgets#notification_format
+ "pubsubTopic": "A String", # 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'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.
+ },
+ "name": "A 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}`.
+ "thresholdRules": [ # 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`.
+ "spendBasis": "A String", # Optional. The type of basis used to determine if spend has passed the
+ # threshold. Behavior defaults to CURRENT_SPEND if not set.
+ "thresholdPercent": 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.
+ },
+ ],
+ "budgetFilter": { # 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.
+ "services": [ # 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.
+ "A String",
+ ],
+ "creditTypesTreatment": "A String", # Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`.
+ "projects": [ # 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.
+ "A String",
+ ],
+ },
+ "displayName": "A String", # User data for display name in UI.
+ # Validation: <= 60 chars.
+ }</pre>
+</div>
+
+</body></html>
\ No newline at end of file