{
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-billing": {
          "description": "View and manage your Google Cloud Platform billing accounts"
        },
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "View and manage your data across Google Cloud Platform services"
        }
      }
    }
  },
  "basePath": "",
  "baseUrl": "https://billingbudgets.googleapis.com/",
  "batchPath": "batch",
  "canonicalName": "CloudBillingBudget",
  "description": "The Cloud Billing Budget API stores Cloud Billing budgets, which define a budget plan and the rules to execute as spend is tracked against that plan.",
  "discoveryVersion": "v1",
  "documentationLink": "https://cloud.google.com/billing/docs/how-to/budget-api-overview",
  "fullyEncodeReservedExpansion": true,
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "id": "billingbudgets:v1beta1",
  "kind": "discovery#restDescription",
  "mtlsRootUrl": "https://billingbudgets.mtls.googleapis.com/",
  "name": "billingbudgets",
  "ownerDomain": "google.com",
  "ownerName": "Google",
  "parameters": {
    "$.xgafv": {
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "type": "string"
    },
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    },
    "alt": {
      "default": "json",
      "description": "Data format for response.",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "location": "query",
      "type": "string"
    },
    "callback": {
      "description": "JSONP",
      "location": "query",
      "type": "string"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query",
      "type": "string"
    },
    "key": {
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query",
      "type": "string"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "location": "query",
      "type": "string"
    },
    "prettyPrint": {
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "type": "boolean"
    },
    "quotaUser": {
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query",
      "type": "string"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query",
      "type": "string"
    }
  },
  "protocol": "rest",
  "resources": {
    "billingAccounts": {
      "resources": {
        "budgets": {
          "methods": {
            "create": {
              "description": "Creates a new budget. See Quotas and limits for more information on the limits of the number of budgets you can create.",
              "flatPath": "v1beta1/billingAccounts/{billingAccountsId}/budgets",
              "httpMethod": "POST",
              "id": "billingbudgets.billingAccounts.budgets.create",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. The name of the billing account to create the budget in. Values are of the form `billingAccounts/{billingAccountId}`.",
                  "location": "path",
                  "pattern": "^billingAccounts/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1beta1/{+parent}/budgets",
              "request": {
                "$ref": "GoogleCloudBillingBudgetsV1beta1CreateBudgetRequest"
              },
              "response": {
                "$ref": "GoogleCloudBillingBudgetsV1beta1Budget"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-billing",
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "delete": {
              "description": "Deletes a budget. Returns successfully if already deleted.",
              "flatPath": "v1beta1/billingAccounts/{billingAccountsId}/budgets/{budgetsId}",
              "httpMethod": "DELETE",
              "id": "billingbudgets.billingAccounts.budgets.delete",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. Name of the budget to delete. Values are of the form `billingAccounts/{billingAccountId}/budgets/{budgetId}`.",
                  "location": "path",
                  "pattern": "^billingAccounts/[^/]+/budgets/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1beta1/{+name}",
              "response": {
                "$ref": "GoogleProtobufEmpty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-billing",
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "get": {
              "description": "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.",
              "flatPath": "v1beta1/billingAccounts/{billingAccountsId}/budgets/{budgetsId}",
              "httpMethod": "GET",
              "id": "billingbudgets.billingAccounts.budgets.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. Name of budget to get. Values are of the form `billingAccounts/{billingAccountId}/budgets/{budgetId}`.",
                  "location": "path",
                  "pattern": "^billingAccounts/[^/]+/budgets/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1beta1/{+name}",
              "response": {
                "$ref": "GoogleCloudBillingBudgetsV1beta1Budget"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-billing",
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "list": {
              "description": "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.",
              "flatPath": "v1beta1/billingAccounts/{billingAccountsId}/budgets",
              "httpMethod": "GET",
              "id": "billingbudgets.billingAccounts.budgets.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "pageSize": {
                  "description": "Optional. The maximum number of budgets to return per page. The default and maximum value are 100.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "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.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "Required. Name of billing account to list budgets under. Values are of the form `billingAccounts/{billingAccountId}`.",
                  "location": "path",
                  "pattern": "^billingAccounts/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1beta1/{+parent}/budgets",
              "response": {
                "$ref": "GoogleCloudBillingBudgetsV1beta1ListBudgetsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-billing",
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "patch": {
              "description": "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.",
              "flatPath": "v1beta1/billingAccounts/{billingAccountsId}/budgets/{budgetsId}",
              "httpMethod": "PATCH",
              "id": "billingbudgets.billingAccounts.budgets.patch",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "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}`.",
                  "location": "path",
                  "pattern": "^billingAccounts/[^/]+/budgets/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1beta1/{+name}",
              "request": {
                "$ref": "GoogleCloudBillingBudgetsV1beta1UpdateBudgetRequest"
              },
              "response": {
                "$ref": "GoogleCloudBillingBudgetsV1beta1Budget"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-billing",
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            }
          }
        }
      }
    }
  },
  "revision": "20201016",
  "rootUrl": "https://billingbudgets.googleapis.com/",
  "schemas": {
    "GoogleCloudBillingBudgetsV1beta1AllUpdatesRule": {
      "description": "AllUpdatesRule defines notifications that are sent based on budget spend and thresholds.",
      "id": "GoogleCloudBillingBudgetsV1beta1AllUpdatesRule",
      "properties": {
        "disableDefaultIamRecipients": {
          "description": "Optional. 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.",
          "type": "boolean"
        },
        "monitoringNotificationChannels": {
          "description": "Optional. Targets to send notifications to when a threshold is exceeded. This is in addition to default recipients who have billing account IAM 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.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "pubsubTopic": {
          "description": "Optional. The name of the 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/billing/docs/how-to/budgets-programmatic-notifications for more details on Pub/Sub roles and permissions.",
          "type": "string"
        },
        "schemaVersion": {
          "description": "Optional. The schema version of the notification sent to `pubsub_topic`. Only \"1.0\" is accepted. It represents the JSON schema as defined in https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#notification_format",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudBillingBudgetsV1beta1Budget": {
      "description": "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).",
      "id": "GoogleCloudBillingBudgetsV1beta1Budget",
      "properties": {
        "allUpdatesRule": {
          "$ref": "GoogleCloudBillingBudgetsV1beta1AllUpdatesRule",
          "description": "Optional. Rules to apply to notifications sent based on budget spend and thresholds."
        },
        "amount": {
          "$ref": "GoogleCloudBillingBudgetsV1beta1BudgetAmount",
          "description": "Required. Budgeted amount."
        },
        "budgetFilter": {
          "$ref": "GoogleCloudBillingBudgetsV1beta1Filter",
          "description": "Optional. Filters that define which resources are used to compute the actual spend against the budget."
        },
        "displayName": {
          "description": "User data for display name in UI. Validation: \u003c= 60 chars.",
          "type": "string"
        },
        "etag": {
          "description": "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.",
          "type": "string"
        },
        "name": {
          "description": "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}`.",
          "readOnly": true,
          "type": "string"
        },
        "thresholdRules": {
          "description": "Optional. Rules that trigger alerts (notifications of thresholds being crossed) when spend exceeds the specified percentages of the budget.",
          "items": {
            "$ref": "GoogleCloudBillingBudgetsV1beta1ThresholdRule"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleCloudBillingBudgetsV1beta1BudgetAmount": {
      "description": "The budgeted amount for each usage period.",
      "id": "GoogleCloudBillingBudgetsV1beta1BudgetAmount",
      "properties": {
        "lastPeriodAmount": {
          "$ref": "GoogleCloudBillingBudgetsV1beta1LastPeriodAmount",
          "description": "Use the last period's actual spend as the budget for the present period."
        },
        "specifiedAmount": {
          "$ref": "GoogleTypeMoney",
          "description": "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."
        }
      },
      "type": "object"
    },
    "GoogleCloudBillingBudgetsV1beta1CreateBudgetRequest": {
      "description": "Request for CreateBudget",
      "id": "GoogleCloudBillingBudgetsV1beta1CreateBudgetRequest",
      "properties": {
        "budget": {
          "$ref": "GoogleCloudBillingBudgetsV1beta1Budget",
          "description": "Required. Budget to create."
        }
      },
      "type": "object"
    },
    "GoogleCloudBillingBudgetsV1beta1Filter": {
      "description": "A filter for a budget, limiting the scope of the cost to calculate.",
      "id": "GoogleCloudBillingBudgetsV1beta1Filter",
      "properties": {
        "creditTypesTreatment": {
          "description": "Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`.",
          "enum": [
            "CREDIT_TYPES_TREATMENT_UNSPECIFIED",
            "INCLUDE_ALL_CREDITS",
            "EXCLUDE_ALL_CREDITS"
          ],
          "enumDescriptions": [
            "",
            "All types of credit are subtracted from the gross cost to determine the spend for threshold calculations.",
            "All types of credit are added to the net cost to determine the spend for threshold calculations."
          ],
          "type": "string"
        },
        "labels": {
          "additionalProperties": {
            "items": {
              "type": "any"
            },
            "type": "array"
          },
          "description": "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.",
          "type": "object"
        },
        "projects": {
          "description": "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.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "services": {
          "description": "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.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "subaccounts": {
          "description": "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.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleCloudBillingBudgetsV1beta1LastPeriodAmount": {
      "description": "Describes a budget amount targeted to last period's spend. 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).",
      "id": "GoogleCloudBillingBudgetsV1beta1LastPeriodAmount",
      "properties": {},
      "type": "object"
    },
    "GoogleCloudBillingBudgetsV1beta1ListBudgetsResponse": {
      "description": "Response for ListBudgets",
      "id": "GoogleCloudBillingBudgetsV1beta1ListBudgetsResponse",
      "properties": {
        "budgets": {
          "description": "List of the budgets owned by the requested billing account.",
          "items": {
            "$ref": "GoogleCloudBillingBudgetsV1beta1Budget"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "If not empty, indicates that there may be more budgets that match the request; this value should be passed in a new `ListBudgetsRequest`.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudBillingBudgetsV1beta1ThresholdRule": {
      "description": "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`.",
      "id": "GoogleCloudBillingBudgetsV1beta1ThresholdRule",
      "properties": {
        "spendBasis": {
          "description": "Optional. The type of basis used to determine if spend has passed the threshold. Behavior defaults to CURRENT_SPEND if not set.",
          "enum": [
            "BASIS_UNSPECIFIED",
            "CURRENT_SPEND",
            "FORECASTED_SPEND"
          ],
          "enumDescriptions": [
            "Unspecified threshold basis.",
            "Use current spend as the basis for comparison against the threshold.",
            "Use forecasted spend for the period as the basis for comparison against the threshold."
          ],
          "type": "string"
        },
        "thresholdPercent": {
          "description": "Required. Send an alert when this threshold is exceeded. This is a 1.0-based percentage, so 0.5 = 50%. Validation: non-negative number.",
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "GoogleCloudBillingBudgetsV1beta1UpdateBudgetRequest": {
      "description": "Request for UpdateBudget",
      "id": "GoogleCloudBillingBudgetsV1beta1UpdateBudgetRequest",
      "properties": {
        "budget": {
          "$ref": "GoogleCloudBillingBudgetsV1beta1Budget",
          "description": "Required. The updated budget object. The budget to update is specified by the budget name in the budget."
        },
        "updateMask": {
          "description": "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.",
          "format": "google-fieldmask",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleProtobufEmpty": {
      "description": "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 `{}`.",
      "id": "GoogleProtobufEmpty",
      "properties": {},
      "type": "object"
    },
    "GoogleTypeMoney": {
      "description": "Represents an amount of money with its currency type.",
      "id": "GoogleTypeMoney",
      "properties": {
        "currencyCode": {
          "description": "The three-letter currency code defined in ISO 4217.",
          "type": "string"
        },
        "nanos": {
          "description": "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.",
          "format": "int32",
          "type": "integer"
        },
        "units": {
          "description": "The whole units of the amount. For example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "servicePath": "",
  "title": "Cloud Billing Budget API",
  "version": "v1beta1",
  "version_module": true
}