blob: 84a86ce6bb6684c5e20703a314581acbc5dab311 [file] [log] [blame]
<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, pageToken=None, pageSize=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;displayName&quot;: &quot;A String&quot;, # User data for display name in UI.
# Validation: &lt;= 60 chars.
&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;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;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;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;allUpdatesRule&quot;: { # AllUpdatesRule defines notifications that are sent based on budget spend # Optional. Rules to apply to notifications sent based on budget spend and thresholds.
# and thresholds.
&quot;monitoringNotificationChannels&quot;: [ # Optional. Targets to send notifications to when a threshold is exceeded. This is in
# addition to default recipients who have billing account roles.
# The value is the full REST resource name of a monitoring notification
# channel with the form
# `projects/{project_id}/notificationChannels/{channel_id}`. A maximum of 5
# channels are allowed. See
# https://cloud.google.com/billing/docs/how-to/budgets-notification-recipients
# for more details.
&quot;A String&quot;,
],
&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/billing/docs/how-to/budgets-programmatic-notifications
# for more details on Pub/Sub roles and permissions.
&quot;schemaVersion&quot;: &quot;A String&quot;, # Required. The schema version of the notification sent to `pubsub_topic`.
# Only &quot;1.0&quot; is accepted. It represents the JSON schema as defined in
# https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#notification_format
},
&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;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;subaccounts&quot;: [ # Optional. A set of subaccounts of the form `billingAccounts/{account_id}`, specifying
# that usage from only this set of subaccounts should be included in the
# budget. If a subaccount is set to the name of the parent account,
# usage from the parent account will be included. If omitted, the
# report will include usage from the parent account and all
# subaccounts, if they exist.
&quot;A String&quot;,
],
&quot;creditTypesTreatment&quot;: &quot;A String&quot;, # Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`.
&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;labels&quot;: { # Optional. A single label and value pair specifying that usage from only this set of
# labeled resources should be included in the budget. Currently, multiple
# entries or multiple values per entry are not allowed. If omitted, the
# report will include all labeled and unlabeled usage.
&quot;a_key&quot;: [
&quot;&quot;,
],
},
},
&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;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.
},
}
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;displayName&quot;: &quot;A String&quot;, # User data for display name in UI.
# Validation: &lt;= 60 chars.
&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;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;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;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;allUpdatesRule&quot;: { # AllUpdatesRule defines notifications that are sent based on budget spend # Optional. Rules to apply to notifications sent based on budget spend and thresholds.
# and thresholds.
&quot;monitoringNotificationChannels&quot;: [ # Optional. Targets to send notifications to when a threshold is exceeded. This is in
# addition to default recipients who have billing account roles.
# The value is the full REST resource name of a monitoring notification
# channel with the form
# `projects/{project_id}/notificationChannels/{channel_id}`. A maximum of 5
# channels are allowed. See
# https://cloud.google.com/billing/docs/how-to/budgets-notification-recipients
# for more details.
&quot;A String&quot;,
],
&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/billing/docs/how-to/budgets-programmatic-notifications
# for more details on Pub/Sub roles and permissions.
&quot;schemaVersion&quot;: &quot;A String&quot;, # Required. The schema version of the notification sent to `pubsub_topic`.
# Only &quot;1.0&quot; is accepted. It represents the JSON schema as defined in
# https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#notification_format
},
&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;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;subaccounts&quot;: [ # Optional. A set of subaccounts of the form `billingAccounts/{account_id}`, specifying
# that usage from only this set of subaccounts should be included in the
# budget. If a subaccount is set to the name of the parent account,
# usage from the parent account will be included. If omitted, the
# report will include usage from the parent account and all
# subaccounts, if they exist.
&quot;A String&quot;,
],
&quot;creditTypesTreatment&quot;: &quot;A String&quot;, # Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`.
&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;labels&quot;: { # Optional. A single label and value pair specifying that usage from only this set of
# labeled resources should be included in the budget. Currently, multiple
# entries or multiple values per entry are not allowed. If omitted, the
# report will include all labeled and unlabeled usage.
&quot;a_key&quot;: [
&quot;&quot;,
],
},
},
&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;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.
}</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;displayName&quot;: &quot;A String&quot;, # User data for display name in UI.
# Validation: &lt;= 60 chars.
&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;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;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;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;allUpdatesRule&quot;: { # AllUpdatesRule defines notifications that are sent based on budget spend # Optional. Rules to apply to notifications sent based on budget spend and thresholds.
# and thresholds.
&quot;monitoringNotificationChannels&quot;: [ # Optional. Targets to send notifications to when a threshold is exceeded. This is in
# addition to default recipients who have billing account roles.
# The value is the full REST resource name of a monitoring notification
# channel with the form
# `projects/{project_id}/notificationChannels/{channel_id}`. A maximum of 5
# channels are allowed. See
# https://cloud.google.com/billing/docs/how-to/budgets-notification-recipients
# for more details.
&quot;A String&quot;,
],
&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/billing/docs/how-to/budgets-programmatic-notifications
# for more details on Pub/Sub roles and permissions.
&quot;schemaVersion&quot;: &quot;A String&quot;, # Required. The schema version of the notification sent to `pubsub_topic`.
# Only &quot;1.0&quot; is accepted. It represents the JSON schema as defined in
# https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#notification_format
},
&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;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;subaccounts&quot;: [ # Optional. A set of subaccounts of the form `billingAccounts/{account_id}`, specifying
# that usage from only this set of subaccounts should be included in the
# budget. If a subaccount is set to the name of the parent account,
# usage from the parent account will be included. If omitted, the
# report will include usage from the parent account and all
# subaccounts, if they exist.
&quot;A String&quot;,
],
&quot;creditTypesTreatment&quot;: &quot;A String&quot;, # Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`.
&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;labels&quot;: { # Optional. A single label and value pair specifying that usage from only this set of
# labeled resources should be included in the budget. Currently, multiple
# entries or multiple values per entry are not allowed. If omitted, the
# report will include all labeled and unlabeled usage.
&quot;a_key&quot;: [
&quot;&quot;,
],
},
},
&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;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.
}</pre>
</div>
<div class="method">
<code class="details" id="list">list(parent, pageToken=None, pageSize=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)
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.
pageSize: integer, Optional. The maximum number of budgets to return per page.
The default and maximum value are 100.
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;displayName&quot;: &quot;A String&quot;, # User data for display name in UI.
# Validation: &lt;= 60 chars.
&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;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;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;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;allUpdatesRule&quot;: { # AllUpdatesRule defines notifications that are sent based on budget spend # Optional. Rules to apply to notifications sent based on budget spend and thresholds.
# and thresholds.
&quot;monitoringNotificationChannels&quot;: [ # Optional. Targets to send notifications to when a threshold is exceeded. This is in
# addition to default recipients who have billing account roles.
# The value is the full REST resource name of a monitoring notification
# channel with the form
# `projects/{project_id}/notificationChannels/{channel_id}`. A maximum of 5
# channels are allowed. See
# https://cloud.google.com/billing/docs/how-to/budgets-notification-recipients
# for more details.
&quot;A String&quot;,
],
&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/billing/docs/how-to/budgets-programmatic-notifications
# for more details on Pub/Sub roles and permissions.
&quot;schemaVersion&quot;: &quot;A String&quot;, # Required. The schema version of the notification sent to `pubsub_topic`.
# Only &quot;1.0&quot; is accepted. It represents the JSON schema as defined in
# https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#notification_format
},
&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;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;subaccounts&quot;: [ # Optional. A set of subaccounts of the form `billingAccounts/{account_id}`, specifying
# that usage from only this set of subaccounts should be included in the
# budget. If a subaccount is set to the name of the parent account,
# usage from the parent account will be included. If omitted, the
# report will include usage from the parent account and all
# subaccounts, if they exist.
&quot;A String&quot;,
],
&quot;creditTypesTreatment&quot;: &quot;A String&quot;, # Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`.
&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;labels&quot;: { # Optional. A single label and value pair specifying that usage from only this set of
# labeled resources should be included in the budget. Currently, multiple
# entries or multiple values per entry are not allowed. If omitted, the
# report will include all labeled and unlabeled usage.
&quot;a_key&quot;: [
&quot;&quot;,
],
},
},
&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;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.
},
],
}</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;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.
&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;displayName&quot;: &quot;A String&quot;, # User data for display name in UI.
# Validation: &lt;= 60 chars.
&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;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;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;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;allUpdatesRule&quot;: { # AllUpdatesRule defines notifications that are sent based on budget spend # Optional. Rules to apply to notifications sent based on budget spend and thresholds.
# and thresholds.
&quot;monitoringNotificationChannels&quot;: [ # Optional. Targets to send notifications to when a threshold is exceeded. This is in
# addition to default recipients who have billing account roles.
# The value is the full REST resource name of a monitoring notification
# channel with the form
# `projects/{project_id}/notificationChannels/{channel_id}`. A maximum of 5
# channels are allowed. See
# https://cloud.google.com/billing/docs/how-to/budgets-notification-recipients
# for more details.
&quot;A String&quot;,
],
&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/billing/docs/how-to/budgets-programmatic-notifications
# for more details on Pub/Sub roles and permissions.
&quot;schemaVersion&quot;: &quot;A String&quot;, # Required. The schema version of the notification sent to `pubsub_topic`.
# Only &quot;1.0&quot; is accepted. It represents the JSON schema as defined in
# https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#notification_format
},
&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;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;subaccounts&quot;: [ # Optional. A set of subaccounts of the form `billingAccounts/{account_id}`, specifying
# that usage from only this set of subaccounts should be included in the
# budget. If a subaccount is set to the name of the parent account,
# usage from the parent account will be included. If omitted, the
# report will include usage from the parent account and all
# subaccounts, if they exist.
&quot;A String&quot;,
],
&quot;creditTypesTreatment&quot;: &quot;A String&quot;, # Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`.
&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;labels&quot;: { # Optional. A single label and value pair specifying that usage from only this set of
# labeled resources should be included in the budget. Currently, multiple
# entries or multiple values per entry are not allowed. If omitted, the
# report will include all labeled and unlabeled usage.
&quot;a_key&quot;: [
&quot;&quot;,
],
},
},
&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;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.
},
}
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;displayName&quot;: &quot;A String&quot;, # User data for display name in UI.
# Validation: &lt;= 60 chars.
&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;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;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;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;allUpdatesRule&quot;: { # AllUpdatesRule defines notifications that are sent based on budget spend # Optional. Rules to apply to notifications sent based on budget spend and thresholds.
# and thresholds.
&quot;monitoringNotificationChannels&quot;: [ # Optional. Targets to send notifications to when a threshold is exceeded. This is in
# addition to default recipients who have billing account roles.
# The value is the full REST resource name of a monitoring notification
# channel with the form
# `projects/{project_id}/notificationChannels/{channel_id}`. A maximum of 5
# channels are allowed. See
# https://cloud.google.com/billing/docs/how-to/budgets-notification-recipients
# for more details.
&quot;A String&quot;,
],
&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/billing/docs/how-to/budgets-programmatic-notifications
# for more details on Pub/Sub roles and permissions.
&quot;schemaVersion&quot;: &quot;A String&quot;, # Required. The schema version of the notification sent to `pubsub_topic`.
# Only &quot;1.0&quot; is accepted. It represents the JSON schema as defined in
# https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#notification_format
},
&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;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;subaccounts&quot;: [ # Optional. A set of subaccounts of the form `billingAccounts/{account_id}`, specifying
# that usage from only this set of subaccounts should be included in the
# budget. If a subaccount is set to the name of the parent account,
# usage from the parent account will be included. If omitted, the
# report will include usage from the parent account and all
# subaccounts, if they exist.
&quot;A String&quot;,
],
&quot;creditTypesTreatment&quot;: &quot;A String&quot;, # Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`.
&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;labels&quot;: { # Optional. A single label and value pair specifying that usage from only this set of
# labeled resources should be included in the budget. Currently, multiple
# entries or multiple values per entry are not allowed. If omitted, the
# report will include all labeled and unlabeled usage.
&quot;a_key&quot;: [
&quot;&quot;,
],
},
},
&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;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.
}</pre>
</div>
</body></html>