summaryrefslogtreecommitdiff
path: root/third_party/googleapis/google/cloud/billing
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/googleapis/google/cloud/billing')
-rw-r--r--third_party/googleapis/google/cloud/billing/BUILD.bazel41
-rw-r--r--third_party/googleapis/google/cloud/billing/budgets/BUILD.bazel40
-rw-r--r--third_party/googleapis/google/cloud/billing/budgets/v1/BUILD.bazel334
-rw-r--r--third_party/googleapis/google/cloud/billing/budgets/v1/billingbudget_gapic.yaml2
-rw-r--r--third_party/googleapis/google/cloud/billing/budgets/v1/billingbudgets.yaml21
-rw-r--r--third_party/googleapis/google/cloud/billing/budgets/v1/billingbudgets_grpc_service_config.json44
-rw-r--r--third_party/googleapis/google/cloud/billing/budgets/v1/budget_model.proto300
-rw-r--r--third_party/googleapis/google/cloud/billing/budgets/v1/budget_service.proto183
-rw-r--r--third_party/googleapis/google/cloud/billing/budgets/v1beta1/BUILD.bazel359
-rw-r--r--third_party/googleapis/google/cloud/billing/budgets/v1beta1/billingbudgets.yaml21
-rw-r--r--third_party/googleapis/google/cloud/billing/budgets/v1beta1/billingbudgets_grpc_service_config.json44
-rw-r--r--third_party/googleapis/google/cloud/billing/budgets/v1beta1/budget_model.proto311
-rw-r--r--third_party/googleapis/google/cloud/billing/budgets/v1beta1/budget_service.proto176
-rw-r--r--third_party/googleapis/google/cloud/billing/v1/BUILD.bazel376
-rw-r--r--third_party/googleapis/google/cloud/billing/v1/cloud_billing.proto360
-rw-r--r--third_party/googleapis/google/cloud/billing/v1/cloud_billing_grpc_service_config.json77
-rw-r--r--third_party/googleapis/google/cloud/billing/v1/cloud_catalog.proto331
-rw-r--r--third_party/googleapis/google/cloud/billing/v1/cloudbilling.yaml28
18 files changed, 0 insertions, 3048 deletions
diff --git a/third_party/googleapis/google/cloud/billing/BUILD.bazel b/third_party/googleapis/google/cloud/billing/BUILD.bazel
deleted file mode 100644
index 6b01e1a..0000000
--- a/third_party/googleapis/google/cloud/billing/BUILD.bazel
+++ /dev/null
@@ -1,41 +0,0 @@
-# This build file includes a target for the Ruby wrapper library for
-# google-cloud-billing.
-
-# This is an API workspace, having public visibility by default makes perfect sense.
-package(default_visibility = ["//visibility:public"])
-
-# Export yaml configs.
-exports_files(glob(["*.yaml"]))
-
-load(
- "@com_google_googleapis_imports//:imports.bzl",
- "ruby_cloud_gapic_library",
- "ruby_gapic_assembly_pkg",
-)
-
-# Generates a Ruby wrapper client for cloudbilling.
-# Ruby wrapper clients are versionless, but are generated from source protos
-# for a particular service version, v1 in this case.
-ruby_cloud_gapic_library(
- name = "cloudbilling_ruby_wrapper",
- srcs = ["//google/cloud/billing/v1:billing_proto_with_info"],
- extra_protoc_parameters = [
- "ruby-cloud-gem-name=google-cloud-billing",
- "ruby-cloud-env-prefix=BILLING",
- "ruby-cloud-wrapper-of=v1:0.1",
- "ruby-cloud-product-url=https://cloud.google.com/billing",
- "ruby-cloud-api-id=cloudbilling.googleapis.com",
- "ruby-cloud-api-shortname=cloudbilling",
- "ruby-cloud-factory-method-suffix=_service",
- ],
- ruby_cloud_description = "Allows developers to manage billing for their Google Cloud Platform projects programmatically.",
- ruby_cloud_title = "Billing",
-)
-
-# Open Source package.
-ruby_gapic_assembly_pkg(
- name = "google-cloud-billing-ruby",
- deps = [
- ":cloudbilling_ruby_wrapper",
- ],
-)
diff --git a/third_party/googleapis/google/cloud/billing/budgets/BUILD.bazel b/third_party/googleapis/google/cloud/billing/budgets/BUILD.bazel
deleted file mode 100644
index 04f9874..0000000
--- a/third_party/googleapis/google/cloud/billing/budgets/BUILD.bazel
+++ /dev/null
@@ -1,40 +0,0 @@
-# This build file includes a target for the Ruby wrapper library for
-# google-cloud-billing-budgets.
-
-# This is an API workspace, having public visibility by default makes perfect sense.
-package(default_visibility = ["//visibility:public"])
-
-# Export yaml configs.
-exports_files(glob(["*.yaml"]))
-
-load(
- "@com_google_googleapis_imports//:imports.bzl",
- "ruby_cloud_gapic_library",
- "ruby_gapic_assembly_pkg",
-)
-
-# Generates a Ruby wrapper client for billingbudgets.
-# Ruby wrapper clients are versionless, but are generated from source protos
-# for a particular service version, v1 in this case.
-ruby_cloud_gapic_library(
- name = "billingbudgets_ruby_wrapper",
- srcs = ["//google/cloud/billing/budgets/v1:budgets_proto_with_info"],
- extra_protoc_parameters = [
- "ruby-cloud-gem-name=google-cloud-billing-budgets",
- "ruby-cloud-env-prefix=BILLING_BUDGETS",
- "ruby-cloud-wrapper-of=v1:0.0;v1beta1:0.0",
- "ruby-cloud-product-url=https://cloud.google.com/billing/docs/how-to/budget-api-overview",
- "ruby-cloud-api-id=billingbudgets.googleapis.com",
- "ruby-cloud-api-shortname=billingbudgets",
- ],
- ruby_cloud_description = "Provides methods to view, create, and manage Cloud Billing budgets programmatically at scale.",
- ruby_cloud_title = "Billing Budgets",
-)
-
-# Open Source package.
-ruby_gapic_assembly_pkg(
- name = "google-cloud-billing-budgets-ruby",
- deps = [
- ":billingbudgets_ruby_wrapper",
- ],
-)
diff --git a/third_party/googleapis/google/cloud/billing/budgets/v1/BUILD.bazel b/third_party/googleapis/google/cloud/billing/budgets/v1/BUILD.bazel
deleted file mode 100644
index 29a111c..0000000
--- a/third_party/googleapis/google/cloud/billing/budgets/v1/BUILD.bazel
+++ /dev/null
@@ -1,334 +0,0 @@
-# This file was automatically generated by BuildFileGenerator
-# https://github.com/googleapis/rules_gapic/tree/master/bazel
-
-# Most of the manual changes to this file will be overwritten.
-# It's **only** allowed to change the following rule attribute values:
-# - names of *_gapic_assembly_* rules
-# - certain parameters of *_gapic_library rules, including but not limited to:
-# * extra_protoc_parameters
-# * extra_protoc_file_parameters
-# The complete list of preserved parameters can be found in the source code.
-
-##############################################################################
-# Common
-##############################################################################
-load("@rules_proto//proto:defs.bzl", "proto_library")
-load(
- "@com_google_googleapis_imports//:imports.bzl",
- "csharp_gapic_assembly_pkg",
- "csharp_gapic_library",
- "csharp_grpc_library",
- "csharp_proto_library",
- "go_gapic_assembly_pkg",
- "go_gapic_library",
- "go_proto_library",
- "go_test",
- "java_gapic_assembly_gradle_pkg",
- "java_gapic_library",
- "java_gapic_test",
- "java_grpc_library",
- "java_proto_library",
- "nodejs_gapic_assembly_pkg",
- "nodejs_gapic_library",
- "php_gapic_assembly_pkg",
- "php_gapic_library",
- "php_grpc_library",
- "php_proto_library",
- "proto_library_with_info",
- "py_gapic_assembly_pkg",
- "py_gapic_library",
- "py_test",
- "ruby_cloud_gapic_library",
- "ruby_gapic_assembly_pkg",
- "ruby_grpc_library",
- "ruby_proto_library",
-)
-
-# This is an API workspace, having public visibility by default makes perfect sense.
-package(default_visibility = ["//visibility:public"])
-
-proto_library(
- name = "budgets_proto",
- srcs = [
- "budget_model.proto",
- "budget_service.proto",
- ],
- deps = [
- "//google/api:annotations_proto",
- "//google/api:client_proto",
- "//google/api:field_behavior_proto",
- "//google/api:resource_proto",
- "//google/type:date_proto",
- "//google/type:money_proto",
- "@com_google_protobuf//:empty_proto",
- "@com_google_protobuf//:field_mask_proto",
- "@com_google_protobuf//:struct_proto",
- ],
-)
-
-proto_library_with_info(
- name = "budgets_proto_with_info",
- deps = [
- ":budgets_proto",
- "//google/cloud:common_resources_proto",
- ],
-)
-
-java_proto_library(
- name = "budgets_java_proto",
- deps = [":budgets_proto"],
-)
-
-java_grpc_library(
- name = "budgets_java_grpc",
- srcs = [":budgets_proto"],
- deps = [":budgets_java_proto"],
-)
-
-java_gapic_library(
- name = "budgets_java_gapic",
- srcs = [":budgets_proto_with_info"],
- grpc_service_config = "billingbudgets_grpc_service_config.json",
- test_deps = [
- ":budgets_java_grpc",
- ],
- transport = "grpc+rest",
- deps = [
- ":budgets_java_proto",
- ],
-)
-
-java_gapic_test(
- name = "budgets_java_gapic_test_suite",
- test_classes = [
- "com.google.cloud.billing.budgets.v1.BudgetServiceClientHttpJsonTest",
- "com.google.cloud.billing.budgets.v1.BudgetServiceClientTest",
- ],
- runtime_deps = [":budgets_java_gapic_test"],
-)
-
-# Open Source Packages
-java_gapic_assembly_gradle_pkg(
- name = "google-cloud-billing-budgets-v1-java",
- include_samples = True,
- transport = "grpc+rest",
- deps = [
- ":budgets_java_gapic",
- ":budgets_java_grpc",
- ":budgets_java_proto",
- ":budgets_proto",
- ],
-)
-
-go_proto_library(
- name = "budgets_go_proto",
- compilers = ["@io_bazel_rules_go//proto:go_grpc"],
- importpath = "google.golang.org/genproto/googleapis/cloud/billing/budgets/v1",
- protos = [":budgets_proto"],
- deps = [
- "//google/api:annotations_go_proto",
- "//google/type:date_go_proto",
- "//google/type:money_go_proto",
- ],
-)
-
-go_gapic_library(
- name = "budgets_go_gapic",
- srcs = [":budgets_proto_with_info"],
- grpc_service_config = "billingbudgets_grpc_service_config.json",
- importpath = "cloud.google.com/go/billing/budgets/apiv1;budgets",
- metadata = True,
- service_yaml = "billingbudgets.yaml",
- transport = "grpc+rest",
- deps = [
- ":budgets_go_proto",
- ],
-)
-
-go_test(
- name = "budgets_go_gapic_test",
- srcs = [":budgets_go_gapic_srcjar_test"],
- embed = [":budgets_go_gapic"],
- importpath = "cloud.google.com/go/billing/budgets/apiv1",
-)
-
-# Open Source Packages
-go_gapic_assembly_pkg(
- name = "gapi-cloud-billing-budgets-v1-go",
- deps = [
- ":budgets_go_gapic",
- ":budgets_go_gapic_srcjar-metadata.srcjar",
- ":budgets_go_gapic_srcjar-test.srcjar",
- ":budgets_go_proto",
- ],
-)
-
-py_gapic_library(
- name = "budgets_py_gapic",
- srcs = [":budgets_proto"],
- grpc_service_config = "billingbudgets_grpc_service_config.json",
- transport = "grpc",
-)
-
-py_test(
- name = "budgets_py_gapic_test",
- srcs = [
- "budgets_py_gapic_pytest.py",
- "budgets_py_gapic_test.py",
- ],
- legacy_create_init = False,
- deps = [":budgets_py_gapic"],
-)
-
-# Open Source Packages
-py_gapic_assembly_pkg(
- name = "billing-budgets-v1-py",
- deps = [
- ":budgets_py_gapic",
- ],
-)
-
-php_proto_library(
- name = "budgets_php_proto",
- deps = [":budgets_proto"],
-)
-
-php_grpc_library(
- name = "budgets_php_grpc",
- srcs = [":budgets_proto"],
- deps = [":budgets_php_proto"],
-)
-
-php_gapic_library(
- name = "budgets_php_gapic",
- srcs = [":budgets_proto_with_info"],
- grpc_service_config = "billingbudgets_grpc_service_config.json",
- service_yaml = "billingbudgets.yaml",
- deps = [
- ":budgets_php_grpc",
- ":budgets_php_proto",
- ],
-)
-
-# Open Source Packages
-php_gapic_assembly_pkg(
- name = "google-cloud-billing-budgets-v1-php",
- deps = [
- ":budgets_php_gapic",
- ":budgets_php_grpc",
- ":budgets_php_proto",
- ],
-)
-
-nodejs_gapic_library(
- name = "budgets_nodejs_gapic",
- package_name = "@google-cloud/billing-budgets",
- src = ":budgets_proto_with_info",
- extra_protoc_parameters = ["metadata"],
- grpc_service_config = "billingbudgets_grpc_service_config.json",
- package = "google.cloud.billing.budgets.v1",
- service_yaml = "billingbudgets.yaml",
- deps = [],
-)
-
-nodejs_gapic_assembly_pkg(
- name = "billing-budgets-v1-nodejs",
- deps = [
- ":budgets_nodejs_gapic",
- ":budgets_proto",
- ],
-)
-
-ruby_proto_library(
- name = "budgets_ruby_proto",
- deps = [":budgets_proto"],
-)
-
-ruby_grpc_library(
- name = "budgets_ruby_grpc",
- srcs = [":budgets_proto"],
- deps = [":budgets_ruby_proto"],
-)
-
-ruby_cloud_gapic_library(
- name = "budgets_ruby_gapic",
- srcs = [":budgets_proto_with_info"],
- extra_protoc_parameters = [
- "ruby-cloud-api-id=billingbudgets.googleapis.com",
- "ruby-cloud-api-shortname=billingbudgets",
- "ruby-cloud-env-prefix=BILLING_BUDGETS",
- "ruby-cloud-gem-name=google-cloud-billing-budgets-v1",
- "ruby-cloud-product-url=https://cloud.google.com/billing/docs/how-to/budget-api-overview",
- ],
- grpc_service_config = "billingbudgets_grpc_service_config.json",
- ruby_cloud_description = "Provides methods to view, create, and manage Cloud Billing budgets programmatically at scale.",
- ruby_cloud_title = "Billing Budgets V1",
- deps = [
- ":budgets_ruby_grpc",
- ":budgets_ruby_proto",
- ],
-)
-
-# Open Source Packages
-ruby_gapic_assembly_pkg(
- name = "google-cloud-billing-budgets-v1-ruby",
- deps = [
- ":budgets_ruby_gapic",
- ":budgets_ruby_grpc",
- ":budgets_ruby_proto",
- ],
-)
-
-csharp_proto_library(
- name = "budgets_csharp_proto",
- deps = [":budgets_proto"],
-)
-
-csharp_grpc_library(
- name = "budgets_csharp_grpc",
- srcs = [":budgets_proto"],
- deps = [":budgets_csharp_proto"],
-)
-
-csharp_gapic_library(
- name = "budgets_csharp_gapic",
- srcs = [":budgets_proto_with_info"],
- common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
- grpc_service_config = "billingbudgets_grpc_service_config.json",
- service_yaml = "billingbudgets.yaml",
- deps = [
- ":budgets_csharp_grpc",
- ":budgets_csharp_proto",
- ],
-)
-
-# Open Source Packages
-csharp_gapic_assembly_pkg(
- name = "google-cloud-billing-budgets-v1-csharp",
- deps = [
- ":budgets_csharp_gapic",
- ":budgets_csharp_grpc",
- ":budgets_csharp_proto",
- ],
-)
-
-##############################################################################
-# C++
-##############################################################################
-load(
- "@com_google_googleapis_imports//:imports.bzl",
- "cc_grpc_library",
- "cc_proto_library",
-)
-
-cc_proto_library(
- name = "budgets_cc_proto",
- deps = [":budgets_proto"],
-)
-
-cc_grpc_library(
- name = "budgets_cc_grpc",
- srcs = [":budgets_proto"],
- grpc_only = True,
- deps = [":budgets_cc_proto"],
-)
diff --git a/third_party/googleapis/google/cloud/billing/budgets/v1/billingbudget_gapic.yaml b/third_party/googleapis/google/cloud/billing/budgets/v1/billingbudget_gapic.yaml
deleted file mode 100644
index 0bcb880..0000000
--- a/third_party/googleapis/google/cloud/billing/budgets/v1/billingbudget_gapic.yaml
+++ /dev/null
@@ -1,2 +0,0 @@
-type: com.google.api.codegen.ConfigProto
-config_schema_version: 2.0.0
diff --git a/third_party/googleapis/google/cloud/billing/budgets/v1/billingbudgets.yaml b/third_party/googleapis/google/cloud/billing/budgets/v1/billingbudgets.yaml
deleted file mode 100644
index ab4a077..0000000
--- a/third_party/googleapis/google/cloud/billing/budgets/v1/billingbudgets.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
-type: google.api.Service
-config_version: 3
-name: billingbudgets.googleapis.com
-title: Cloud Billing Budget API
-
-apis:
-- name: google.cloud.billing.budgets.v1.BudgetService
-
-documentation:
- summary: |-
- 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.
-
-authentication:
- rules:
- - selector: 'google.cloud.billing.budgets.v1.BudgetService.*'
- oauth:
- canonical_scopes: |-
- https://www.googleapis.com/auth/cloud-billing,
- https://www.googleapis.com/auth/cloud-platform
diff --git a/third_party/googleapis/google/cloud/billing/budgets/v1/billingbudgets_grpc_service_config.json b/third_party/googleapis/google/cloud/billing/budgets/v1/billingbudgets_grpc_service_config.json
deleted file mode 100644
index 27b57fe..0000000
--- a/third_party/googleapis/google/cloud/billing/budgets/v1/billingbudgets_grpc_service_config.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "methodConfig": [
- {
- "name": [
- {
- "service": "google.cloud.billing.budgets.v1.BudgetService",
- "method": "CreateBudget"
- }
- ],
- "timeout": "60s"
- },
- {
- "name": [
- {
- "service": "google.cloud.billing.budgets.v1.BudgetService",
- "method": "UpdateBudget"
- },
- {
- "service": "google.cloud.billing.budgets.v1.BudgetService",
- "method": "GetBudget"
- },
- {
- "service": "google.cloud.billing.budgets.v1.BudgetService",
- "method": "ListBudgets"
- },
- {
- "service": "google.cloud.billing.budgets.v1.BudgetService",
- "method": "DeleteBudget"
- }
- ],
- "timeout": "60s",
- "retryPolicy": {
- "maxAttempts": 5,
- "initialBackoff": "0.100s",
- "maxBackoff": "60s",
- "backoffMultiplier": 1.3,
- "retryableStatusCodes": [
- "DEADLINE_EXCEEDED",
- "UNAVAILABLE"
- ]
- }
- }
- ]
-}
diff --git a/third_party/googleapis/google/cloud/billing/budgets/v1/budget_model.proto b/third_party/googleapis/google/cloud/billing/budgets/v1/budget_model.proto
deleted file mode 100644
index 6758f5c..0000000
--- a/third_party/googleapis/google/cloud/billing/budgets/v1/budget_model.proto
+++ /dev/null
@@ -1,300 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.cloud.billing.budgets.v1;
-
-import "google/api/field_behavior.proto";
-import "google/api/resource.proto";
-import "google/protobuf/struct.proto";
-import "google/type/date.proto";
-import "google/type/money.proto";
-
-option go_package = "google.golang.org/genproto/googleapis/cloud/billing/budgets/v1;budgets";
-option java_multiple_files = true;
-option java_outer_classname = "BudgetModelProto";
-option java_package = "com.google.cloud.billing.budgets.v1";
-
-// 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).
-// The budget time period is configurable, with options such as month (default),
-// quarter, year, or custom time period.
-message Budget {
- option (google.api.resource) = {
- type: "billingbudgets.googleapis.com/Budget"
- pattern: "billingAccounts/{billing_account}/budgets/{budget}"
- };
-
- // 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}`.
- string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
-
- // User data for display name in UI. The name must be less than or equal to 60
- // characters.
- string display_name = 2;
-
- // Optional. Filters that define which resources are used to compute the
- // actual spend against the budget amount, such as projects, services, and the
- // budget's time period, as well as other filters.
- Filter budget_filter = 3 [(google.api.field_behavior) = OPTIONAL];
-
- // Required. Budgeted amount.
- BudgetAmount amount = 4 [(google.api.field_behavior) = REQUIRED];
-
- // Optional. Rules that trigger alerts (notifications of thresholds
- // being crossed) when spend exceeds the specified percentages of the budget.
- repeated ThresholdRule threshold_rules = 5
- [(google.api.field_behavior) = OPTIONAL];
-
- // Optional. Rules to apply to notifications sent based on budget spend and
- // thresholds.
- NotificationsRule notifications_rule = 6
- [(google.api.field_behavior) = OPTIONAL];
-
- // 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.
- string etag = 7 [(google.api.field_behavior) = OPTIONAL];
-}
-
-// The budgeted amount for each usage period.
-message BudgetAmount {
- // Specification for what amount to use as the budget.
- oneof budget_amount {
- // A specified amount to use as the budget.
- // `currency_code` is optional. If specified when creating a budget, it must
- // match the currency of the billing account. If specified when updating a
- // budget, it must match the currency_code of the existing budget.
- // The `currency_code` is provided on output.
- google.type.Money specified_amount = 1;
-
- // Use the last period's actual spend as the budget for the present period.
- // LastPeriodAmount can only be set when the budget's time period is a
- // [Filter.calendar_period][google.cloud.billing.budgets.v1.Filter.calendar_period].
- // It cannot be set in combination with
- // [Filter.custom_period][google.cloud.billing.budgets.v1.Filter.custom_period].
- LastPeriodAmount last_period_amount = 2;
- }
-}
-
-// Describes a budget amount targeted to the last
-// [Filter.calendar_period][google.cloud.billing.budgets.v1.Filter.calendar_period]
-// spend. At this time, the amount is automatically 100% of the last calendar
-// period's spend; that is, there are no other options yet.
-// Future configuration options will be described here (for example, configuring
-// a percentage of last period's spend).
-// LastPeriodAmount cannot be set for a budget configured with
-// a
-// [Filter.custom_period][google.cloud.billing.budgets.v1.Filter.custom_period].
-message LastPeriodAmount {}
-
-// 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`.
-message ThresholdRule {
- // The type of basis used to determine if spend has passed the threshold.
- enum Basis {
- // Unspecified threshold basis.
- BASIS_UNSPECIFIED = 0;
-
- // Use current spend as the basis for comparison against the threshold.
- CURRENT_SPEND = 1;
-
- // Use forecasted spend for the period as the basis for comparison against
- // the threshold.
- // FORECASTED_SPEND can only be set when the budget's time period is a
- // [Filter.calendar_period][google.cloud.billing.budgets.v1.Filter.calendar_period].
- // It cannot be set in combination with
- // [Filter.custom_period][google.cloud.billing.budgets.v1.Filter.custom_period].
- FORECASTED_SPEND = 2;
- }
-
- // Required. Send an alert when this threshold is exceeded.
- // This is a 1.0-based percentage, so 0.5 = 50%.
- // Validation: non-negative number.
- double threshold_percent = 1 [(google.api.field_behavior) = REQUIRED];
-
- // Optional. The type of basis used to determine if spend has passed the
- // threshold. Behavior defaults to CURRENT_SPEND if not set.
- Basis spend_basis = 2 [(google.api.field_behavior) = OPTIONAL];
-}
-
-// NotificationsRule defines notifications that are sent based on budget spend
-// and thresholds.
-message NotificationsRule {
- // 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.
- string pubsub_topic = 1 [(google.api.field_behavior) = OPTIONAL];
-
- // Optional. Required when
- // [NotificationsRule.pubsub_topic][google.cloud.billing.budgets.v1.NotificationsRule.pubsub_topic]
- // is set. The schema version of the notification sent to
- // [NotificationsRule.pubsub_topic][google.cloud.billing.budgets.v1.NotificationsRule.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.
- string schema_version = 2 [(google.api.field_behavior) = OPTIONAL];
-
- // 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.
- repeated string monitoring_notification_channels = 3
- [(google.api.field_behavior) = OPTIONAL];
-
- // 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.
- bool disable_default_iam_recipients = 4
- [(google.api.field_behavior) = OPTIONAL];
-}
-
-// A filter for a budget, limiting the scope of the cost to calculate.
-message Filter {
- // Specifies how credits are applied when determining the spend for
- // threshold calculations. Budgets track the total cost minus any applicable
- // selected credits.
- // [See the documentation for a list of credit
- // types](https://cloud.google.com/billing/docs/how-to/export-data-bigquery-tables#credits-type).
- enum CreditTypesTreatment {
- CREDIT_TYPES_TREATMENT_UNSPECIFIED = 0;
-
- // All types of credit are subtracted from the gross cost to determine the
- // spend for threshold calculations.
- INCLUDE_ALL_CREDITS = 1;
-
- // All types of credit are added to the net cost to determine the spend for
- // threshold calculations.
- EXCLUDE_ALL_CREDITS = 2;
-
- // [Credit
- // types](https://cloud.google.com/billing/docs/how-to/export-data-bigquery-tables#credits-type)
- // specified in the credit_types field are subtracted from the
- // gross cost to determine the spend for threshold calculations.
- INCLUDE_SPECIFIED_CREDITS = 3;
- }
-
- // 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.
- repeated string projects = 1 [(google.api.field_behavior) = OPTIONAL];
-
- // Optional. If
- // [Filter.credit_types_treatment][google.cloud.billing.budgets.v1.Filter.credit_types_treatment]
- // is INCLUDE_SPECIFIED_CREDITS, this is a list of credit types to be
- // subtracted from gross cost to determine the spend for threshold
- // calculations. See [a list of acceptable credit type
- // values](https://cloud.google.com/billing/docs/how-to/export-data-bigquery-tables#credits-type).
- //
- // If
- // [Filter.credit_types_treatment][google.cloud.billing.budgets.v1.Filter.credit_types_treatment]
- // is **not** INCLUDE_SPECIFIED_CREDITS, this field must be empty.
- repeated string credit_types = 7 [(google.api.field_behavior) = OPTIONAL];
-
- // Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`.
- CreditTypesTreatment credit_types_treatment = 4
- [(google.api.field_behavior) = OPTIONAL];
-
- // 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.
- repeated string services = 3 [(google.api.field_behavior) = OPTIONAL];
-
- // 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 the field is omitted,
- // the report will include usage from the parent account and all subaccounts,
- // if they exist.
- repeated string subaccounts = 5 [(google.api.field_behavior) = OPTIONAL];
-
- // 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.
- map<string, google.protobuf.ListValue> labels = 6
- [(google.api.field_behavior) = OPTIONAL];
-
- // Multiple options to choose the budget's time period, specifying that only
- // usage that occurs during this time period should be included in the budget.
- // If not set, the `usage_period` defaults to CalendarPeriod.MONTH.
- oneof usage_period {
- // Optional. Specifies to track usage for recurring calendar period.
- // For example, assume that CalendarPeriod.QUARTER is set. The budget will
- // track usage from April 1 to June 30, when the current calendar month is
- // April, May, June. After that, it will track usage from July 1 to
- // September 30 when the current calendar month is July, August, September,
- // so on.
- CalendarPeriod calendar_period = 8 [(google.api.field_behavior) = OPTIONAL];
-
- // Optional. Specifies to track usage from any start date (required) to any
- // end date (optional). This time period is static, it does not recur.
- CustomPeriod custom_period = 9 [(google.api.field_behavior) = OPTIONAL];
- }
-}
-
-// All date times begin at 12 AM US and Canadian Pacific Time (UTC-8).
-message CustomPeriod {
- // Required. The start date must be after January 1, 2017.
- google.type.Date start_date = 1 [(google.api.field_behavior) = REQUIRED];
-
- // Optional. The end date of the time period. Budgets with elapsed end date
- // won't be processed. If unset, specifies to track all usage incurred since
- // the start_date.
- google.type.Date end_date = 2 [(google.api.field_behavior) = OPTIONAL];
-}
-
-// A `CalendarPeriod` represents the abstract concept of a time period that
-// has a canonical start. Grammatically, "the start of the current
-// `CalendarPeriod`". All calendar times begin at 12 AM US and Canadian
-// Pacific Time (UTC-8).
-enum CalendarPeriod {
- CALENDAR_PERIOD_UNSPECIFIED = 0;
-
- // A month. Month starts on the first day of each month, such as January 1,
- // February 1, March 1, and so on.
- MONTH = 1;
-
- // A quarter. Quarters start on dates January 1, April 1, July 1, and October
- // 1 of each year.
- QUARTER = 2;
-
- // A year. Year starts on January 1.
- YEAR = 3;
-}
diff --git a/third_party/googleapis/google/cloud/billing/budgets/v1/budget_service.proto b/third_party/googleapis/google/cloud/billing/budgets/v1/budget_service.proto
deleted file mode 100644
index a4b512b..0000000
--- a/third_party/googleapis/google/cloud/billing/budgets/v1/budget_service.proto
+++ /dev/null
@@ -1,183 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.cloud.billing.budgets.v1;
-
-import "google/api/annotations.proto";
-import "google/api/client.proto";
-import "google/api/field_behavior.proto";
-import "google/api/resource.proto";
-import "google/cloud/billing/budgets/v1/budget_model.proto";
-import "google/protobuf/empty.proto";
-import "google/protobuf/field_mask.proto";
-
-option go_package = "google.golang.org/genproto/googleapis/cloud/billing/budgets/v1;budgets";
-option java_multiple_files = true;
-option java_outer_classname = "BudgetServiceProto";
-option java_package = "com.google.cloud.billing.budgets.v1";
-
-// BudgetService stores Cloud Billing budgets, which define a
-// budget plan and rules to execute as we track spend against that plan.
-service BudgetService {
- option (google.api.default_host) = "billingbudgets.googleapis.com";
- option (google.api.oauth_scopes) =
- "https://www.googleapis.com/auth/cloud-billing,"
- "https://www.googleapis.com/auth/cloud-platform";
-
- // Creates a new budget. See
- // [Quotas and limits](https://cloud.google.com/billing/quotas)
- // for more information on the limits of the number of budgets you can create.
- rpc CreateBudget(CreateBudgetRequest) returns (Budget) {
- option (google.api.http) = {
- post: "/v1/{parent=billingAccounts/*}/budgets"
- body: "budget"
- };
- option (google.api.method_signature) = "parent,budget";
- }
-
- // 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.
- rpc UpdateBudget(UpdateBudgetRequest) returns (Budget) {
- option (google.api.http) = {
- patch: "/v1/{budget.name=billingAccounts/*/budgets/*}"
- body: "budget"
- };
- option (google.api.method_signature) = "budget,update_mask";
- }
-
- // 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.
- rpc GetBudget(GetBudgetRequest) returns (Budget) {
- option (google.api.http) = {
- get: "/v1/{name=billingAccounts/*/budgets/*}"
- };
- option (google.api.method_signature) = "name";
- }
-
- // 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.
- rpc ListBudgets(ListBudgetsRequest) returns (ListBudgetsResponse) {
- option (google.api.http) = {
- get: "/v1/{parent=billingAccounts/*}/budgets"
- };
- option (google.api.method_signature) = "parent";
- }
-
- // Deletes a budget. Returns successfully if already deleted.
- rpc DeleteBudget(DeleteBudgetRequest) returns (google.protobuf.Empty) {
- option (google.api.http) = {
- delete: "/v1/{name=billingAccounts/*/budgets/*}"
- };
- option (google.api.method_signature) = "name";
- }
-}
-
-// Request for CreateBudget
-message CreateBudgetRequest {
- // Required. The name of the billing account to create the budget in. Values
- // are of the form `billingAccounts/{billingAccountId}`.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "billingbudgets.googleapis.com/Budget"
- }
- ];
-
- // Required. Budget to create.
- Budget budget = 2 [(google.api.field_behavior) = REQUIRED];
-}
-
-// Request for UpdateBudget
-message UpdateBudgetRequest {
- // Required. The updated budget object.
- // The budget to update is specified by the budget name in the budget.
- Budget budget = 1 [(google.api.field_behavior) = REQUIRED];
-
- // 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.
- google.protobuf.FieldMask update_mask = 2
- [(google.api.field_behavior) = OPTIONAL];
-}
-
-// Request for GetBudget
-message GetBudgetRequest {
- // Required. Name of budget to get. Values are of the form
- // `billingAccounts/{billingAccountId}/budgets/{budgetId}`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "billingbudgets.googleapis.com/Budget"
- }
- ];
-}
-
-// Request for ListBudgets
-message ListBudgetsRequest {
- // Required. Name of billing account to list budgets under. Values
- // are of the form `billingAccounts/{billingAccountId}`.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "billingbudgets.googleapis.com/Budget"
- }
- ];
-
- // Optional. The maximum number of budgets to return per page.
- // The default and maximum value are 100.
- int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
-
- // 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.
- string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
-}
-
-// Response for ListBudgets
-message ListBudgetsResponse {
- // List of the budgets owned by the requested billing account.
- repeated Budget budgets = 1;
-
- // If not empty, indicates that there may be more budgets that match the
- // request; this value should be passed in a new `ListBudgetsRequest`.
- string next_page_token = 2;
-}
-
-// Request for DeleteBudget
-message DeleteBudgetRequest {
- // Required. Name of the budget to delete. Values are of the form
- // `billingAccounts/{billingAccountId}/budgets/{budgetId}`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "billingbudgets.googleapis.com/Budget"
- }
- ];
-}
diff --git a/third_party/googleapis/google/cloud/billing/budgets/v1beta1/BUILD.bazel b/third_party/googleapis/google/cloud/billing/budgets/v1beta1/BUILD.bazel
deleted file mode 100644
index dba7484..0000000
--- a/third_party/googleapis/google/cloud/billing/budgets/v1beta1/BUILD.bazel
+++ /dev/null
@@ -1,359 +0,0 @@
-# This file was automatically generated by BuildFileGenerator
-# https://github.com/googleapis/rules_gapic/tree/master/bazel
-
-# Most of the manual changes to this file will be overwritten.
-# It's **only** allowed to change the following rule attribute values:
-# - names of *_gapic_assembly_* rules
-# - certain parameters of *_gapic_library rules, including but not limited to:
-# * extra_protoc_parameters
-# * extra_protoc_file_parameters
-# The complete list of preserved parameters can be found in the source code.
-
-# This is an API workspace, having public visibility by default makes perfect sense.
-package(default_visibility = ["//visibility:public"])
-
-##############################################################################
-# Common
-##############################################################################
-load("@rules_proto//proto:defs.bzl", "proto_library")
-load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
-
-proto_library(
- name = "budgets_proto",
- srcs = [
- "budget_model.proto",
- "budget_service.proto",
- ],
- deps = [
- "//google/api:annotations_proto",
- "//google/api:client_proto",
- "//google/api:field_behavior_proto",
- "//google/api:resource_proto",
- "//google/type:date_proto",
- "//google/type:money_proto",
- "@com_google_protobuf//:empty_proto",
- "@com_google_protobuf//:field_mask_proto",
- "@com_google_protobuf//:struct_proto",
- ],
-)
-
-proto_library_with_info(
- name = "budgets_proto_with_info",
- deps = [
- ":budgets_proto",
- "//google/cloud:common_resources_proto",
- ],
-)
-
-##############################################################################
-# Java
-##############################################################################
-load(
- "@com_google_googleapis_imports//:imports.bzl",
- "java_gapic_assembly_gradle_pkg",
- "java_gapic_library",
- "java_gapic_test",
- "java_grpc_library",
- "java_proto_library",
-)
-
-java_proto_library(
- name = "budgets_java_proto",
- deps = [":budgets_proto"],
-)
-
-java_grpc_library(
- name = "budgets_java_grpc",
- srcs = [":budgets_proto"],
- deps = [":budgets_java_proto"],
-)
-
-java_gapic_library(
- name = "budgets_java_gapic",
- srcs = [":budgets_proto_with_info"],
- grpc_service_config = "billingbudgets_grpc_service_config.json",
- test_deps = [
- ":budgets_java_grpc",
- ],
- deps = [
- ":budgets_java_proto",
- ],
-)
-
-java_gapic_test(
- name = "budgets_java_gapic_test_suite",
- test_classes = [
- "com.google.cloud.billing.budgets.v1beta1.BudgetServiceClientTest",
- ],
- runtime_deps = [":budgets_java_gapic_test"],
-)
-
-# Open Source Packages
-java_gapic_assembly_gradle_pkg(
- name = "google-cloud-billing-budgets-v1beta1-java",
- include_samples = True,
- deps = [
- ":budgets_java_gapic",
- ":budgets_java_grpc",
- ":budgets_java_proto",
- ":budgets_proto",
- ],
-)
-
-##############################################################################
-# Go
-##############################################################################
-load(
- "@com_google_googleapis_imports//:imports.bzl",
- "go_gapic_assembly_pkg",
- "go_gapic_library",
- "go_proto_library",
- "go_test",
-)
-
-go_proto_library(
- name = "budgets_go_proto",
- compilers = ["@io_bazel_rules_go//proto:go_grpc"],
- importpath = "google.golang.org/genproto/googleapis/cloud/billing/budgets/v1beta1",
- protos = [":budgets_proto"],
- deps = [
- "//google/api:annotations_go_proto",
- "//google/type:date_go_proto",
- "//google/type:money_go_proto",
- ],
-)
-
-go_gapic_library(
- name = "budgets_go_gapic",
- srcs = [":budgets_proto_with_info"],
- grpc_service_config = "billingbudgets_grpc_service_config.json",
- importpath = "cloud.google.com/go/billing/budgets/apiv1beta1;budgets",
- metadata = True,
- service_yaml = "billingbudgets.yaml",
- deps = [
- ":budgets_go_proto",
- ],
-)
-
-go_test(
- name = "budgets_go_gapic_test",
- srcs = [":budgets_go_gapic_srcjar_test"],
- embed = [":budgets_go_gapic"],
- importpath = "cloud.google.com/go/billing/budgets/apiv1beta1",
-)
-
-# Open Source Packages
-go_gapic_assembly_pkg(
- name = "gapi-cloud-billing-budgets-v1beta1-go",
- deps = [
- ":budgets_go_gapic",
- ":budgets_go_gapic_srcjar-metadata.srcjar",
- ":budgets_go_gapic_srcjar-test.srcjar",
- ":budgets_go_proto",
- ],
-)
-
-##############################################################################
-# Python
-##############################################################################
-load(
- "@com_google_googleapis_imports//:imports.bzl",
- "py_gapic_assembly_pkg",
- "py_gapic_library",
- "py_test",
-)
-
-py_gapic_library(
- name = "budgets_py_gapic",
- srcs = [":budgets_proto"],
- grpc_service_config = "billingbudgets_grpc_service_config.json",
- transport = "grpc",
-)
-
-py_test(
- name = "budgets_py_gapic_test",
- srcs = [
- "budgets_py_gapic_pytest.py",
- "budgets_py_gapic_test.py",
- ],
- legacy_create_init = False,
- deps = [":budgets_py_gapic"],
-)
-
-# Open Source Packages
-py_gapic_assembly_pkg(
- name = "billing-budgets-v1beta1-py",
- deps = [
- ":budgets_py_gapic",
- ],
-)
-
-##############################################################################
-# PHP
-##############################################################################
-load(
- "@com_google_googleapis_imports//:imports.bzl",
- "php_gapic_assembly_pkg",
- "php_gapic_library",
- "php_grpc_library",
- "php_proto_library",
-)
-
-php_proto_library(
- name = "budgets_php_proto",
- deps = [":budgets_proto"],
-)
-
-php_grpc_library(
- name = "budgets_php_grpc",
- srcs = [":budgets_proto"],
- deps = [":budgets_php_proto"],
-)
-
-php_gapic_library(
- name = "budgets_php_gapic",
- srcs = [":budgets_proto_with_info"],
- grpc_service_config = "billingbudgets_grpc_service_config.json",
- deps = [
- ":budgets_php_grpc",
- ":budgets_php_proto",
- ],
-)
-
-# Open Source Packages
-php_gapic_assembly_pkg(
- name = "google-cloud-billing-budgets-v1beta1-php",
- deps = [
- ":budgets_php_gapic",
- ":budgets_php_grpc",
- ":budgets_php_proto",
- ],
-)
-
-##############################################################################
-# Node.js
-##############################################################################
-load(
- "@com_google_googleapis_imports//:imports.bzl",
- "nodejs_gapic_assembly_pkg",
- "nodejs_gapic_library",
-)
-
-nodejs_gapic_library(
- name = "budgets_nodejs_gapic",
- package_name = "@google-cloud/billing-budgets",
- src = ":budgets_proto_with_info",
- extra_protoc_parameters = ["metadata"],
- grpc_service_config = "billingbudgets_grpc_service_config.json",
- package = "google.cloud.billing.budgets.v1beta1",
- service_yaml = "billingbudgets.yaml",
- deps = [],
-)
-
-nodejs_gapic_assembly_pkg(
- name = "billing-budgets-v1beta1-nodejs",
- deps = [
- ":budgets_nodejs_gapic",
- ":budgets_proto",
- ],
-)
-
-##############################################################################
-# Ruby
-##############################################################################
-load(
- "@com_google_googleapis_imports//:imports.bzl",
- "ruby_cloud_gapic_library",
- "ruby_gapic_assembly_pkg",
- "ruby_grpc_library",
- "ruby_proto_library",
-)
-
-ruby_proto_library(
- name = "budgets_ruby_proto",
- deps = [":budgets_proto"],
-)
-
-ruby_grpc_library(
- name = "budgets_ruby_grpc",
- srcs = [":budgets_proto"],
- deps = [":budgets_ruby_proto"],
-)
-
-ruby_cloud_gapic_library(
- name = "budgets_ruby_gapic",
- srcs = [":budgets_proto_with_info"],
- extra_protoc_parameters = [
- "ruby-cloud-api-id=billingbudgets.googleapis.com",
- "ruby-cloud-api-shortname=billingbudgets",
- "ruby-cloud-env-prefix=BILLING_BUDGETS",
- "ruby-cloud-gem-name=google-cloud-billing-budgets-v1beta1",
- "ruby-cloud-product-url=https://cloud.google.com/billing/docs/how-to/budget-api-overview",
- ],
- grpc_service_config = "billingbudgets_grpc_service_config.json",
- ruby_cloud_description = "Provides methods to view, create, and manage Cloud Billing budgets programmatically at scale.",
- ruby_cloud_title = "Billing Budgets V1beta1",
- deps = [
- ":budgets_ruby_grpc",
- ":budgets_ruby_proto",
- ],
-)
-
-# Open Source Packages
-ruby_gapic_assembly_pkg(
- name = "google-cloud-billing-budgets-v1beta1-ruby",
- deps = [
- ":budgets_ruby_gapic",
- ":budgets_ruby_grpc",
- ":budgets_ruby_proto",
- ],
-)
-
-##############################################################################
-# C#
-##############################################################################
-load(
- "@com_google_googleapis_imports//:imports.bzl",
- "csharp_gapic_assembly_pkg",
- "csharp_gapic_library",
- "csharp_grpc_library",
- "csharp_proto_library",
-)
-
-csharp_proto_library(
- name = "budgets_csharp_proto",
- deps = [":budgets_proto"],
-)
-
-csharp_grpc_library(
- name = "budgets_csharp_grpc",
- srcs = [":budgets_proto"],
- deps = [":budgets_csharp_proto"],
-)
-
-csharp_gapic_library(
- name = "budgets_csharp_gapic",
- srcs = [":budgets_proto_with_info"],
- common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
- grpc_service_config = "billingbudgets_grpc_service_config.json",
- service_yaml = "billingbudgets.yaml",
- deps = [
- ":budgets_csharp_grpc",
- ":budgets_csharp_proto",
- ],
-)
-
-# Open Source Packages
-csharp_gapic_assembly_pkg(
- name = "google-cloud-billing-budgets-v1beta1-csharp",
- deps = [
- ":budgets_csharp_gapic",
- ":budgets_csharp_grpc",
- ":budgets_csharp_proto",
- ],
-)
-
-##############################################################################
-# C++
-##############################################################################
-# Put your C++ rules here
diff --git a/third_party/googleapis/google/cloud/billing/budgets/v1beta1/billingbudgets.yaml b/third_party/googleapis/google/cloud/billing/budgets/v1beta1/billingbudgets.yaml
deleted file mode 100644
index 851741f..0000000
--- a/third_party/googleapis/google/cloud/billing/budgets/v1beta1/billingbudgets.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
-type: google.api.Service
-config_version: 3
-name: billingbudgets.googleapis.com
-title: Cloud Billing Budget API
-
-apis:
-- name: google.cloud.billing.budgets.v1beta1.BudgetService
-
-documentation:
- summary: |-
- 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.
-
-authentication:
- rules:
- - selector: 'google.cloud.billing.budgets.v1beta1.BudgetService.*'
- oauth:
- canonical_scopes: |-
- https://www.googleapis.com/auth/cloud-billing,
- https://www.googleapis.com/auth/cloud-platform
diff --git a/third_party/googleapis/google/cloud/billing/budgets/v1beta1/billingbudgets_grpc_service_config.json b/third_party/googleapis/google/cloud/billing/budgets/v1beta1/billingbudgets_grpc_service_config.json
deleted file mode 100644
index ced46bf..0000000
--- a/third_party/googleapis/google/cloud/billing/budgets/v1beta1/billingbudgets_grpc_service_config.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "methodConfig": [
- {
- "name": [
- {
- "service": "google.cloud.billing.budgets.v1beta1.BudgetService",
- "method": "CreateBudget"
- }
- ],
- "timeout": "60s"
- },
- {
- "name": [
- {
- "service": "google.cloud.billing.budgets.v1beta1.BudgetService",
- "method": "UpdateBudget"
- },
- {
- "service": "google.cloud.billing.budgets.v1beta1.BudgetService",
- "method": "GetBudget"
- },
- {
- "service": "google.cloud.billing.budgets.v1beta1.BudgetService",
- "method": "ListBudgets"
- },
- {
- "service": "google.cloud.billing.budgets.v1beta1.BudgetService",
- "method": "DeleteBudget"
- }
- ],
- "timeout": "60s",
- "retryPolicy": {
- "maxAttempts": 5,
- "initialBackoff": "0.100s",
- "maxBackoff": "60s",
- "backoffMultiplier": 1.3,
- "retryableStatusCodes": [
- "DEADLINE_EXCEEDED",
- "UNAVAILABLE"
- ]
- }
- }
- ]
-}
diff --git a/third_party/googleapis/google/cloud/billing/budgets/v1beta1/budget_model.proto b/third_party/googleapis/google/cloud/billing/budgets/v1beta1/budget_model.proto
deleted file mode 100644
index c269c81..0000000
--- a/third_party/googleapis/google/cloud/billing/budgets/v1beta1/budget_model.proto
+++ /dev/null
@@ -1,311 +0,0 @@
-// Copyright 2022 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.cloud.billing.budgets.v1beta1;
-
-import "google/api/field_behavior.proto";
-import "google/api/resource.proto";
-import "google/protobuf/struct.proto";
-import "google/type/date.proto";
-import "google/type/money.proto";
-
-option go_package = "google.golang.org/genproto/googleapis/cloud/billing/budgets/v1beta1;budgets";
-option java_multiple_files = true;
-option java_package = "com.google.cloud.billing.budgets.v1beta1";
-
-// 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).
-// The budget time period is configurable, with options such as month (default),
-// quarter, year, or custom time period.
-message Budget {
- option (google.api.resource) = {
- type: "billingbudgets.googleapis.com/Budget"
- pattern: "billingAccounts/{billing_account}/budgets/{budget}"
- };
-
- // 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}`.
- string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
-
- // User data for display name in UI.
- // Validation: <= 60 chars.
- string display_name = 2;
-
- // Optional. Filters that define which resources are used to compute the actual spend
- // against the budget amount, such as projects, services, and the budget's
- // time period, as well as other filters.
- Filter budget_filter = 3 [(google.api.field_behavior) = OPTIONAL];
-
- // Required. Budgeted amount.
- BudgetAmount amount = 4 [(google.api.field_behavior) = REQUIRED];
-
- // Optional. Rules that trigger alerts (notifications of thresholds
- // being crossed) when spend exceeds the specified percentages of the budget.
- //
- // Optional for `pubsubTopic` notifications.
- //
- // Required if using email notifications.
- repeated ThresholdRule threshold_rules = 5 [(google.api.field_behavior) = OPTIONAL];
-
- // Optional. Rules to apply to notifications sent based on budget spend and thresholds.
- AllUpdatesRule all_updates_rule = 6 [(google.api.field_behavior) = OPTIONAL];
-
- // 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.
- string etag = 7 [(google.api.field_behavior) = OPTIONAL];
-}
-
-// The budgeted amount for each usage period.
-message BudgetAmount {
- // Specification for what amount to use as the budget.
- oneof budget_amount {
- // A specified amount to use as the budget.
- // `currency_code` is optional. If specified when creating a budget, it must
- // match the currency of the billing account. If specified when updating a
- // budget, it must match the currency_code of the existing budget.
- // The `currency_code` is provided on output.
- google.type.Money specified_amount = 1;
-
- // Use the last period's actual spend as the budget for the present period.
- // LastPeriodAmount can only be set when the budget's time period is a
- // [Filter.calendar_period][google.cloud.billing.budgets.v1beta1.Filter.calendar_period]. It cannot be set in combination with
- // [Filter.custom_period][google.cloud.billing.budgets.v1beta1.Filter.custom_period].
- LastPeriodAmount last_period_amount = 2;
- }
-}
-
-// Describes a budget amount targeted to the last [Filter.calendar_period][google.cloud.billing.budgets.v1beta1.Filter.calendar_period]
-// spend. At this time, the amount is automatically 100% of the last calendar
-// period's spend; that is, there are no other options yet.
-// Future configuration options will be described here (for example, configuring
-// a percentage of last period's spend).
-// LastPeriodAmount cannot be set for a budget configured with
-// a [Filter.custom_period][google.cloud.billing.budgets.v1beta1.Filter.custom_period].
-message LastPeriodAmount {
-
-}
-
-// ThresholdRule contains the definition of a threshold. Threshold rules define
-// the triggering events used to generate a budget notification email. When a
-// threshold is crossed (spend exceeds the specified percentages of the
-// budget), budget alert emails are sent to the email recipients you specify
-// in the
-// [NotificationsRule](#notificationsrule).
-//
-// Threshold rules also affect the fields included in the
-// [JSON data
-// object](https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#notification_format)
-// sent to a Pub/Sub topic.
-//
-// Threshold rules are _required_ if using email notifications.
-//
-// Threshold rules are _optional_ if only setting a
-// [`pubsubTopic` NotificationsRule](#NotificationsRule),
-// unless you want your JSON data object to include data about the thresholds
-// you set.
-//
-// For more information, see
-// [set budget threshold rules and
-// actions](https://cloud.google.com/billing/docs/how-to/budgets#budget-actions).
-message ThresholdRule {
- // The type of basis used to determine if spend has passed the threshold.
- enum Basis {
- // Unspecified threshold basis.
- BASIS_UNSPECIFIED = 0;
-
- // Use current spend as the basis for comparison against the threshold.
- CURRENT_SPEND = 1;
-
- // Use forecasted spend for the period as the basis for comparison against
- // the threshold.
- // FORECASTED_SPEND can only be set when the budget's time period is a
- // [Filter.calendar_period][google.cloud.billing.budgets.v1beta1.Filter.calendar_period]. It cannot be set in combination with
- // [Filter.custom_period][google.cloud.billing.budgets.v1beta1.Filter.custom_period].
- FORECASTED_SPEND = 2;
- }
-
- // Required. Send an alert when this threshold is exceeded.
- // This is a 1.0-based percentage, so 0.5 = 50%.
- // Validation: non-negative number.
- double threshold_percent = 1 [(google.api.field_behavior) = REQUIRED];
-
- // Optional. The type of basis used to determine if spend has passed the
- // threshold. Behavior defaults to CURRENT_SPEND if not set.
- Basis spend_basis = 2 [(google.api.field_behavior) = OPTIONAL];
-}
-
-// AllUpdatesRule defines notifications that are sent based on budget spend
-// and thresholds.
-message AllUpdatesRule {
- // 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-programmatic-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#permissions_required_for_this_task
- // for more details on Pub/Sub roles and permissions.
- string pubsub_topic = 1 [(google.api.field_behavior) = OPTIONAL];
-
- // Optional. Required when [AllUpdatesRule.pubsub_topic][google.cloud.billing.budgets.v1beta1.AllUpdatesRule.pubsub_topic] is set. The schema version of
- // the notification sent to [AllUpdatesRule.pubsub_topic][google.cloud.billing.budgets.v1beta1.AllUpdatesRule.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.
- string schema_version = 2 [(google.api.field_behavior) = OPTIONAL];
-
- // 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.
- repeated string monitoring_notification_channels = 3 [(google.api.field_behavior) = OPTIONAL];
-
- // 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.
- bool disable_default_iam_recipients = 4 [(google.api.field_behavior) = OPTIONAL];
-}
-
-// A filter for a budget, limiting the scope of the cost to calculate.
-message Filter {
- // Specifies how credits are applied when determining the spend for
- // threshold calculations. Budgets track the total cost minus any applicable
- // selected credits.
- // [See the documentation for a list of credit
- // types](https://cloud.google.com/billing/docs/how-to/export-data-bigquery-tables#credits-type).
- enum CreditTypesTreatment {
- CREDIT_TYPES_TREATMENT_UNSPECIFIED = 0;
-
- // All types of credit are subtracted from the gross cost to determine the
- // spend for threshold calculations.
- INCLUDE_ALL_CREDITS = 1;
-
- // All types of credit are added to the net cost to determine the spend for
- // threshold calculations.
- EXCLUDE_ALL_CREDITS = 2;
-
- // [Credit
- // types](https://cloud.google.com/billing/docs/how-to/export-data-bigquery-tables#credits-type)
- // specified in the credit_types field are subtracted from the
- // gross cost to determine the spend for threshold calculations.
- INCLUDE_SPECIFIED_CREDITS = 3;
- }
-
- // 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.
- repeated string projects = 1 [(google.api.field_behavior) = OPTIONAL];
-
- // Optional. If [Filter.credit_types_treatment][google.cloud.billing.budgets.v1beta1.Filter.credit_types_treatment] is INCLUDE_SPECIFIED_CREDITS, this is
- // a list of credit types to be subtracted from gross cost to determine the
- // spend for threshold calculations. See
- // [a list of acceptable credit type
- // values](https://cloud.google.com/billing/docs/how-to/export-data-bigquery-tables#credits-type).
- //
- // If [Filter.credit_types_treatment][google.cloud.billing.budgets.v1beta1.Filter.credit_types_treatment] is **not** INCLUDE_SPECIFIED_CREDITS,
- // this field must be empty.
- repeated string credit_types = 7 [(google.api.field_behavior) = OPTIONAL];
-
- // Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`.
- CreditTypesTreatment credit_types_treatment = 4 [(google.api.field_behavior) = OPTIONAL];
-
- // 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.
- repeated string services = 3 [(google.api.field_behavior) = OPTIONAL];
-
- // 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.
- repeated string subaccounts = 5 [(google.api.field_behavior) = OPTIONAL];
-
- // Optional. A single label and value pair specifying that usage from only this set of
- // labeled resources should be included in the budget. If omitted, the
- // report will include all labeled and unlabeled usage.
- //
- // An object containing a single `"key": value` pair. Example: `{ "name":
- // "wrench" }`.
- //
- // _Currently, multiple entries or multiple values per entry are not
- // allowed._
- map<string, google.protobuf.ListValue> labels = 6 [(google.api.field_behavior) = OPTIONAL];
-
- // Multiple options to choose the budget's time period, specifying that only
- // usage that occurs during this time period should be included in the budget.
- // If not set, the <code>usage_period</code> defaults to CalendarPeriod.MONTH.
- oneof usage_period {
- // Optional. Specifies to track usage for recurring calendar period.
- // For example, assume that CalendarPeriod.QUARTER is set. The budget will
- // track usage from April 1 to June 30, when the current calendar month is
- // April, May, June. After that, it will track usage from July 1 to
- // September 30 when the current calendar month is July, August, September,
- // so on.
- CalendarPeriod calendar_period = 8 [(google.api.field_behavior) = OPTIONAL];
-
- // Optional. Specifies to track usage from any start date (required) to any end date
- // (optional). This time period is static, it does not recur.
- CustomPeriod custom_period = 9 [(google.api.field_behavior) = OPTIONAL];
- }
-}
-
-// All date times begin at 12 AM US and Canadian Pacific Time (UTC-8).
-message CustomPeriod {
- // Required. The start date must be after January 1, 2017.
- google.type.Date start_date = 1 [(google.api.field_behavior) = REQUIRED];
-
- // Optional. The end date of the time period. Budgets with elapsed end date won't be
- // processed. If unset, specifies to track all usage
- // incurred since the start_date.
- google.type.Date end_date = 2 [(google.api.field_behavior) = OPTIONAL];
-}
-
-// A `CalendarPeriod` represents the abstract concept of a time period that
-// has a canonical start. Grammatically, "the start of the current
-// `CalendarPeriod`". All calendar times begin at 12 AM US and Canadian
-// Pacific Time (UTC-8).
-enum CalendarPeriod {
- // Calendar period is unset. This is the default if the budget is for a
- // custom time period (CustomPeriod).
- CALENDAR_PERIOD_UNSPECIFIED = 0;
-
- // A month. Month starts on the first day of each month, such as January 1,
- // February 1, March 1, and so on.
- MONTH = 1;
-
- // A quarter. Quarters start on dates January 1, April 1, July 1, and October
- // 1 of each year.
- QUARTER = 2;
-
- // A year. Year starts on January 1.
- YEAR = 3;
-}
diff --git a/third_party/googleapis/google/cloud/billing/budgets/v1beta1/budget_service.proto b/third_party/googleapis/google/cloud/billing/budgets/v1beta1/budget_service.proto
deleted file mode 100644
index e38c0aa..0000000
--- a/third_party/googleapis/google/cloud/billing/budgets/v1beta1/budget_service.proto
+++ /dev/null
@@ -1,176 +0,0 @@
-// Copyright 2022 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.cloud.billing.budgets.v1beta1;
-
-import "google/api/annotations.proto";
-import "google/api/client.proto";
-import "google/api/field_behavior.proto";
-import "google/api/resource.proto";
-import "google/cloud/billing/budgets/v1beta1/budget_model.proto";
-import "google/protobuf/empty.proto";
-import "google/protobuf/field_mask.proto";
-
-option go_package = "google.golang.org/genproto/googleapis/cloud/billing/budgets/v1beta1;budgets";
-option java_multiple_files = true;
-option java_package = "com.google.cloud.billing.budgets.v1beta1";
-
-// BudgetService stores Cloud Billing budgets, which define a
-// budget plan and rules to execute as we track spend against that plan.
-service BudgetService {
- option (google.api.default_host) = "billingbudgets.googleapis.com";
- option (google.api.oauth_scopes) =
- "https://www.googleapis.com/auth/cloud-billing,"
- "https://www.googleapis.com/auth/cloud-platform";
-
- // Creates a new budget. See
- // [Quotas and limits](https://cloud.google.com/billing/quotas)
- // for more information on the limits of the number of budgets you can create.
- rpc CreateBudget(CreateBudgetRequest) returns (Budget) {
- option (google.api.http) = {
- post: "/v1beta1/{parent=billingAccounts/*}/budgets"
- body: "*"
- };
- }
-
- // 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.
- rpc UpdateBudget(UpdateBudgetRequest) returns (Budget) {
- option (google.api.http) = {
- patch: "/v1beta1/{budget.name=billingAccounts/*/budgets/*}"
- body: "*"
- };
- }
-
- // 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.
- rpc GetBudget(GetBudgetRequest) returns (Budget) {
- option (google.api.http) = {
- get: "/v1beta1/{name=billingAccounts/*/budgets/*}"
- };
- }
-
- // 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.
- rpc ListBudgets(ListBudgetsRequest) returns (ListBudgetsResponse) {
- option (google.api.http) = {
- get: "/v1beta1/{parent=billingAccounts/*}/budgets"
- };
- }
-
- // Deletes a budget. Returns successfully if already deleted.
- rpc DeleteBudget(DeleteBudgetRequest) returns (google.protobuf.Empty) {
- option (google.api.http) = {
- delete: "/v1beta1/{name=billingAccounts/*/budgets/*}"
- };
- }
-}
-
-// Request for CreateBudget
-message CreateBudgetRequest {
- // Required. The name of the billing account to create the budget in. Values
- // are of the form `billingAccounts/{billingAccountId}`.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "billingbudgets.googleapis.com/Budget"
- }
- ];
-
- // Required. Budget to create.
- Budget budget = 2 [(google.api.field_behavior) = REQUIRED];
-}
-
-// Request for UpdateBudget
-message UpdateBudgetRequest {
- // Required. The updated budget object.
- // The budget to update is specified by the budget name in the budget.
- Budget budget = 1 [(google.api.field_behavior) = REQUIRED];
-
- // 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.
- google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = OPTIONAL];
-}
-
-// Request for GetBudget
-message GetBudgetRequest {
- // Required. Name of budget to get. Values are of the form
- // `billingAccounts/{billingAccountId}/budgets/{budgetId}`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "billingbudgets.googleapis.com/Budget"
- }
- ];
-}
-
-// Request for ListBudgets
-message ListBudgetsRequest {
- // Required. Name of billing account to list budgets under. Values
- // are of the form `billingAccounts/{billingAccountId}`.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "billingbudgets.googleapis.com/Budget"
- }
- ];
-
- // Optional. The maximum number of budgets to return per page.
- // The default and maximum value are 100.
- int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
-
- // 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.
- string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
-}
-
-// Response for ListBudgets
-message ListBudgetsResponse {
- // List of the budgets owned by the requested billing account.
- repeated Budget budgets = 1;
-
- // If not empty, indicates that there may be more budgets that match the
- // request; this value should be passed in a new `ListBudgetsRequest`.
- string next_page_token = 2;
-}
-
-// Request for DeleteBudget
-message DeleteBudgetRequest {
- // Required. Name of the budget to delete. Values are of the form
- // `billingAccounts/{billingAccountId}/budgets/{budgetId}`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "billingbudgets.googleapis.com/Budget"
- }
- ];
-}
diff --git a/third_party/googleapis/google/cloud/billing/v1/BUILD.bazel b/third_party/googleapis/google/cloud/billing/v1/BUILD.bazel
deleted file mode 100644
index 027152b..0000000
--- a/third_party/googleapis/google/cloud/billing/v1/BUILD.bazel
+++ /dev/null
@@ -1,376 +0,0 @@
-# This file was automatically generated by BuildFileGenerator
-
-# This is an API workspace, having public visibility by default makes perfect sense.
-package(default_visibility = ["//visibility:public"])
-
-##############################################################################
-# Common
-##############################################################################
-load("@rules_proto//proto:defs.bzl", "proto_library")
-load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
-
-proto_library(
- name = "billing_proto",
- srcs = [
- "cloud_billing.proto",
- "cloud_catalog.proto",
- ],
- deps = [
- "//google/api:annotations_proto",
- "//google/api:client_proto",
- "//google/api:field_behavior_proto",
- "//google/api:resource_proto",
- "//google/iam/v1:iam_policy_proto",
- "//google/iam/v1:policy_proto",
- "//google/type:money_proto",
- "@com_google_protobuf//:field_mask_proto",
- "@com_google_protobuf//:timestamp_proto",
- ],
-)
-
-proto_library_with_info(
- name = "billing_proto_with_info",
- deps = [
- ":billing_proto",
- "//google/cloud:common_resources_proto",
- ],
-)
-
-##############################################################################
-# Java
-##############################################################################
-load(
- "@com_google_googleapis_imports//:imports.bzl",
- "java_gapic_assembly_gradle_pkg",
- "java_gapic_library",
- "java_gapic_test",
- "java_grpc_library",
- "java_proto_library",
-)
-
-java_proto_library(
- name = "billing_java_proto",
- deps = [":billing_proto"],
-)
-
-java_grpc_library(
- name = "billing_java_grpc",
- srcs = [":billing_proto"],
- deps = [":billing_java_proto"],
-)
-
-java_gapic_library(
- name = "billing_java_gapic",
- srcs = [":billing_proto_with_info"],
- grpc_service_config = "cloud_billing_grpc_service_config.json",
- test_deps = [
- ":billing_java_grpc",
- "//google/iam/v1:iam_java_grpc",
- ],
- transport = "grpc+rest",
- deps = [
- ":billing_java_proto",
- "//google/iam/v1:iam_java_proto",
- ],
-)
-
-java_gapic_test(
- name = "billing_java_gapic_test_suite",
- test_classes = [
- "com.google.cloud.billing.v1.CloudBillingClientHttpJsonTest",
- "com.google.cloud.billing.v1.CloudBillingClientTest",
- "com.google.cloud.billing.v1.CloudCatalogClientHttpJsonTest",
- "com.google.cloud.billing.v1.CloudCatalogClientTest",
- ],
- runtime_deps = [":billing_java_gapic_test"],
-)
-
-# Open Source Packages
-java_gapic_assembly_gradle_pkg(
- name = "google-cloud-billing-v1-java",
- include_samples = True,
- transport = "grpc+rest",
- deps = [
- ":billing_java_gapic",
- ":billing_java_grpc",
- ":billing_java_proto",
- ":billing_proto",
- ],
-)
-
-##############################################################################
-# Go
-##############################################################################
-load(
- "@com_google_googleapis_imports//:imports.bzl",
- "go_gapic_assembly_pkg",
- "go_gapic_library",
- "go_proto_library",
- "go_test",
-)
-
-go_proto_library(
- name = "billing_go_proto",
- compilers = ["@io_bazel_rules_go//proto:go_grpc"],
- importpath = "google.golang.org/genproto/googleapis/cloud/billing/v1",
- protos = [":billing_proto"],
- deps = [
- "//google/api:annotations_go_proto",
- "//google/iam/v1:iam_go_proto",
- "//google/type:money_go_proto",
- ],
-)
-
-go_gapic_library(
- name = "billing_go_gapic",
- srcs = [":billing_proto_with_info"],
- grpc_service_config = "cloud_billing_grpc_service_config.json",
- importpath = "cloud.google.com/go/billing/apiv1;billing",
- service_yaml = "cloudbilling.yaml",
- transport = "grpc+rest",
- deps = [
- ":billing_go_proto",
- "//google/iam/v1:iam_go_proto",
- ],
-)
-
-go_test(
- name = "billing_go_gapic_test",
- srcs = [":billing_go_gapic_srcjar_test"],
- embed = [":billing_go_gapic"],
- importpath = "cloud.google.com/go/billing/apiv1",
-)
-
-# Open Source Packages
-go_gapic_assembly_pkg(
- name = "gapi-cloud-billing-v1-go",
- deps = [
- ":billing_go_gapic",
- ":billing_go_gapic_srcjar-test.srcjar",
- ":billing_go_proto",
- ],
-)
-
-##############################################################################
-# Python
-##############################################################################
-load(
- "@com_google_googleapis_imports//:imports.bzl",
- "py_gapic_assembly_pkg",
- "py_gapic_library",
- "py_test",
-)
-
-py_gapic_library(
- name = "billing_py_gapic",
- srcs = [":billing_proto"],
- grpc_service_config = "cloud_billing_grpc_service_config.json",
- transport = "grpc",
- deps = [
- "//google/iam/v1:iam_policy_py_proto",
- ],
-)
-
-py_test(
- name = "billing_py_gapic_test",
- srcs = [
- "billing_py_gapic_pytest.py",
- "billing_py_gapic_test.py",
- ],
- legacy_create_init = False,
- deps = [":billing_py_gapic"],
-)
-
-# Open Source Packages
-py_gapic_assembly_pkg(
- name = "billing-v1-py",
- deps = [
- ":billing_py_gapic",
- ],
-)
-
-##############################################################################
-# PHP
-##############################################################################
-load(
- "@com_google_googleapis_imports//:imports.bzl",
- "php_gapic_assembly_pkg",
- "php_gapic_library",
- "php_grpc_library",
- "php_proto_library",
-)
-
-php_proto_library(
- name = "billing_php_proto",
- deps = [":billing_proto"],
-)
-
-php_grpc_library(
- name = "billing_php_grpc",
- srcs = [":billing_proto"],
- deps = [":billing_php_proto"],
-)
-
-php_gapic_library(
- name = "billing_php_gapic",
- srcs = [":billing_proto_with_info"],
- grpc_service_config = "cloud_billing_grpc_service_config.json",
- deps = [
- ":billing_php_grpc",
- ":billing_php_proto",
- ],
-)
-
-# Open Source Packages
-php_gapic_assembly_pkg(
- name = "google-cloud-billing-v1-php",
- deps = [
- ":billing_php_gapic",
- ":billing_php_grpc",
- ":billing_php_proto",
- ],
-)
-
-##############################################################################
-# Node.js
-##############################################################################
-load(
- "@com_google_googleapis_imports//:imports.bzl",
- "nodejs_gapic_assembly_pkg",
- "nodejs_gapic_library",
-)
-
-nodejs_gapic_library(
- name = "billing_nodejs_gapic",
- package_name = "@google-cloud/billing",
- src = ":billing_proto_with_info",
- extra_protoc_parameters = ["metadata"],
- grpc_service_config = "cloud_billing_grpc_service_config.json",
- package = "google.cloud.billing.v1",
- service_yaml = "cloudbilling.yaml",
- deps = [],
-)
-
-nodejs_gapic_assembly_pkg(
- name = "billing-v1-nodejs",
- deps = [
- ":billing_nodejs_gapic",
- ":billing_proto",
- ],
-)
-
-##############################################################################
-# Ruby
-##############################################################################
-load(
- "@com_google_googleapis_imports//:imports.bzl",
- "ruby_cloud_gapic_library",
- "ruby_gapic_assembly_pkg",
- "ruby_grpc_library",
- "ruby_proto_library",
-)
-
-ruby_proto_library(
- name = "billing_ruby_proto",
- deps = [":billing_proto"],
-)
-
-ruby_grpc_library(
- name = "billing_ruby_grpc",
- srcs = [":billing_proto"],
- deps = [":billing_ruby_proto"],
-)
-
-ruby_cloud_gapic_library(
- name = "billing_ruby_gapic",
- srcs = [":billing_proto_with_info"],
- extra_protoc_parameters = [
- "ruby-cloud-gem-name=google-cloud-billing-v1",
- "ruby-cloud-env-prefix=BILLING",
- "ruby-cloud-product-url=https://cloud.google.com/billing",
- "ruby-cloud-api-id=cloudbilling.googleapis.com",
- "ruby-cloud-api-shortname=cloudbilling",
- ],
- grpc_service_config = "cloud_billing_grpc_service_config.json",
- ruby_cloud_description = "Allows developers to manage billing for their Google Cloud Platform projects programmatically.",
- ruby_cloud_title = "Billing V1",
- deps = [
- ":billing_ruby_grpc",
- ":billing_ruby_proto",
- ],
-)
-
-# Open Source Packages
-ruby_gapic_assembly_pkg(
- name = "google-cloud-billing-v1-ruby",
- deps = [
- ":billing_ruby_gapic",
- ":billing_ruby_grpc",
- ":billing_ruby_proto",
- ],
-)
-
-##############################################################################
-# C#
-##############################################################################
-load(
- "@com_google_googleapis_imports//:imports.bzl",
- "csharp_gapic_assembly_pkg",
- "csharp_gapic_library",
- "csharp_grpc_library",
- "csharp_proto_library",
-)
-
-csharp_proto_library(
- name = "billing_csharp_proto",
- deps = [":billing_proto"],
-)
-
-csharp_grpc_library(
- name = "billing_csharp_grpc",
- srcs = [":billing_proto"],
- deps = [":billing_csharp_proto"],
-)
-
-csharp_gapic_library(
- name = "billing_csharp_gapic",
- srcs = [":billing_proto_with_info"],
- common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
- grpc_service_config = "cloud_billing_grpc_service_config.json",
- service_yaml = "cloudbilling.yaml",
- deps = [
- ":billing_csharp_grpc",
- ":billing_csharp_proto",
- ],
-)
-
-# Open Source Packages
-csharp_gapic_assembly_pkg(
- name = "google-cloud-billing-v1-csharp",
- deps = [
- ":billing_csharp_gapic",
- ":billing_csharp_grpc",
- ":billing_csharp_proto",
- ],
-)
-
-##############################################################################
-# C++
-##############################################################################
-load(
- "@com_google_googleapis_imports//:imports.bzl",
- "cc_grpc_library",
- "cc_proto_library",
-)
-
-cc_proto_library(
- name = "billing_cc_proto",
- deps = [":billing_proto"],
-)
-
-cc_grpc_library(
- name = "billing_cc_grpc",
- srcs = [":billing_proto"],
- grpc_only = True,
- deps = [":billing_cc_proto"],
-)
diff --git a/third_party/googleapis/google/cloud/billing/v1/cloud_billing.proto b/third_party/googleapis/google/cloud/billing/v1/cloud_billing.proto
deleted file mode 100644
index f0b19d1..0000000
--- a/third_party/googleapis/google/cloud/billing/v1/cloud_billing.proto
+++ /dev/null
@@ -1,360 +0,0 @@
-// Copyright 2019 Google LLC.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-syntax = "proto3";
-
-package google.cloud.billing.v1;
-
-import "google/api/annotations.proto";
-import "google/api/client.proto";
-import "google/api/field_behavior.proto";
-import "google/api/resource.proto";
-import "google/iam/v1/iam_policy.proto";
-import "google/iam/v1/policy.proto";
-import "google/protobuf/field_mask.proto";
-
-option go_package = "google.golang.org/genproto/googleapis/cloud/billing/v1;billing";
-option java_multiple_files = true;
-option java_outer_classname = "CloudBillingProto";
-option java_package = "com.google.cloud.billing.v1";
-
-// Retrieves GCP Console billing accounts and associates them with projects.
-service CloudBilling {
- option (google.api.default_host) = "cloudbilling.googleapis.com";
- option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
-
- // Gets information about a billing account. The current authenticated user
- // must be a [viewer of the billing
- // account](https://cloud.google.com/billing/docs/how-to/billing-access).
- rpc GetBillingAccount(GetBillingAccountRequest) returns (BillingAccount) {
- option (google.api.http) = {
- get: "/v1/{name=billingAccounts/*}"
- };
- option (google.api.method_signature) = "name";
- }
-
- // Lists the billing accounts that the current authenticated user has
- // permission to
- // [view](https://cloud.google.com/billing/docs/how-to/billing-access).
- rpc ListBillingAccounts(ListBillingAccountsRequest) returns (ListBillingAccountsResponse) {
- option (google.api.http) = {
- get: "/v1/billingAccounts"
- };
- option (google.api.method_signature) = "";
- }
-
- // Updates a billing account's fields.
- // Currently the only field that can be edited is `display_name`.
- // The current authenticated user must have the `billing.accounts.update`
- // IAM permission, which is typically given to the
- // [administrator](https://cloud.google.com/billing/docs/how-to/billing-access)
- // of the billing account.
- rpc UpdateBillingAccount(UpdateBillingAccountRequest) returns (BillingAccount) {
- option (google.api.http) = {
- patch: "/v1/{name=billingAccounts/*}"
- body: "account"
- };
- option (google.api.method_signature) = "name,account";
- }
-
- // Creates a billing account.
- // This method can only be used to create
- // [billing subaccounts](https://cloud.google.com/billing/docs/concepts)
- // by GCP resellers.
- // When creating a subaccount, the current authenticated user must have the
- // `billing.accounts.update` IAM permission on the master account, which is
- // typically given to billing account
- // [administrators](https://cloud.google.com/billing/docs/how-to/billing-access).
- // This method will return an error if the master account has not been
- // provisioned as a reseller account.
- rpc CreateBillingAccount(CreateBillingAccountRequest) returns (BillingAccount) {
- option (google.api.http) = {
- post: "/v1/billingAccounts"
- body: "billing_account"
- };
- option (google.api.method_signature) = "billing_account";
- }
-
- // Lists the projects associated with a billing account. The current
- // authenticated user must have the `billing.resourceAssociations.list` IAM
- // permission, which is often given to billing account
- // [viewers](https://cloud.google.com/billing/docs/how-to/billing-access).
- rpc ListProjectBillingInfo(ListProjectBillingInfoRequest) returns (ListProjectBillingInfoResponse) {
- option (google.api.http) = {
- get: "/v1/{name=billingAccounts/*}/projects"
- };
- option (google.api.method_signature) = "name";
- }
-
- // Gets the billing information for a project. The current authenticated user
- // must have [permission to view the
- // project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo
- // ).
- rpc GetProjectBillingInfo(GetProjectBillingInfoRequest) returns (ProjectBillingInfo) {
- option (google.api.http) = {
- get: "/v1/{name=projects/*}/billingInfo"
- };
- option (google.api.method_signature) = "name";
- }
-
- // Sets or updates the billing account associated with a project. You specify
- // the new billing account by setting the `billing_account_name` in the
- // `ProjectBillingInfo` resource to the resource name of a billing account.
- // Associating a project with an open billing account enables billing on the
- // project and allows charges for resource usage. If the project already had a
- // billing account, this method changes the billing account used for resource
- // usage charges.
- //
- // *Note:* Incurred charges that have not yet been reported in the transaction
- // history of the GCP Console might be billed to the new billing
- // account, even if the charge occurred before the new billing account was
- // assigned to the project.
- //
- // The current authenticated user must have ownership privileges for both the
- // [project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo
- // ) and the [billing
- // account](https://cloud.google.com/billing/docs/how-to/billing-access).
- //
- // You can disable billing on the project by setting the
- // `billing_account_name` field to empty. This action disassociates the
- // current billing account from the project. Any billable activity of your
- // in-use services will stop, and your application could stop functioning as
- // expected. Any unbilled charges to date will be billed to the previously
- // associated account. The current authenticated user must be either an owner
- // of the project or an owner of the billing account for the project.
- //
- // Note that associating a project with a *closed* billing account will have
- // much the same effect as disabling billing on the project: any paid
- // resources used by the project will be shut down. Thus, unless you wish to
- // disable billing, you should always call this method with the name of an
- // *open* billing account.
- rpc UpdateProjectBillingInfo(UpdateProjectBillingInfoRequest) returns (ProjectBillingInfo) {
- option (google.api.http) = {
- put: "/v1/{name=projects/*}/billingInfo"
- body: "project_billing_info"
- };
- option (google.api.method_signature) = "name,project_billing_info";
- }
-
- // Gets the access control policy for a billing account.
- // The caller must have the `billing.accounts.getIamPolicy` permission on the
- // account, which is often given to billing account
- // [viewers](https://cloud.google.com/billing/docs/how-to/billing-access).
- rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) returns (google.iam.v1.Policy) {
- option (google.api.http) = {
- get: "/v1/{resource=billingAccounts/*}:getIamPolicy"
- };
- option (google.api.method_signature) = "resource";
- }
-
- // Sets the access control policy for a billing account. Replaces any existing
- // policy.
- // The caller must have the `billing.accounts.setIamPolicy` permission on the
- // account, which is often given to billing account
- // [administrators](https://cloud.google.com/billing/docs/how-to/billing-access).
- rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) returns (google.iam.v1.Policy) {
- option (google.api.http) = {
- post: "/v1/{resource=billingAccounts/*}:setIamPolicy"
- body: "*"
- };
- option (google.api.method_signature) = "resource,policy";
- }
-
- // Tests the access control policy for a billing account. This method takes
- // the resource and a set of permissions as input and returns the subset of
- // the input permissions that the caller is allowed for that resource.
- rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) returns (google.iam.v1.TestIamPermissionsResponse) {
- option (google.api.http) = {
- post: "/v1/{resource=billingAccounts/*}:testIamPermissions"
- body: "*"
- };
- option (google.api.method_signature) = "resource,permissions";
- }
-}
-
-// A billing account in [GCP Console](https://console.cloud.google.com/).
-// You can assign a billing account to one or more projects.
-message BillingAccount {
- // The resource name of the billing account. The resource name has the form
- // `billingAccounts/{billing_account_id}`. For example,
- // `billingAccounts/012345-567890-ABCDEF` would be the resource name for
- // billing account `012345-567890-ABCDEF`.
- string name = 1 [(google.api.resource_reference) = {
- type: "cloudbilling.googleapis.com/BillingAccount"
- }];
-
- // Output only. True if the billing account is open, and will therefore be charged for any
- // usage on associated projects. False if the billing account is closed, and
- // therefore projects associated with it will be unable to use paid services.
- bool open = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
-
- // The display name given to the billing account, such as `My Billing
- // Account`. This name is displayed in the GCP Console.
- string display_name = 3;
-
- // If this account is a
- // [subaccount](https://cloud.google.com/billing/docs/concepts), then this
- // will be the resource name of the master billing account that it is being
- // resold through.
- // Otherwise this will be empty.
- string master_billing_account = 4;
-}
-
-// Encapsulation of billing information for a GCP Console project. A project
-// has at most one associated billing account at a time (but a billing account
-// can be assigned to multiple projects).
-message ProjectBillingInfo {
- // The resource name for the `ProjectBillingInfo`; has the form
- // `projects/{project_id}/billingInfo`. For example, the resource name for the
- // billing information for project `tokyo-rain-123` would be
- // `projects/tokyo-rain-123/billingInfo`. This field is read-only.
- string name = 1;
-
- // The ID of the project that this `ProjectBillingInfo` represents, such as
- // `tokyo-rain-123`. This is a convenience field so that you don't need to
- // parse the `name` field to obtain a project ID. This field is read-only.
- string project_id = 2;
-
- // The resource name of the billing account associated with the project, if
- // any. For example, `billingAccounts/012345-567890-ABCDEF`.
- string billing_account_name = 3;
-
- // True if the project is associated with an open billing account, to which
- // usage on the project is charged. False if the project is associated with a
- // closed billing account, or no billing account at all, and therefore cannot
- // use paid services. This field is read-only.
- bool billing_enabled = 4;
-}
-
-// Request message for `GetBillingAccount`.
-message GetBillingAccountRequest {
- // Required. The resource name of the billing account to retrieve. For example,
- // `billingAccounts/012345-567890-ABCDEF`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "cloudbilling.googleapis.com/BillingAccount"
- }
- ];
-}
-
-// Request message for `ListBillingAccounts`.
-message ListBillingAccountsRequest {
- // Requested page size. The maximum page size is 100; this is also the
- // default.
- int32 page_size = 1;
-
- // A token identifying a page of results to return. This should be a
- // `next_page_token` value returned from a previous `ListBillingAccounts`
- // call. If unspecified, the first page of results is returned.
- string page_token = 2;
-
- // Options for how to filter the returned billing accounts.
- // Currently this only supports filtering for
- // [subaccounts](https://cloud.google.com/billing/docs/concepts) under a
- // single provided reseller billing account.
- // (e.g. "master_billing_account=billingAccounts/012345-678901-ABCDEF").
- // Boolean algebra and other fields are not currently supported.
- string filter = 3;
-}
-
-// Response message for `ListBillingAccounts`.
-message ListBillingAccountsResponse {
- // A list of billing accounts.
- repeated BillingAccount billing_accounts = 1;
-
- // A token to retrieve the next page of results. To retrieve the next page,
- // call `ListBillingAccounts` again with the `page_token` field set to this
- // value. This field is empty if there are no more results to retrieve.
- string next_page_token = 2;
-}
-
-// Request message for `CreateBillingAccount`.
-message CreateBillingAccountRequest {
- // Required. The billing account resource to create.
- // Currently CreateBillingAccount only supports subaccount creation, so
- // any created billing accounts must be under a provided master billing
- // account.
- BillingAccount billing_account = 1 [(google.api.field_behavior) = REQUIRED];
-}
-
-// Request message for `UpdateBillingAccount`.
-message UpdateBillingAccountRequest {
- // Required. The name of the billing account resource to be updated.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "cloudbilling.googleapis.com/BillingAccount"
- }
- ];
-
- // Required. The billing account resource to replace the resource on the server.
- BillingAccount account = 2 [(google.api.field_behavior) = REQUIRED];
-
- // The update mask applied to the resource.
- // Only "display_name" is currently supported.
- google.protobuf.FieldMask update_mask = 3;
-}
-
-// Request message for `ListProjectBillingInfo`.
-message ListProjectBillingInfoRequest {
- // Required. The resource name of the billing account associated with the projects that
- // you want to list. For example, `billingAccounts/012345-567890-ABCDEF`.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "cloudbilling.googleapis.com/BillingAccount"
- }
- ];
-
- // Requested page size. The maximum page size is 100; this is also the
- // default.
- int32 page_size = 2;
-
- // A token identifying a page of results to be returned. This should be a
- // `next_page_token` value returned from a previous `ListProjectBillingInfo`
- // call. If unspecified, the first page of results is returned.
- string page_token = 3;
-}
-
-// Request message for `ListProjectBillingInfoResponse`.
-message ListProjectBillingInfoResponse {
- // A list of `ProjectBillingInfo` resources representing the projects
- // associated with the billing account.
- repeated ProjectBillingInfo project_billing_info = 1;
-
- // A token to retrieve the next page of results. To retrieve the next page,
- // call `ListProjectBillingInfo` again with the `page_token` field set to this
- // value. This field is empty if there are no more results to retrieve.
- string next_page_token = 2;
-}
-
-// Request message for `GetProjectBillingInfo`.
-message GetProjectBillingInfoRequest {
- // Required. The resource name of the project for which billing information is
- // retrieved. For example, `projects/tokyo-rain-123`.
- string name = 1 [(google.api.field_behavior) = REQUIRED];
-}
-
-// Request message for `UpdateProjectBillingInfo`.
-message UpdateProjectBillingInfoRequest {
- // Required. The resource name of the project associated with the billing information
- // that you want to update. For example, `projects/tokyo-rain-123`.
- string name = 1 [(google.api.field_behavior) = REQUIRED];
-
- // The new billing information for the project. Read-only fields are ignored;
- // thus, you can leave empty all fields except `billing_account_name`.
- ProjectBillingInfo project_billing_info = 2;
-}
diff --git a/third_party/googleapis/google/cloud/billing/v1/cloud_billing_grpc_service_config.json b/third_party/googleapis/google/cloud/billing/v1/cloud_billing_grpc_service_config.json
deleted file mode 100644
index b39f330..0000000
--- a/third_party/googleapis/google/cloud/billing/v1/cloud_billing_grpc_service_config.json
+++ /dev/null
@@ -1,77 +0,0 @@
-{
- "methodConfig": [
- {
- "name": [
- {
- "service": "google.cloud.billing.v1.CloudBilling",
- "method": "CreateBillingAccount"
- }
- ],
- "timeout": "60s"
- },
- {
- "name": [
- {
- "service": "google.cloud.billing.v1.CloudBilling",
- "method": "GetBillingAccount"
- },
- {
- "service": "google.cloud.billing.v1.CloudBilling",
- "method": "ListBillingAccounts"
- },
- {
- "service": "google.cloud.billing.v1.CloudBilling",
- "method": "UpdateBillingAccount"
- },
- {
- "service": "google.cloud.billing.v1.CloudBilling",
- "method": "ListProjectBillingInfo"
- },
- {
- "service": "google.cloud.billing.v1.CloudBilling",
- "method": "GetProjectBillingInfo"
- },
- {
- "service": "google.cloud.billing.v1.CloudBilling",
- "method": "UpdateProjectBillingInfo"
- },
- {
- "service": "google.cloud.billing.v1.CloudBilling",
- "method": "GetIamPolicy"
- },
- {
- "service": "google.cloud.billing.v1.CloudBilling",
- "method": "SetIamPolicy"
- },
- {
- "service": "google.cloud.billing.v1.CloudBilling",
- "method": "TestIamPermissions"
- }
- ],
- "timeout": "60s",
- "retryPolicy": {
- "maxAttempts": 5,
- "initialBackoff": "0.100s",
- "maxBackoff": "60s",
- "backoffMultiplier": 1.3,
- "retryableStatusCodes": [
- "DEADLINE_EXCEEDED",
- "UNAVAILABLE"
- ]
- }
- },
- {
- "name": [
- {
- "service": "google.cloud.billing.v1.CloudCatalog",
- "method": "ListServices"
- },
- {
- "service": "google.cloud.billing.v1.CloudCatalog",
- "method": "ListSkus"
- }
- ],
- "timeout": "60s"
- }
- ]
-}
diff --git a/third_party/googleapis/google/cloud/billing/v1/cloud_catalog.proto b/third_party/googleapis/google/cloud/billing/v1/cloud_catalog.proto
deleted file mode 100644
index 7bc2f14..0000000
--- a/third_party/googleapis/google/cloud/billing/v1/cloud_catalog.proto
+++ /dev/null
@@ -1,331 +0,0 @@
-// Copyright 2019 Google LLC.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-syntax = "proto3";
-
-package google.cloud.billing.v1;
-
-import "google/api/annotations.proto";
-import "google/api/client.proto";
-import "google/api/field_behavior.proto";
-import "google/api/resource.proto";
-import "google/protobuf/timestamp.proto";
-import "google/type/money.proto";
-
-option csharp_namespace = "Google.Cloud.Billing.V1";
-option go_package = "google.golang.org/genproto/googleapis/cloud/billing/v1;billing";
-option java_multiple_files = true;
-option java_outer_classname = "CloudCatalogProto";
-option java_package = "com.google.cloud.billing.v1";
-option objc_class_prefix = "CLDCTLG";
-
-// A catalog of Google Cloud Platform services and SKUs.
-// Provides pricing information and metadata on Google Cloud Platform services
-// and SKUs.
-service CloudCatalog {
- option (google.api.default_host) = "cloudbilling.googleapis.com";
- option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
-
- // Lists all public cloud services.
- rpc ListServices(ListServicesRequest) returns (ListServicesResponse) {
- option (google.api.http) = {
- get: "/v1/services"
- };
- option (google.api.method_signature) = "";
- }
-
- // Lists all publicly available SKUs for a given cloud service.
- rpc ListSkus(ListSkusRequest) returns (ListSkusResponse) {
- option (google.api.http) = {
- get: "/v1/{parent=services/*}/skus"
- };
- option (google.api.method_signature) = "parent";
- }
-}
-
-// Encapsulates a single service in Google Cloud Platform.
-message Service {
- option (google.api.resource) = {
- type: "cloudbilling.googleapis.com/Service"
- pattern: "services/{service}"
- };
-
- // The resource name for the service.
- // Example: "services/DA34-426B-A397"
- string name = 1;
-
- // The identifier for the service.
- // Example: "DA34-426B-A397"
- string service_id = 2;
-
- // A human readable display name for this service.
- string display_name = 3;
-
- // The business under which the service is offered.
- // Ex. "businessEntities/GCP", "businessEntities/Maps"
- string business_entity_name = 4;
-}
-
-// Encapsulates a single SKU in Google Cloud Platform
-message Sku {
- option (google.api.resource) = {
- type: "cloudbilling.googleapis.com/Sku"
- pattern: "services/{service}/skus/{sku}"
- };
-
- // The resource name for the SKU.
- // Example: "services/DA34-426B-A397/skus/AA95-CD31-42FE"
- string name = 1;
-
- // The identifier for the SKU.
- // Example: "AA95-CD31-42FE"
- string sku_id = 2;
-
- // A human readable description of the SKU, has a maximum length of 256
- // characters.
- string description = 3;
-
- // The category hierarchy of this SKU, purely for organizational purpose.
- Category category = 4;
-
- // List of service regions this SKU is offered at.
- // Example: "asia-east1"
- // Service regions can be found at https://cloud.google.com/about/locations/
- repeated string service_regions = 5;
-
- // A timeline of pricing info for this SKU in chronological order.
- repeated PricingInfo pricing_info = 6;
-
- // Identifies the service provider.
- // This is 'Google' for first party services in Google Cloud Platform.
- string service_provider_name = 7;
-}
-
-// Represents the category hierarchy of a SKU.
-message Category {
- // The display name of the service this SKU belongs to.
- string service_display_name = 1;
-
- // The type of product the SKU refers to.
- // Example: "Compute", "Storage", "Network", "ApplicationServices" etc.
- string resource_family = 2;
-
- // A group classification for related SKUs.
- // Example: "RAM", "GPU", "Prediction", "Ops", "GoogleEgress" etc.
- string resource_group = 3;
-
- // Represents how the SKU is consumed.
- // Example: "OnDemand", "Preemptible", "Commit1Mo", "Commit1Yr" etc.
- string usage_type = 4;
-}
-
-// Represents the pricing information for a SKU at a single point of time.
-message PricingInfo {
- // The timestamp from which this pricing was effective within the requested
- // time range. This is guaranteed to be greater than or equal to the
- // start_time field in the request and less than the end_time field in the
- // request. If a time range was not specified in the request this field will
- // be equivalent to a time within the last 12 hours, indicating the latest
- // pricing info.
- google.protobuf.Timestamp effective_time = 1;
-
- // An optional human readable summary of the pricing information, has a
- // maximum length of 256 characters.
- string summary = 2;
-
- // Expresses the pricing formula. See `PricingExpression` for an example.
- PricingExpression pricing_expression = 3;
-
- // Aggregation Info. This can be left unspecified if the pricing expression
- // doesn't require aggregation.
- AggregationInfo aggregation_info = 4;
-
- // Conversion rate used for currency conversion, from USD to the currency
- // specified in the request. This includes any surcharge collected for billing
- // in non USD currency. If a currency is not specified in the request this
- // defaults to 1.0.
- // Example: USD * currency_conversion_rate = JPY
- double currency_conversion_rate = 5;
-}
-
-// Expresses a mathematical pricing formula. For Example:-
-//
-// `usage_unit: GBy`
-// `tiered_rates:`
-// `[start_usage_amount: 20, unit_price: $10]`
-// `[start_usage_amount: 100, unit_price: $5]`
-//
-// The above expresses a pricing formula where the first 20GB is free, the
-// next 80GB is priced at $10 per GB followed by $5 per GB for additional
-// usage.
-message PricingExpression {
- // The price rate indicating starting usage and its corresponding price.
- message TierRate {
- // Usage is priced at this rate only after this amount.
- // Example: start_usage_amount of 10 indicates that the usage will be priced
- // at the unit_price after the first 10 usage_units.
- double start_usage_amount = 1;
-
- // The price per unit of usage.
- // Example: unit_price of amount $10 indicates that each unit will cost $10.
- google.type.Money unit_price = 2;
- }
-
- // The short hand for unit of usage this pricing is specified in.
- // Example: usage_unit of "GiBy" means that usage is specified in "Gibi Byte".
- string usage_unit = 1;
-
- // The unit of usage in human readable form.
- // Example: "gibi byte".
- string usage_unit_description = 4;
-
- // The base unit for the SKU which is the unit used in usage exports.
- // Example: "By"
- string base_unit = 5;
-
- // The base unit in human readable form.
- // Example: "byte".
- string base_unit_description = 6;
-
- // Conversion factor for converting from price per usage_unit to price per
- // base_unit, and start_usage_amount to start_usage_amount in base_unit.
- // unit_price / base_unit_conversion_factor = price per base_unit.
- // start_usage_amount * base_unit_conversion_factor = start_usage_amount in
- // base_unit.
- double base_unit_conversion_factor = 7;
-
- // The recommended quantity of units for displaying pricing info. When
- // displaying pricing info it is recommended to display:
- // (unit_price * display_quantity) per display_quantity usage_unit.
- // This field does not affect the pricing formula and is for display purposes
- // only.
- // Example: If the unit_price is "0.0001 USD", the usage_unit is "GB" and
- // the display_quantity is "1000" then the recommended way of displaying the
- // pricing info is "0.10 USD per 1000 GB"
- double display_quantity = 2;
-
- // The list of tiered rates for this pricing. The total cost is computed by
- // applying each of the tiered rates on usage. This repeated list is sorted
- // by ascending order of start_usage_amount.
- repeated TierRate tiered_rates = 3;
-}
-
-// Represents the aggregation level and interval for pricing of a single SKU.
-message AggregationInfo {
- // The level at which usage is aggregated to compute cost.
- // Example: "ACCOUNT" aggregation level indicates that usage for tiered
- // pricing is aggregated across all projects in a single account.
- enum AggregationLevel {
- AGGREGATION_LEVEL_UNSPECIFIED = 0;
-
- ACCOUNT = 1;
-
- PROJECT = 2;
- }
-
- // The interval at which usage is aggregated to compute cost.
- // Example: "MONTHLY" aggregation interval indicates that usage for tiered
- // pricing is aggregated every month.
- enum AggregationInterval {
- AGGREGATION_INTERVAL_UNSPECIFIED = 0;
-
- DAILY = 1;
-
- MONTHLY = 2;
- }
-
- AggregationLevel aggregation_level = 1;
-
- AggregationInterval aggregation_interval = 2;
-
- // The number of intervals to aggregate over.
- // Example: If aggregation_level is "DAILY" and aggregation_count is 14,
- // aggregation will be over 14 days.
- int32 aggregation_count = 3;
-}
-
-// Request message for `ListServices`.
-message ListServicesRequest {
- // Requested page size. Defaults to 5000.
- int32 page_size = 1;
-
- // A token identifying a page of results to return. This should be a
- // `next_page_token` value returned from a previous `ListServices`
- // call. If unspecified, the first page of results is returned.
- string page_token = 2;
-}
-
-// Response message for `ListServices`.
-message ListServicesResponse {
- // A list of services.
- repeated Service services = 1;
-
- // A token to retrieve the next page of results. To retrieve the next page,
- // call `ListServices` again with the `page_token` field set to this
- // value. This field is empty if there are no more results to retrieve.
- string next_page_token = 2;
-}
-
-// Request message for `ListSkus`.
-message ListSkusRequest {
- // Required. The name of the service.
- // Example: "services/DA34-426B-A397"
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "cloudbilling.googleapis.com/Service"
- }
- ];
-
- // Optional inclusive start time of the time range for which the pricing
- // versions will be returned. Timestamps in the future are not allowed.
- // The time range has to be within a single calendar month in
- // America/Los_Angeles timezone. Time range as a whole is optional. If not
- // specified, the latest pricing will be returned (up to 12 hours old at
- // most).
- google.protobuf.Timestamp start_time = 2;
-
- // Optional exclusive end time of the time range for which the pricing
- // versions will be returned. Timestamps in the future are not allowed.
- // The time range has to be within a single calendar month in
- // America/Los_Angeles timezone. Time range as a whole is optional. If not
- // specified, the latest pricing will be returned (up to 12 hours old at
- // most).
- google.protobuf.Timestamp end_time = 3;
-
- // The ISO 4217 currency code for the pricing info in the response proto.
- // Will use the conversion rate as of start_time.
- // Optional. If not specified USD will be used.
- string currency_code = 4;
-
- // Requested page size. Defaults to 5000.
- int32 page_size = 5;
-
- // A token identifying a page of results to return. This should be a
- // `next_page_token` value returned from a previous `ListSkus`
- // call. If unspecified, the first page of results is returned.
- string page_token = 6;
-}
-
-// Response message for `ListSkus`.
-message ListSkusResponse {
- // The list of public SKUs of the given service.
- repeated Sku skus = 1;
-
- // A token to retrieve the next page of results. To retrieve the next page,
- // call `ListSkus` again with the `page_token` field set to this
- // value. This field is empty if there are no more results to retrieve.
- string next_page_token = 2;
-}
diff --git a/third_party/googleapis/google/cloud/billing/v1/cloudbilling.yaml b/third_party/googleapis/google/cloud/billing/v1/cloudbilling.yaml
deleted file mode 100644
index fb0e32e..0000000
--- a/third_party/googleapis/google/cloud/billing/v1/cloudbilling.yaml
+++ /dev/null
@@ -1,28 +0,0 @@
-type: google.api.Service
-config_version: 1
-name: cloudbilling.googleapis.com
-title: Cloud Billing API
-
-apis:
-- name: google.cloud.billing.v1.CloudBilling
-- name: google.cloud.billing.v1.CloudCatalog
-
-documentation:
- summary: |-
- Allows developers to manage billing for their Google Cloud Platform
- projects programmatically.
-
-authentication:
- rules:
- - selector: 'google.cloud.billing.v1.CloudBilling.*'
- oauth:
- canonical_scopes: |-
- https://www.googleapis.com/auth/cloud-platform
- - selector: google.cloud.billing.v1.CloudCatalog.ListServices
- oauth:
- canonical_scopes: |-
- https://www.googleapis.com/auth/cloud-platform
- - selector: google.cloud.billing.v1.CloudCatalog.ListSkus
- oauth:
- canonical_scopes: |-
- https://www.googleapis.com/auth/cloud-platform