332 lines
17 KiB
YAML
332 lines
17 KiB
YAML
- release_tracks: [ALPHA, BETA, GA]
|
|
help_text:
|
|
brief: Update a budget.
|
|
description: Update a budget.
|
|
examples: |
|
|
To update the amount in the budget called 'abc' in account '123' to '987.65',
|
|
run:
|
|
|
|
$ {command} billingAccounts/123/budgets/abc --budget-amount=987.65
|
|
|
|
Alternatively, you can run:
|
|
|
|
$ {command} abc --billing-account=123 --budget-amount=987.65
|
|
request:
|
|
collection: billingbudgets.billingAccounts.budgets
|
|
method: patch
|
|
ALPHA:
|
|
api_version: v1beta1
|
|
modify_request_hooks:
|
|
- googlecloudsdk.command_lib.billingbudgets.hooks:UpdateAllUpdatesRule
|
|
- googlecloudsdk.command_lib.billingbudgets.hooks:UpdateThresholdRules
|
|
- googlecloudsdk.command_lib.billingbudgets.hooks:ValidateCreditTreatment
|
|
- googlecloudsdk.command_lib.billingbudgets.hooks:UpdateParseLabels
|
|
BETA:
|
|
api_version: v1beta1
|
|
modify_request_hooks:
|
|
- googlecloudsdk.command_lib.billingbudgets.hooks:UpdateAllUpdatesRule
|
|
- googlecloudsdk.command_lib.billingbudgets.hooks:UpdateThresholdRules
|
|
- googlecloudsdk.command_lib.billingbudgets.hooks:ValidateCreditTreatment
|
|
- googlecloudsdk.command_lib.billingbudgets.hooks:UpdateParseLabels
|
|
GA:
|
|
api_version: v1
|
|
modify_request_hooks:
|
|
- googlecloudsdk.command_lib.billingbudgets.hooks:UpdateNotificationsRule
|
|
- googlecloudsdk.command_lib.billingbudgets.hooks:UpdateThresholdRules
|
|
- googlecloudsdk.command_lib.billingbudgets.hooks:ValidateCreditTreatment
|
|
- googlecloudsdk.command_lib.billingbudgets.hooks:UpdateParseLabels
|
|
arguments:
|
|
resource:
|
|
spec: !REF googlecloudsdk.command_lib.billingbudgets.resources:budget
|
|
help_text: |
|
|
Billing budget to update.
|
|
params:
|
|
- arg_name: display-name
|
|
ALPHA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.displayName
|
|
BETA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.displayName
|
|
GA:
|
|
api_field: googleCloudBillingBudgetsV1Budget.displayName
|
|
help_text: |
|
|
User data for display name in UI. Must be less than or equal to 60 characters.
|
|
- group:
|
|
mutex: true
|
|
params:
|
|
- arg_name: budget-amount
|
|
help_text: |
|
|
Specify the amount of the budget. If a currency type is included, it must be the
|
|
existing currency associated with the budget.
|
|
ALPHA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.amount.specifiedAmount
|
|
processor: googlecloudsdk.command_lib.billingbudgets.hooks:UpdateParseToMoneyTypeV1Beta1
|
|
BETA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.amount.specifiedAmount
|
|
processor: googlecloudsdk.command_lib.billingbudgets.hooks:UpdateParseToMoneyTypeV1Beta1
|
|
GA:
|
|
api_field: googleCloudBillingBudgetsV1Budget.amount.specifiedAmount
|
|
processor: googlecloudsdk.command_lib.billingbudgets.hooks:UpdateParseToMoneyTypeV1
|
|
- arg_name: last-period-amount
|
|
ALPHA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.amount.lastPeriodAmount
|
|
processor: googlecloudsdk.command_lib.billingbudgets.hooks:LastPeriodAmountV1Beta1
|
|
BETA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.amount.lastPeriodAmount
|
|
processor: googlecloudsdk.command_lib.billingbudgets.hooks:LastPeriodAmountV1Beta1
|
|
GA:
|
|
api_field: googleCloudBillingBudgetsV1Budget.amount.lastPeriodAmount
|
|
processor: googlecloudsdk.command_lib.billingbudgets.hooks:LastPeriodAmountV1
|
|
action: store_true
|
|
default: false
|
|
help_text: |
|
|
Use the amount of last period's budget.
|
|
- group:
|
|
mutex: true
|
|
params:
|
|
- group:
|
|
params:
|
|
- arg_name: add-threshold-rule
|
|
help_text: |
|
|
Rule that triggers alerts (notifications of thresholds being crossed) when spend
|
|
exceeds the specified percentages of the budget. This flag can be repeated to
|
|
provide multiple thresholds above which an alert is sent.
|
|
|
|
*percent*::: Integer between 0 and 100 above which an alert is sent.
|
|
|
|
*basis*::: Type of basis used to determine if spend has passed the threshold. Must
|
|
be one of: 'current-spend' or 'forecasted-spend'. Behavior defaults to
|
|
'current-spend' if not set.
|
|
ALPHA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.thresholdRules
|
|
BETA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.thresholdRules
|
|
GA:
|
|
api_field: googleCloudBillingBudgetsV1Budget.thresholdRules
|
|
repeated: true
|
|
type:
|
|
arg_dict:
|
|
spec:
|
|
- api_field: spendBasis
|
|
arg_name: basis
|
|
required: false
|
|
- api_field: thresholdPercent
|
|
arg_name: percent
|
|
- arg_name: clear-threshold-rules
|
|
action: store_true
|
|
help_text: |
|
|
Removes all threshold rules from the budget.
|
|
- group:
|
|
params:
|
|
- arg_name: threshold-rules-from-file
|
|
type: "googlecloudsdk.calliope.arg_parsers:FileContents:"
|
|
help_text: |
|
|
Import a file with the updated threshold rules. The threshold rules in the file will
|
|
replace the rules in the budget. This can be used to add or remove specific
|
|
threshold rules.
|
|
- arg_name: filter-projects
|
|
ALPHA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.budgetFilter.projects
|
|
BETA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.budgetFilter.projects
|
|
GA:
|
|
api_field: googleCloudBillingBudgetsV1Budget.budgetFilter.projects
|
|
help_text: |
|
|
Set of projects in the form `projects/{project_id}`, specifying that usage from only this
|
|
set of projects should be included in the budget. If omitted, all projects will be included.
|
|
- arg_name: credit-types-treatment
|
|
repeated: false
|
|
ALPHA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.budgetFilter.creditTypesTreatment
|
|
BETA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.budgetFilter.creditTypesTreatment
|
|
GA:
|
|
api_field: googleCloudBillingBudgetsV1Budget.budgetFilter.creditTypesTreatment
|
|
help_text: |
|
|
Whether to include all credit types when calculating the actual spend against the budget. If
|
|
this is not specified, then all credit types are used in the calculation. If this is set to
|
|
include-specified-credits, then --filter-credit-types must be specified with a nonempty list
|
|
of credits.
|
|
- arg_name: filter-services
|
|
ALPHA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.budgetFilter.services
|
|
BETA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.budgetFilter.services
|
|
GA:
|
|
api_field: googleCloudBillingBudgetsV1Budget.budgetFilter.services
|
|
help_text: |
|
|
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 services. The service names are available through the Catalog API:
|
|
https://cloud.google.com/billing/v1/how-tos/catalog-api.
|
|
- arg_name: filter-resource-ancestors
|
|
ALPHA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.budgetFilter.resourceAncestors
|
|
BETA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.budgetFilter.resourceAncestors
|
|
GA:
|
|
api_field: googleCloudBillingBudgetsV1Budget.budgetFilter.resourceAncestors
|
|
help_text: |
|
|
A set of folder and organization names of the form `folders/{folderId}` or
|
|
`organizations/{organizationId}`, specifying that usage from only this set of folders and
|
|
organizations should be included in the budget. If omitted, the budget includes all usage
|
|
that the billing account pays for. If the folder or organization contains projects that are
|
|
paid for by a different Cloud Billing account, the budget doesn't apply to those projects.
|
|
- arg_name: filter-subaccounts
|
|
ALPHA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.budgetFilter.subaccounts
|
|
BETA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.budgetFilter.subaccounts
|
|
GA:
|
|
api_field: googleCloudBillingBudgetsV1Budget.budgetFilter.subaccounts
|
|
help_text: |
|
|
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.
|
|
- arg_name: filter-labels
|
|
ALPHA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.budgetFilter.labels.additionalProperties
|
|
BETA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.budgetFilter.labels.additionalProperties
|
|
GA:
|
|
api_field: googleCloudBillingBudgetsV1Budget.budgetFilter.labels.additionalProperties
|
|
metavar: KEY=VALUE
|
|
type:
|
|
arg_dict:
|
|
flatten: true
|
|
spec:
|
|
- api_field: key
|
|
- api_field: value
|
|
type: arg_list
|
|
help_text: |
|
|
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.
|
|
- arg_name: filter-credit-types
|
|
ALPHA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.budgetFilter.creditTypes
|
|
BETA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.budgetFilter.creditTypes
|
|
GA:
|
|
api_field: googleCloudBillingBudgetsV1Budget.budgetFilter.creditTypes
|
|
help_text: |
|
|
Set of credit types, specifying that usage from only this set of credits should be included
|
|
in the budget. If a nonempty list is specified, then --credit-types-treatment must be
|
|
include-specified-credits.
|
|
- arg_name: ownership-scope
|
|
ALPHA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.ownershipScope
|
|
BETA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.ownershipScope
|
|
GA:
|
|
api_field: googleCloudBillingBudgetsV1Budget.ownershipScope
|
|
help_text: |
|
|
Sets the ownership scope of the budget. The ownership scope and users' IAM permissions
|
|
determine who has full access to the budget's data.
|
|
|
|
Must be one of: 'ALL_USERS' or 'BILLING_ACCOUNT'. Use 'ALL_USERS' to allow billing account-
|
|
level users and project-level users to have full access to the budget (if the users have
|
|
the required IAM permissions). Use 'BILLING_ACCOUNT' to allow only billing account-level
|
|
users to have full access to the budget. Project-level users will have read-only access,
|
|
even if they have the required IAM permissions.
|
|
- group:
|
|
mutex: true
|
|
help_text: |
|
|
Specify either the calendar-period or custom-period, not both.
|
|
params:
|
|
- group:
|
|
help_text: |
|
|
Calendar Period
|
|
params:
|
|
- arg_name: calendar-period
|
|
ALPHA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.budgetFilter.calendarPeriod
|
|
BETA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.budgetFilter.calendarPeriod
|
|
GA:
|
|
api_field: googleCloudBillingBudgetsV1Budget.budgetFilter.calendarPeriod
|
|
help_text: |
|
|
Specified to track usage over recurring calendar period. If you're creating a budget with a custom time period, omit this flag.
|
|
- group:
|
|
help_text: |
|
|
Custom Period
|
|
params:
|
|
- arg_name: start-date
|
|
ALPHA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.budgetFilter.customPeriod.startDate
|
|
processor: googlecloudsdk.command_lib.billingbudgets.hooks:UpdateParseToDateTypeV1Beta1
|
|
BETA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.budgetFilter.customPeriod.startDate
|
|
processor: googlecloudsdk.command_lib.billingbudgets.hooks:UpdateParseToDateTypeV1Beta1
|
|
GA:
|
|
api_field: googleCloudBillingBudgetsV1Budget.budgetFilter.customPeriod.startDate
|
|
processor: googlecloudsdk.command_lib.billingbudgets.hooks:UpdateParseToDateTypeV1
|
|
required: true
|
|
help_text: |
|
|
Specified to track usage after any start date. This time period is static, it does not
|
|
recur.
|
|
- arg_name: end-date
|
|
ALPHA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.budgetFilter.customPeriod.endDate
|
|
processor: googlecloudsdk.command_lib.billingbudgets.hooks:UpdateParseToDateTypeV1Beta1
|
|
BETA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.budgetFilter.customPeriod.endDate
|
|
processor: googlecloudsdk.command_lib.billingbudgets.hooks:UpdateParseToDateTypeV1Beta1
|
|
GA:
|
|
api_field: googleCloudBillingBudgetsV1Budget.budgetFilter.customPeriod.endDate
|
|
processor: googlecloudsdk.command_lib.billingbudgets.hooks:UpdateParseToDateTypeV1
|
|
help_text: |
|
|
Specified to track usage before any end date. This time period is static, it does not
|
|
recur. If specified, --start-date must also be specified.
|
|
- arg_name: all-updates-rule-pubsub-topic
|
|
release_tracks: [ALPHA, BETA]
|
|
ALPHA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.allUpdatesRule.pubsubTopic
|
|
BETA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.allUpdatesRule.pubsubTopic
|
|
help_text: |
|
|
Name of the Cloud Pub/Sub topic where budget related messages will be published, in
|
|
the form `projects/{project_id}/topics/{topic_id}`.
|
|
- arg_name: all-updates-rule-monitoring-notification-channels
|
|
release_tracks: [ALPHA, BETA]
|
|
ALPHA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.allUpdatesRule.monitoringNotificationChannels
|
|
BETA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.allUpdatesRule.monitoringNotificationChannels
|
|
help_text: |
|
|
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 in the form
|
|
`projects/{project_id}/notificationChannels/{channel_id}`. A maximum of 5 channels is
|
|
allowed. See https://cloud.google.com/billing/docs/how-to/budgets-notification-recipients
|
|
for more details.
|
|
- arg_name: notifications-rule-pubsub-topic
|
|
release_tracks: [GA]
|
|
GA:
|
|
api_field: googleCloudBillingBudgetsV1Budget.notificationsRule.pubsubTopic
|
|
help_text: |
|
|
Name of the Cloud Pub/Sub topic where budget related messages will be published, in
|
|
the form `projects/{project_id}/topics/{topic_id}`.
|
|
- arg_name: notifications-rule-monitoring-notification-channels
|
|
release_tracks: [GA]
|
|
GA:
|
|
api_field: googleCloudBillingBudgetsV1Budget.notificationsRule.monitoringNotificationChannels
|
|
help_text: |
|
|
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 in the form
|
|
`projects/{project_id}/notificationChannels/{channel_id}`. A maximum of 5 channels is
|
|
allowed. See https://cloud.google.com/billing/docs/how-to/budgets-notification-recipients
|
|
for more details.
|
|
- arg_name: disable-default-iam-recipients
|
|
ALPHA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.allUpdatesRule.disableDefaultIamRecipients
|
|
BETA:
|
|
api_field: googleCloudBillingBudgetsV1beta1UpdateBudgetRequest.budget.allUpdatesRule.disableDefaultIamRecipients
|
|
GA:
|
|
api_field: googleCloudBillingBudgetsV1Budget.notificationsRule.disableDefaultIamRecipients
|
|
help_text: |
|
|
When set to true, disables default notifications sent when a threshold is exceeded. Default
|
|
notifications are sent to those with Billing Account Administrator and Billing Account User
|
|
IAM roles for the target account.
|