google-cloud-billing-budgets-v1beta1 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e2c703a9b3964a6eda849672bd16cccf43c29888064cc599ff33831d9d8ab953
4
- data.tar.gz: 6abfa1c4917103a562d43e432457b8663fce4c7a740b4fa6e71af02a51e74f9c
3
+ metadata.gz: be542472ee95441e4fafc876b0ae7a19ccf6ae334c260693c20b90ba9cefbc59
4
+ data.tar.gz: 95f206baabecac189c1871401a68507650227d9ff62ce68e6fd5596b2a93d3d0
5
5
  SHA512:
6
- metadata.gz: 617b214408adc356e178915adc8106bdc16e32726faac692ad1820bfcff39bd9e1f874ce0c50041aaba7e9367e9ae575fdde6a3d3fb94d4fd7f06f190d0f6c28
7
- data.tar.gz: 83291fade39111c5918762adbd490e3f221c59ffc4d58f4208f1accf2de19dd019e27810f03c4b32323a41d93ad34b6037613819d2324b1c8b186653fad716f0
6
+ metadata.gz: 5142610c24568ef483150f1a8009316646b66f715fe932434f80b15aa0df14bf229e0cd9f6cfedfb60cedfc3c384af45af750992fd25f9a30b14cb365ddab3ca
7
+ data.tar.gz: d7f08b571c50ba3e9cc2698fa0ebe9561e367f726d00060bc19559ec9656cb85254db71eaa801a5f5bd2f8757ad69668a42af264c8cdee0fbbe329ce377be090
data/AUTHENTICATION.md CHANGED
@@ -114,7 +114,7 @@ credentials are discovered.
114
114
  To configure your system for this, simply:
115
115
 
116
116
  1. [Download and install the Cloud SDK](https://cloud.google.com/sdk)
117
- 2. Authenticate using OAuth 2.0 `$ gcloud auth login`
117
+ 2. Authenticate using OAuth 2.0 `$ gcloud auth application-default login`
118
118
  3. Write code as if already authenticated.
119
119
 
120
120
  **NOTE:** This is _not_ recommended for running in production. The Cloud SDK
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Ruby Client for the Billing Budgets V1beta1 API
2
2
 
3
- API Client library for the Billing Budgets V1beta1 API
3
+ 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.
4
4
 
5
5
  Provides methods to view, create, and manage Cloud Billing budgets programmatically at scale.
6
6
 
@@ -46,8 +46,8 @@ for general usage information.
46
46
  ## Enabling Logging
47
47
 
48
48
  To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
49
- The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/stdlib/libdoc/logger/rdoc/Logger.html) as shown below,
50
- or a [`Google::Cloud::Logging::Logger`](https://googleapis.dev/ruby/google-cloud-logging/latest)
49
+ The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/current/stdlibs/logger/Logger.html) as shown below,
50
+ or a [`Google::Cloud::Logging::Logger`](https://cloud.google.com/ruby/docs/reference/google-cloud-logging/latest)
51
51
  that will write logs to [Cloud Logging](https://cloud.google.com/logging/). See [grpc/logconfig.rb](https://github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb)
52
52
  and the gRPC [spec_helper.rb](https://github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb) for additional information.
53
53
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
3
  # source: google/cloud/billing/budgets/v1beta1/budget_model.proto
3
4
 
@@ -9,69 +10,34 @@ require 'google/protobuf/struct_pb'
9
10
  require 'google/type/date_pb'
10
11
  require 'google/type/money_pb'
11
12
 
12
- Google::Protobuf::DescriptorPool.generated_pool.build do
13
- add_file("google/cloud/billing/budgets/v1beta1/budget_model.proto", :syntax => :proto3) do
14
- add_message "google.cloud.billing.budgets.v1beta1.Budget" do
15
- optional :name, :string, 1
16
- optional :display_name, :string, 2
17
- optional :budget_filter, :message, 3, "google.cloud.billing.budgets.v1beta1.Filter"
18
- optional :amount, :message, 4, "google.cloud.billing.budgets.v1beta1.BudgetAmount"
19
- repeated :threshold_rules, :message, 5, "google.cloud.billing.budgets.v1beta1.ThresholdRule"
20
- optional :all_updates_rule, :message, 6, "google.cloud.billing.budgets.v1beta1.AllUpdatesRule"
21
- optional :etag, :string, 7
22
- end
23
- add_message "google.cloud.billing.budgets.v1beta1.BudgetAmount" do
24
- oneof :budget_amount do
25
- optional :specified_amount, :message, 1, "google.type.Money"
26
- optional :last_period_amount, :message, 2, "google.cloud.billing.budgets.v1beta1.LastPeriodAmount"
27
- end
28
- end
29
- add_message "google.cloud.billing.budgets.v1beta1.LastPeriodAmount" do
30
- end
31
- add_message "google.cloud.billing.budgets.v1beta1.ThresholdRule" do
32
- optional :threshold_percent, :double, 1
33
- optional :spend_basis, :enum, 2, "google.cloud.billing.budgets.v1beta1.ThresholdRule.Basis"
34
- end
35
- add_enum "google.cloud.billing.budgets.v1beta1.ThresholdRule.Basis" do
36
- value :BASIS_UNSPECIFIED, 0
37
- value :CURRENT_SPEND, 1
38
- value :FORECASTED_SPEND, 2
39
- end
40
- add_message "google.cloud.billing.budgets.v1beta1.AllUpdatesRule" do
41
- optional :pubsub_topic, :string, 1
42
- optional :schema_version, :string, 2
43
- repeated :monitoring_notification_channels, :string, 3
44
- optional :disable_default_iam_recipients, :bool, 4
45
- end
46
- add_message "google.cloud.billing.budgets.v1beta1.Filter" do
47
- repeated :projects, :string, 1
48
- repeated :credit_types, :string, 7
49
- optional :credit_types_treatment, :enum, 4, "google.cloud.billing.budgets.v1beta1.Filter.CreditTypesTreatment"
50
- repeated :services, :string, 3
51
- repeated :subaccounts, :string, 5
52
- map :labels, :string, :message, 6, "google.protobuf.ListValue"
53
- oneof :usage_period do
54
- optional :calendar_period, :enum, 8, "google.cloud.billing.budgets.v1beta1.CalendarPeriod"
55
- optional :custom_period, :message, 9, "google.cloud.billing.budgets.v1beta1.CustomPeriod"
56
- end
57
- end
58
- add_enum "google.cloud.billing.budgets.v1beta1.Filter.CreditTypesTreatment" do
59
- value :CREDIT_TYPES_TREATMENT_UNSPECIFIED, 0
60
- value :INCLUDE_ALL_CREDITS, 1
61
- value :EXCLUDE_ALL_CREDITS, 2
62
- value :INCLUDE_SPECIFIED_CREDITS, 3
63
- end
64
- add_message "google.cloud.billing.budgets.v1beta1.CustomPeriod" do
65
- optional :start_date, :message, 1, "google.type.Date"
66
- optional :end_date, :message, 2, "google.type.Date"
67
- end
68
- add_enum "google.cloud.billing.budgets.v1beta1.CalendarPeriod" do
69
- value :CALENDAR_PERIOD_UNSPECIFIED, 0
70
- value :MONTH, 1
71
- value :QUARTER, 2
72
- value :YEAR, 3
13
+
14
+ descriptor_data = "\n7google/cloud/billing/budgets/v1beta1/budget_model.proto\x12$google.cloud.billing.budgets.v1beta1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x16google/type/date.proto\x1a\x17google/type/money.proto\"\xde\x03\n\x06\x42udget\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12H\n\rbudget_filter\x18\x03 \x01(\x0b\x32,.google.cloud.billing.budgets.v1beta1.FilterB\x03\xe0\x41\x01\x12G\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x32.google.cloud.billing.budgets.v1beta1.BudgetAmountB\x03\xe0\x41\x02\x12Q\n\x0fthreshold_rules\x18\x05 \x03(\x0b\x32\x33.google.cloud.billing.budgets.v1beta1.ThresholdRuleB\x03\xe0\x41\x01\x12S\n\x10\x61ll_updates_rule\x18\x06 \x01(\x0b\x32\x34.google.cloud.billing.budgets.v1beta1.AllUpdatesRuleB\x03\xe0\x41\x01\x12\x11\n\x04\x65tag\x18\x07 \x01(\tB\x03\xe0\x41\x01:]\xea\x41Z\n$billingbudgets.googleapis.com/Budget\x12\x32\x62illingAccounts/{billing_account}/budgets/{budget}\"\xa5\x01\n\x0c\x42udgetAmount\x12.\n\x10specified_amount\x18\x01 \x01(\x0b\x32\x12.google.type.MoneyH\x00\x12T\n\x12last_period_amount\x18\x02 \x01(\x0b\x32\x36.google.cloud.billing.budgets.v1beta1.LastPeriodAmountH\x00\x42\x0f\n\rbudget_amount\"\x12\n\x10LastPeriodAmount\"\xcd\x01\n\rThresholdRule\x12\x1e\n\x11threshold_percent\x18\x01 \x01(\x01\x42\x03\xe0\x41\x02\x12S\n\x0bspend_basis\x18\x02 \x01(\x0e\x32\x39.google.cloud.billing.budgets.v1beta1.ThresholdRule.BasisB\x03\xe0\x41\x01\"G\n\x05\x42\x61sis\x12\x15\n\x11\x42\x41SIS_UNSPECIFIED\x10\x00\x12\x11\n\rCURRENT_SPEND\x10\x01\x12\x14\n\x10\x46ORECASTED_SPEND\x10\x02\"\xa4\x01\n\x0e\x41llUpdatesRule\x12\x19\n\x0cpubsub_topic\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x1b\n\x0eschema_version\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12-\n monitoring_notification_channels\x18\x03 \x03(\tB\x03\xe0\x41\x01\x12+\n\x1e\x64isable_default_iam_recipients\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\"\xd8\x05\n\x06\x46ilter\x12\x15\n\x08projects\x18\x01 \x03(\tB\x03\xe0\x41\x01\x12\x1f\n\x12resource_ancestors\x18\x02 \x03(\tB\x03\xe0\x41\x01\x12\x19\n\x0c\x63redit_types\x18\x07 \x03(\tB\x03\xe0\x41\x01\x12\x66\n\x16\x63redit_types_treatment\x18\x04 \x01(\x0e\x32\x41.google.cloud.billing.budgets.v1beta1.Filter.CreditTypesTreatmentB\x03\xe0\x41\x01\x12\x15\n\x08services\x18\x03 \x03(\tB\x03\xe0\x41\x01\x12\x18\n\x0bsubaccounts\x18\x05 \x03(\tB\x03\xe0\x41\x01\x12M\n\x06labels\x18\x06 \x03(\x0b\x32\x38.google.cloud.billing.budgets.v1beta1.Filter.LabelsEntryB\x03\xe0\x41\x01\x12T\n\x0f\x63\x61lendar_period\x18\x08 \x01(\x0e\x32\x34.google.cloud.billing.budgets.v1beta1.CalendarPeriodB\x03\xe0\x41\x01H\x00\x12P\n\rcustom_period\x18\t \x01(\x0b\x32\x32.google.cloud.billing.budgets.v1beta1.CustomPeriodB\x03\xe0\x41\x01H\x00\x1aI\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12)\n\x05value\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.ListValue:\x02\x38\x01\"\x8f\x01\n\x14\x43reditTypesTreatment\x12&\n\"CREDIT_TYPES_TREATMENT_UNSPECIFIED\x10\x00\x12\x17\n\x13INCLUDE_ALL_CREDITS\x10\x01\x12\x17\n\x13\x45XCLUDE_ALL_CREDITS\x10\x02\x12\x1d\n\x19INCLUDE_SPECIFIED_CREDITS\x10\x03\x42\x0e\n\x0cusage_period\"d\n\x0c\x43ustomPeriod\x12*\n\nstart_date\x18\x01 \x01(\x0b\x32\x11.google.type.DateB\x03\xe0\x41\x02\x12(\n\x08\x65nd_date\x18\x02 \x01(\x0b\x32\x11.google.type.DateB\x03\xe0\x41\x01*S\n\x0e\x43\x61lendarPeriod\x12\x1f\n\x1b\x43\x41LENDAR_PERIOD_UNSPECIFIED\x10\x00\x12\t\n\x05MONTH\x10\x01\x12\x0b\n\x07QUARTER\x10\x02\x12\x08\n\x04YEAR\x10\x03\x42p\n(com.google.cloud.billing.budgets.v1beta1P\x01ZBcloud.google.com/go/billing/budgets/apiv1beta1/budgetspb;budgetspbb\x06proto3"
15
+
16
+ pool = Google::Protobuf::DescriptorPool.generated_pool
17
+
18
+ begin
19
+ pool.add_serialized_file(descriptor_data)
20
+ rescue TypeError => e
21
+ # Compatibility code: will be removed in the next major version.
22
+ require 'google/protobuf/descriptor_pb'
23
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
24
+ parsed.clear_dependency
25
+ serialized = parsed.class.encode(parsed)
26
+ file = pool.add_serialized_file(serialized)
27
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
28
+ imports = [
29
+ ["google.type.Money", "google/type/money.proto"],
30
+ ["google.protobuf.ListValue", "google/protobuf/struct.proto"],
31
+ ["google.type.Date", "google/type/date.proto"],
32
+ ]
33
+ imports.each do |type_name, expected_filename|
34
+ import_file = pool.lookup(type_name).file_descriptor
35
+ if import_file.name != expected_filename
36
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
73
37
  end
74
38
  end
39
+ warn "Each proto file must use a consistent fully-qualified name."
40
+ warn "This will become an error in the next major version."
75
41
  end
76
42
 
77
43
  module Google
@@ -147,7 +147,7 @@ module Google
147
147
  credentials = @config.credentials
148
148
  # Use self-signed JWT if the endpoint is unchanged from default,
149
149
  # but only if the default endpoint does not have a region prefix.
150
- enable_self_signed_jwt = @config.endpoint == Client.configure.endpoint &&
150
+ enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
151
151
  !@config.endpoint.split(".").first.include?("-")
152
152
  credentials ||= Credentials.default scope: @config.scope,
153
153
  enable_self_signed_jwt: enable_self_signed_jwt
@@ -500,13 +500,11 @@ module Google
500
500
  # # Call the list_budgets method.
501
501
  # result = client.list_budgets request
502
502
  #
503
- # # The returned object is of type Gapic::PagedEnumerable. You can
504
- # # iterate over all elements by calling #each, and the enumerable
505
- # # will lazily make API calls to fetch subsequent pages. Other
506
- # # methods are also available for managing paging directly.
507
- # result.each do |response|
503
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
504
+ # # over elements, and API calls will be issued to fetch pages as needed.
505
+ # result.each do |item|
508
506
  # # Each element is of type ::Google::Cloud::Billing::Budgets::V1beta1::Budget.
509
- # p response
507
+ # p item
510
508
  # end
511
509
  #
512
510
  def list_budgets request, options = nil
@@ -675,9 +673,9 @@ module Google
675
673
  # * (`String`) The path to a service account key file in JSON format
676
674
  # * (`Hash`) A service account key as a Hash
677
675
  # * (`Google::Auth::Credentials`) A googleauth credentials object
678
- # (see the [googleauth docs](https://googleapis.dev/ruby/googleauth/latest/index.html))
676
+ # (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials))
679
677
  # * (`Signet::OAuth2::Client`) A signet oauth2 client object
680
- # (see the [signet docs](https://googleapis.dev/ruby/signet/latest/Signet/OAuth2/Client.html))
678
+ # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
681
679
  # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
682
680
  # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
683
681
  # * (`nil`) indicating no credentials
@@ -719,7 +717,9 @@ module Google
719
717
  class Configuration
720
718
  extend ::Gapic::Config
721
719
 
722
- config_attr :endpoint, "billingbudgets.googleapis.com", ::String
720
+ DEFAULT_ENDPOINT = "billingbudgets.googleapis.com"
721
+
722
+ config_attr :endpoint, DEFAULT_ENDPOINT, ::String
723
723
  config_attr :credentials, nil do |value|
724
724
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
725
725
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
@@ -35,7 +35,7 @@ module Google
35
35
  # BudgetService stores Cloud Billing budgets, which define a
36
36
  # budget plan and rules to execute as we track spend against that plan.
37
37
  #
38
- # To load this service and instantiate a client:
38
+ # @example Load this service and instantiate a gRPC client
39
39
  #
40
40
  # require "google/cloud/billing/budgets/v1beta1/budget_service"
41
41
  # client = ::Google::Cloud::Billing::Budgets::V1beta1::BudgetService::Client.new
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
3
  # source: google/cloud/billing/budgets/v1beta1/budget_service.proto
3
4
 
@@ -11,32 +12,33 @@ require 'google/cloud/billing/budgets/v1beta1/budget_model_pb'
11
12
  require 'google/protobuf/empty_pb'
12
13
  require 'google/protobuf/field_mask_pb'
13
14
 
14
- Google::Protobuf::DescriptorPool.generated_pool.build do
15
- add_file("google/cloud/billing/budgets/v1beta1/budget_service.proto", :syntax => :proto3) do
16
- add_message "google.cloud.billing.budgets.v1beta1.CreateBudgetRequest" do
17
- optional :parent, :string, 1
18
- optional :budget, :message, 2, "google.cloud.billing.budgets.v1beta1.Budget"
19
- end
20
- add_message "google.cloud.billing.budgets.v1beta1.UpdateBudgetRequest" do
21
- optional :budget, :message, 1, "google.cloud.billing.budgets.v1beta1.Budget"
22
- optional :update_mask, :message, 2, "google.protobuf.FieldMask"
23
- end
24
- add_message "google.cloud.billing.budgets.v1beta1.GetBudgetRequest" do
25
- optional :name, :string, 1
26
- end
27
- add_message "google.cloud.billing.budgets.v1beta1.ListBudgetsRequest" do
28
- optional :parent, :string, 1
29
- optional :page_size, :int32, 2
30
- optional :page_token, :string, 3
31
- end
32
- add_message "google.cloud.billing.budgets.v1beta1.ListBudgetsResponse" do
33
- repeated :budgets, :message, 1, "google.cloud.billing.budgets.v1beta1.Budget"
34
- optional :next_page_token, :string, 2
35
- end
36
- add_message "google.cloud.billing.budgets.v1beta1.DeleteBudgetRequest" do
37
- optional :name, :string, 1
15
+
16
+ descriptor_data = "\n9google/cloud/billing/budgets/v1beta1/budget_service.proto\x12$google.cloud.billing.budgets.v1beta1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x37google/cloud/billing/budgets/v1beta1/budget_model.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\"\x96\x01\n\x13\x43reateBudgetRequest\x12<\n\x06parent\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\x12$billingbudgets.googleapis.com/Budget\x12\x41\n\x06\x62udget\x18\x02 \x01(\x0b\x32,.google.cloud.billing.budgets.v1beta1.BudgetB\x03\xe0\x41\x02\"\x8e\x01\n\x13UpdateBudgetRequest\x12\x41\n\x06\x62udget\x18\x01 \x01(\x0b\x32,.google.cloud.billing.budgets.v1beta1.BudgetB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\"N\n\x10GetBudgetRequest\x12:\n\x04name\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$billingbudgets.googleapis.com/Budget\"\x83\x01\n\x12ListBudgetsRequest\x12<\n\x06parent\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\x12$billingbudgets.googleapis.com/Budget\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"m\n\x13ListBudgetsResponse\x12=\n\x07\x62udgets\x18\x01 \x03(\x0b\x32,.google.cloud.billing.budgets.v1beta1.Budget\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"Q\n\x13\x44\x65leteBudgetRequest\x12:\n\x04name\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$billingbudgets.googleapis.com/Budget2\xf7\x07\n\rBudgetService\x12\xaf\x01\n\x0c\x43reateBudget\x12\x39.google.cloud.billing.budgets.v1beta1.CreateBudgetRequest\x1a,.google.cloud.billing.budgets.v1beta1.Budget\"6\x82\xd3\xe4\x93\x02\x30\"+/v1beta1/{parent=billingAccounts/*}/budgets:\x01*\x12\xb6\x01\n\x0cUpdateBudget\x12\x39.google.cloud.billing.budgets.v1beta1.UpdateBudgetRequest\x1a,.google.cloud.billing.budgets.v1beta1.Budget\"=\x82\xd3\xe4\x93\x02\x37\x32\x32/v1beta1/{budget.name=billingAccounts/*/budgets/*}:\x01*\x12\xa6\x01\n\tGetBudget\x12\x36.google.cloud.billing.budgets.v1beta1.GetBudgetRequest\x1a,.google.cloud.billing.budgets.v1beta1.Budget\"3\x82\xd3\xe4\x93\x02-\x12+/v1beta1/{name=billingAccounts/*/budgets/*}\x12\xb7\x01\n\x0bListBudgets\x12\x38.google.cloud.billing.budgets.v1beta1.ListBudgetsRequest\x1a\x39.google.cloud.billing.budgets.v1beta1.ListBudgetsResponse\"3\x82\xd3\xe4\x93\x02-\x12+/v1beta1/{parent=billingAccounts/*}/budgets\x12\x96\x01\n\x0c\x44\x65leteBudget\x12\x39.google.cloud.billing.budgets.v1beta1.DeleteBudgetRequest\x1a\x16.google.protobuf.Empty\"3\x82\xd3\xe4\x93\x02-*+/v1beta1/{name=billingAccounts/*/budgets/*}\x1a\x7f\xca\x41\x1d\x62illingbudgets.googleapis.com\xd2\x41\\https://www.googleapis.com/auth/cloud-billing,https://www.googleapis.com/auth/cloud-platformBp\n(com.google.cloud.billing.budgets.v1beta1P\x01ZBcloud.google.com/go/billing/budgets/apiv1beta1/budgetspb;budgetspbb\x06proto3"
17
+
18
+ pool = Google::Protobuf::DescriptorPool.generated_pool
19
+
20
+ begin
21
+ pool.add_serialized_file(descriptor_data)
22
+ rescue TypeError => e
23
+ # Compatibility code: will be removed in the next major version.
24
+ require 'google/protobuf/descriptor_pb'
25
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
26
+ parsed.clear_dependency
27
+ serialized = parsed.class.encode(parsed)
28
+ file = pool.add_serialized_file(serialized)
29
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
30
+ imports = [
31
+ ["google.cloud.billing.budgets.v1beta1.Budget", "google/cloud/billing/budgets/v1beta1/budget_model.proto"],
32
+ ["google.protobuf.FieldMask", "google/protobuf/field_mask.proto"],
33
+ ]
34
+ imports.each do |type_name, expected_filename|
35
+ import_file = pool.lookup(type_name).file_descriptor
36
+ if import_file.name != expected_filename
37
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
38
38
  end
39
39
  end
40
+ warn "Each proto file must use a consistent fully-qualified name."
41
+ warn "This will become an error in the next major version."
40
42
  end
41
43
 
42
44
  module Google
@@ -22,7 +22,7 @@ module Google
22
22
  module Billing
23
23
  module Budgets
24
24
  module V1beta1
25
- VERSION = "0.7.0"
25
+ VERSION = "0.8.0"
26
26
  end
27
27
  end
28
28
  end
@@ -24,9 +24,9 @@ module Google
24
24
  module Billing
25
25
  module Budgets
26
26
  ##
27
- # To load this package, including all its services, and instantiate a client:
27
+ # API client module.
28
28
  #
29
- # @example
29
+ # @example Load this package, including all its services, and instantiate a gRPC client
30
30
  #
31
31
  # require "google/cloud/billing/budgets/v1beta1"
32
32
  # client = ::Google::Cloud::Billing::Budgets::V1beta1::BudgetService::Client.new
@@ -0,0 +1,381 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Api
22
+ # Required information for every language.
23
+ # @!attribute [rw] reference_docs_uri
24
+ # @return [::String]
25
+ # Link to automatically generated reference documentation. Example:
26
+ # https://cloud.google.com/nodejs/docs/reference/asset/latest
27
+ # @!attribute [rw] destinations
28
+ # @return [::Array<::Google::Api::ClientLibraryDestination>]
29
+ # The destination where API teams want this client library to be published.
30
+ class CommonLanguageSettings
31
+ include ::Google::Protobuf::MessageExts
32
+ extend ::Google::Protobuf::MessageExts::ClassMethods
33
+ end
34
+
35
+ # Details about how and where to publish client libraries.
36
+ # @!attribute [rw] version
37
+ # @return [::String]
38
+ # Version of the API to apply these settings to. This is the full protobuf
39
+ # package for the API, ending in the version element.
40
+ # Examples: "google.cloud.speech.v1" and "google.spanner.admin.database.v1".
41
+ # @!attribute [rw] launch_stage
42
+ # @return [::Google::Api::LaunchStage]
43
+ # Launch stage of this version of the API.
44
+ # @!attribute [rw] rest_numeric_enums
45
+ # @return [::Boolean]
46
+ # When using transport=rest, the client request will encode enums as
47
+ # numbers rather than strings.
48
+ # @!attribute [rw] java_settings
49
+ # @return [::Google::Api::JavaSettings]
50
+ # Settings for legacy Java features, supported in the Service YAML.
51
+ # @!attribute [rw] cpp_settings
52
+ # @return [::Google::Api::CppSettings]
53
+ # Settings for C++ client libraries.
54
+ # @!attribute [rw] php_settings
55
+ # @return [::Google::Api::PhpSettings]
56
+ # Settings for PHP client libraries.
57
+ # @!attribute [rw] python_settings
58
+ # @return [::Google::Api::PythonSettings]
59
+ # Settings for Python client libraries.
60
+ # @!attribute [rw] node_settings
61
+ # @return [::Google::Api::NodeSettings]
62
+ # Settings for Node client libraries.
63
+ # @!attribute [rw] dotnet_settings
64
+ # @return [::Google::Api::DotnetSettings]
65
+ # Settings for .NET client libraries.
66
+ # @!attribute [rw] ruby_settings
67
+ # @return [::Google::Api::RubySettings]
68
+ # Settings for Ruby client libraries.
69
+ # @!attribute [rw] go_settings
70
+ # @return [::Google::Api::GoSettings]
71
+ # Settings for Go client libraries.
72
+ class ClientLibrarySettings
73
+ include ::Google::Protobuf::MessageExts
74
+ extend ::Google::Protobuf::MessageExts::ClassMethods
75
+ end
76
+
77
+ # This message configures the settings for publishing [Google Cloud Client
78
+ # libraries](https://cloud.google.com/apis/docs/cloud-client-libraries)
79
+ # generated from the service config.
80
+ # @!attribute [rw] method_settings
81
+ # @return [::Array<::Google::Api::MethodSettings>]
82
+ # A list of API method settings, e.g. the behavior for methods that use the
83
+ # long-running operation pattern.
84
+ # @!attribute [rw] new_issue_uri
85
+ # @return [::String]
86
+ # Link to a *public* URI where users can report issues. Example:
87
+ # https://issuetracker.google.com/issues/new?component=190865&template=1161103
88
+ # @!attribute [rw] documentation_uri
89
+ # @return [::String]
90
+ # Link to product home page. Example:
91
+ # https://cloud.google.com/asset-inventory/docs/overview
92
+ # @!attribute [rw] api_short_name
93
+ # @return [::String]
94
+ # Used as a tracking tag when collecting data about the APIs developer
95
+ # relations artifacts like docs, packages delivered to package managers,
96
+ # etc. Example: "speech".
97
+ # @!attribute [rw] github_label
98
+ # @return [::String]
99
+ # GitHub label to apply to issues and pull requests opened for this API.
100
+ # @!attribute [rw] codeowner_github_teams
101
+ # @return [::Array<::String>]
102
+ # GitHub teams to be added to CODEOWNERS in the directory in GitHub
103
+ # containing source code for the client libraries for this API.
104
+ # @!attribute [rw] doc_tag_prefix
105
+ # @return [::String]
106
+ # A prefix used in sample code when demarking regions to be included in
107
+ # documentation.
108
+ # @!attribute [rw] organization
109
+ # @return [::Google::Api::ClientLibraryOrganization]
110
+ # For whom the client library is being published.
111
+ # @!attribute [rw] library_settings
112
+ # @return [::Array<::Google::Api::ClientLibrarySettings>]
113
+ # Client library settings. If the same version string appears multiple
114
+ # times in this list, then the last one wins. Settings from earlier
115
+ # settings with the same version string are discarded.
116
+ # @!attribute [rw] proto_reference_documentation_uri
117
+ # @return [::String]
118
+ # Optional link to proto reference documentation. Example:
119
+ # https://cloud.google.com/pubsub/lite/docs/reference/rpc
120
+ class Publishing
121
+ include ::Google::Protobuf::MessageExts
122
+ extend ::Google::Protobuf::MessageExts::ClassMethods
123
+ end
124
+
125
+ # Settings for Java client libraries.
126
+ # @!attribute [rw] library_package
127
+ # @return [::String]
128
+ # The package name to use in Java. Clobbers the java_package option
129
+ # set in the protobuf. This should be used **only** by APIs
130
+ # who have already set the language_settings.java.package_name" field
131
+ # in gapic.yaml. API teams should use the protobuf java_package option
132
+ # where possible.
133
+ #
134
+ # Example of a YAML configuration::
135
+ #
136
+ # publishing:
137
+ # java_settings:
138
+ # library_package: com.google.cloud.pubsub.v1
139
+ # @!attribute [rw] service_class_names
140
+ # @return [::Google::Protobuf::Map{::String => ::String}]
141
+ # Configure the Java class name to use instead of the service's for its
142
+ # corresponding generated GAPIC client. Keys are fully-qualified
143
+ # service names as they appear in the protobuf (including the full
144
+ # the language_settings.java.interface_names" field in gapic.yaml. API
145
+ # teams should otherwise use the service name as it appears in the
146
+ # protobuf.
147
+ #
148
+ # Example of a YAML configuration::
149
+ #
150
+ # publishing:
151
+ # java_settings:
152
+ # service_class_names:
153
+ # - google.pubsub.v1.Publisher: TopicAdmin
154
+ # - google.pubsub.v1.Subscriber: SubscriptionAdmin
155
+ # @!attribute [rw] common
156
+ # @return [::Google::Api::CommonLanguageSettings]
157
+ # Some settings.
158
+ class JavaSettings
159
+ include ::Google::Protobuf::MessageExts
160
+ extend ::Google::Protobuf::MessageExts::ClassMethods
161
+
162
+ # @!attribute [rw] key
163
+ # @return [::String]
164
+ # @!attribute [rw] value
165
+ # @return [::String]
166
+ class ServiceClassNamesEntry
167
+ include ::Google::Protobuf::MessageExts
168
+ extend ::Google::Protobuf::MessageExts::ClassMethods
169
+ end
170
+ end
171
+
172
+ # Settings for C++ client libraries.
173
+ # @!attribute [rw] common
174
+ # @return [::Google::Api::CommonLanguageSettings]
175
+ # Some settings.
176
+ class CppSettings
177
+ include ::Google::Protobuf::MessageExts
178
+ extend ::Google::Protobuf::MessageExts::ClassMethods
179
+ end
180
+
181
+ # Settings for Php client libraries.
182
+ # @!attribute [rw] common
183
+ # @return [::Google::Api::CommonLanguageSettings]
184
+ # Some settings.
185
+ class PhpSettings
186
+ include ::Google::Protobuf::MessageExts
187
+ extend ::Google::Protobuf::MessageExts::ClassMethods
188
+ end
189
+
190
+ # Settings for Python client libraries.
191
+ # @!attribute [rw] common
192
+ # @return [::Google::Api::CommonLanguageSettings]
193
+ # Some settings.
194
+ class PythonSettings
195
+ include ::Google::Protobuf::MessageExts
196
+ extend ::Google::Protobuf::MessageExts::ClassMethods
197
+ end
198
+
199
+ # Settings for Node client libraries.
200
+ # @!attribute [rw] common
201
+ # @return [::Google::Api::CommonLanguageSettings]
202
+ # Some settings.
203
+ class NodeSettings
204
+ include ::Google::Protobuf::MessageExts
205
+ extend ::Google::Protobuf::MessageExts::ClassMethods
206
+ end
207
+
208
+ # Settings for Dotnet client libraries.
209
+ # @!attribute [rw] common
210
+ # @return [::Google::Api::CommonLanguageSettings]
211
+ # Some settings.
212
+ # @!attribute [rw] renamed_services
213
+ # @return [::Google::Protobuf::Map{::String => ::String}]
214
+ # Map from original service names to renamed versions.
215
+ # This is used when the default generated types
216
+ # would cause a naming conflict. (Neither name is
217
+ # fully-qualified.)
218
+ # Example: Subscriber to SubscriberServiceApi.
219
+ # @!attribute [rw] renamed_resources
220
+ # @return [::Google::Protobuf::Map{::String => ::String}]
221
+ # Map from full resource types to the effective short name
222
+ # for the resource. This is used when otherwise resource
223
+ # named from different services would cause naming collisions.
224
+ # Example entry:
225
+ # "datalabeling.googleapis.com/Dataset": "DataLabelingDataset"
226
+ # @!attribute [rw] ignored_resources
227
+ # @return [::Array<::String>]
228
+ # List of full resource types to ignore during generation.
229
+ # This is typically used for API-specific Location resources,
230
+ # which should be handled by the generator as if they were actually
231
+ # the common Location resources.
232
+ # Example entry: "documentai.googleapis.com/Location"
233
+ # @!attribute [rw] forced_namespace_aliases
234
+ # @return [::Array<::String>]
235
+ # Namespaces which must be aliased in snippets due to
236
+ # a known (but non-generator-predictable) naming collision
237
+ # @!attribute [rw] handwritten_signatures
238
+ # @return [::Array<::String>]
239
+ # Method signatures (in the form "service.method(signature)")
240
+ # which are provided separately, so shouldn't be generated.
241
+ # Snippets *calling* these methods are still generated, however.
242
+ class DotnetSettings
243
+ include ::Google::Protobuf::MessageExts
244
+ extend ::Google::Protobuf::MessageExts::ClassMethods
245
+
246
+ # @!attribute [rw] key
247
+ # @return [::String]
248
+ # @!attribute [rw] value
249
+ # @return [::String]
250
+ class RenamedServicesEntry
251
+ include ::Google::Protobuf::MessageExts
252
+ extend ::Google::Protobuf::MessageExts::ClassMethods
253
+ end
254
+
255
+ # @!attribute [rw] key
256
+ # @return [::String]
257
+ # @!attribute [rw] value
258
+ # @return [::String]
259
+ class RenamedResourcesEntry
260
+ include ::Google::Protobuf::MessageExts
261
+ extend ::Google::Protobuf::MessageExts::ClassMethods
262
+ end
263
+ end
264
+
265
+ # Settings for Ruby client libraries.
266
+ # @!attribute [rw] common
267
+ # @return [::Google::Api::CommonLanguageSettings]
268
+ # Some settings.
269
+ class RubySettings
270
+ include ::Google::Protobuf::MessageExts
271
+ extend ::Google::Protobuf::MessageExts::ClassMethods
272
+ end
273
+
274
+ # Settings for Go client libraries.
275
+ # @!attribute [rw] common
276
+ # @return [::Google::Api::CommonLanguageSettings]
277
+ # Some settings.
278
+ class GoSettings
279
+ include ::Google::Protobuf::MessageExts
280
+ extend ::Google::Protobuf::MessageExts::ClassMethods
281
+ end
282
+
283
+ # Describes the generator configuration for a method.
284
+ # @!attribute [rw] selector
285
+ # @return [::String]
286
+ # The fully qualified name of the method, for which the options below apply.
287
+ # This is used to find the method to apply the options.
288
+ # @!attribute [rw] long_running
289
+ # @return [::Google::Api::MethodSettings::LongRunning]
290
+ # Describes settings to use for long-running operations when generating
291
+ # API methods for RPCs. Complements RPCs that use the annotations in
292
+ # google/longrunning/operations.proto.
293
+ #
294
+ # Example of a YAML configuration::
295
+ #
296
+ # publishing:
297
+ # method_settings:
298
+ # - selector: google.cloud.speech.v2.Speech.BatchRecognize
299
+ # long_running:
300
+ # initial_poll_delay:
301
+ # seconds: 60 # 1 minute
302
+ # poll_delay_multiplier: 1.5
303
+ # max_poll_delay:
304
+ # seconds: 360 # 6 minutes
305
+ # total_poll_timeout:
306
+ # seconds: 54000 # 90 minutes
307
+ class MethodSettings
308
+ include ::Google::Protobuf::MessageExts
309
+ extend ::Google::Protobuf::MessageExts::ClassMethods
310
+
311
+ # Describes settings to use when generating API methods that use the
312
+ # long-running operation pattern.
313
+ # All default values below are from those used in the client library
314
+ # generators (e.g.
315
+ # [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)).
316
+ # @!attribute [rw] initial_poll_delay
317
+ # @return [::Google::Protobuf::Duration]
318
+ # Initial delay after which the first poll request will be made.
319
+ # Default value: 5 seconds.
320
+ # @!attribute [rw] poll_delay_multiplier
321
+ # @return [::Float]
322
+ # Multiplier to gradually increase delay between subsequent polls until it
323
+ # reaches max_poll_delay.
324
+ # Default value: 1.5.
325
+ # @!attribute [rw] max_poll_delay
326
+ # @return [::Google::Protobuf::Duration]
327
+ # Maximum time between two subsequent poll requests.
328
+ # Default value: 45 seconds.
329
+ # @!attribute [rw] total_poll_timeout
330
+ # @return [::Google::Protobuf::Duration]
331
+ # Total polling timeout.
332
+ # Default value: 5 minutes.
333
+ class LongRunning
334
+ include ::Google::Protobuf::MessageExts
335
+ extend ::Google::Protobuf::MessageExts::ClassMethods
336
+ end
337
+ end
338
+
339
+ # The organization for which the client libraries are being published.
340
+ # Affects the url where generated docs are published, etc.
341
+ module ClientLibraryOrganization
342
+ # Not useful.
343
+ CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED = 0
344
+
345
+ # Google Cloud Platform Org.
346
+ CLOUD = 1
347
+
348
+ # Ads (Advertising) Org.
349
+ ADS = 2
350
+
351
+ # Photos Org.
352
+ PHOTOS = 3
353
+
354
+ # Street View Org.
355
+ STREET_VIEW = 4
356
+
357
+ # Shopping Org.
358
+ SHOPPING = 5
359
+
360
+ # Geo Org.
361
+ GEO = 6
362
+
363
+ # Generative AI - https://developers.generativeai.google
364
+ GENERATIVE_AI = 7
365
+ end
366
+
367
+ # To where should client libraries be published?
368
+ module ClientLibraryDestination
369
+ # Client libraries will neither be generated nor published to package
370
+ # managers.
371
+ CLIENT_LIBRARY_DESTINATION_UNSPECIFIED = 0
372
+
373
+ # Generate the client library in a repo under github.com/googleapis,
374
+ # but don't publish it to package managers.
375
+ GITHUB = 10
376
+
377
+ # Publish the library to package managers like nuget.org and npmjs.com.
378
+ PACKAGE_MANAGER = 20
379
+ end
380
+ end
381
+ end
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Api
22
+ # The launch stage as defined by [Google Cloud Platform
23
+ # Launch Stages](https://cloud.google.com/terms/launch-stages).
24
+ module LaunchStage
25
+ # Do not use this default value.
26
+ LAUNCH_STAGE_UNSPECIFIED = 0
27
+
28
+ # The feature is not yet implemented. Users can not use it.
29
+ UNIMPLEMENTED = 6
30
+
31
+ # Prelaunch features are hidden from users and are only visible internally.
32
+ PRELAUNCH = 7
33
+
34
+ # Early Access features are limited to a closed group of testers. To use
35
+ # these features, you must sign up in advance and sign a Trusted Tester
36
+ # agreement (which includes confidentiality provisions). These features may
37
+ # be unstable, changed in backward-incompatible ways, and are not
38
+ # guaranteed to be released.
39
+ EARLY_ACCESS = 1
40
+
41
+ # Alpha is a limited availability test for releases before they are cleared
42
+ # for widespread use. By Alpha, all significant design issues are resolved
43
+ # and we are in the process of verifying functionality. Alpha customers
44
+ # need to apply for access, agree to applicable terms, and have their
45
+ # projects allowlisted. Alpha releases don't have to be feature complete,
46
+ # no SLAs are provided, and there are no technical support obligations, but
47
+ # they will be far enough along that customers can actually use them in
48
+ # test environments or for limited-use tests -- just like they would in
49
+ # normal production cases.
50
+ ALPHA = 2
51
+
52
+ # Beta is the point at which we are ready to open a release for any
53
+ # customer to use. There are no SLA or technical support obligations in a
54
+ # Beta release. Products will be complete from a feature perspective, but
55
+ # may have some open outstanding issues. Beta releases are suitable for
56
+ # limited production use cases.
57
+ BETA = 3
58
+
59
+ # GA features are open to all developers and are considered stable and
60
+ # fully qualified for production use.
61
+ GA = 4
62
+
63
+ # Deprecated features are scheduled to be shut down and removed. For more
64
+ # information, see the "Deprecation Policy" section of our [Terms of
65
+ # Service](https://cloud.google.com/terms/)
66
+ # and the [Google Cloud Platform Subject to the Deprecation
67
+ # Policy](https://cloud.google.com/terms/deprecation) documentation.
68
+ DEPRECATED = 5
69
+ end
70
+ end
71
+ end
@@ -38,9 +38,9 @@ module Google
38
38
  # Validation: <= 60 chars.
39
39
  # @!attribute [rw] budget_filter
40
40
  # @return [::Google::Cloud::Billing::Budgets::V1beta1::Filter]
41
- # Optional. Filters that define which resources are used to compute the actual spend
42
- # against the budget amount, such as projects, services, and the budget's
43
- # time period, as well as other filters.
41
+ # Optional. Filters that define which resources are used to compute the
42
+ # actual spend against the budget amount, such as projects, services, and the
43
+ # budget's time period, as well as other filters.
44
44
  # @!attribute [rw] amount
45
45
  # @return [::Google::Cloud::Billing::Budgets::V1beta1::BudgetAmount]
46
46
  # Required. Budgeted amount.
@@ -54,7 +54,8 @@ module Google
54
54
  # Required if using email notifications.
55
55
  # @!attribute [rw] all_updates_rule
56
56
  # @return [::Google::Cloud::Billing::Budgets::V1beta1::AllUpdatesRule]
57
- # Optional. Rules to apply to notifications sent based on budget spend and thresholds.
57
+ # Optional. Rules to apply to notifications sent based on budget spend and
58
+ # thresholds.
58
59
  # @!attribute [rw] etag
59
60
  # @return [::String]
60
61
  # Optional. Etag to validate that the object is unchanged for a
@@ -77,20 +78,23 @@ module Google
77
78
  # @return [::Google::Cloud::Billing::Budgets::V1beta1::LastPeriodAmount]
78
79
  # Use the last period's actual spend as the budget for the present period.
79
80
  # LastPeriodAmount can only be set when the budget's time period is a
80
- # {::Google::Cloud::Billing::Budgets::V1beta1::Filter#calendar_period Filter.calendar_period}. It cannot be set in combination with
81
+ # {::Google::Cloud::Billing::Budgets::V1beta1::Filter#calendar_period Filter.calendar_period}.
82
+ # It cannot be set in combination with
81
83
  # {::Google::Cloud::Billing::Budgets::V1beta1::Filter#custom_period Filter.custom_period}.
82
84
  class BudgetAmount
83
85
  include ::Google::Protobuf::MessageExts
84
86
  extend ::Google::Protobuf::MessageExts::ClassMethods
85
87
  end
86
88
 
87
- # Describes a budget amount targeted to the last {::Google::Cloud::Billing::Budgets::V1beta1::Filter#calendar_period Filter.calendar_period}
89
+ # Describes a budget amount targeted to the last
90
+ # {::Google::Cloud::Billing::Budgets::V1beta1::Filter#calendar_period Filter.calendar_period}
88
91
  # spend. At this time, the amount is automatically 100% of the last calendar
89
92
  # period's spend; that is, there are no other options yet.
90
93
  # Future configuration options will be described here (for example, configuring
91
94
  # a percentage of last period's spend).
92
95
  # LastPeriodAmount cannot be set for a budget configured with
93
- # a {::Google::Cloud::Billing::Budgets::V1beta1::Filter#custom_period Filter.custom_period}.
96
+ # a
97
+ # {::Google::Cloud::Billing::Budgets::V1beta1::Filter#custom_period Filter.custom_period}.
94
98
  class LastPeriodAmount
95
99
  include ::Google::Protobuf::MessageExts
96
100
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -142,7 +146,8 @@ module Google
142
146
  # Use forecasted spend for the period as the basis for comparison against
143
147
  # the threshold.
144
148
  # FORECASTED_SPEND can only be set when the budget's time period is a
145
- # {::Google::Cloud::Billing::Budgets::V1beta1::Filter#calendar_period Filter.calendar_period}. It cannot be set in combination with
149
+ # {::Google::Cloud::Billing::Budgets::V1beta1::Filter#calendar_period Filter.calendar_period}.
150
+ # It cannot be set in combination with
146
151
  # {::Google::Cloud::Billing::Budgets::V1beta1::Filter#custom_period Filter.custom_period}.
147
152
  FORECASTED_SPEND = 2
148
153
  end
@@ -152,10 +157,10 @@ module Google
152
157
  # and thresholds.
153
158
  # @!attribute [rw] pubsub_topic
154
159
  # @return [::String]
155
- # Optional. The name of the Pub/Sub topic where budget related messages will be
156
- # published, in the form `projects/{project_id}/topics/{topic_id}`. Updates
157
- # are sent at regular intervals to the topic.
158
- # The topic needs to be created before the budget is created; see
160
+ # Optional. The name of the Pub/Sub topic where budget related messages will
161
+ # be published, in the form `projects/{project_id}/topics/{topic_id}`.
162
+ # Updates are sent at regular intervals to the topic. The topic needs to be
163
+ # created before the budget is created; see
159
164
  # https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications
160
165
  # for more details.
161
166
  # Caller is expected to have
@@ -165,25 +170,28 @@ module Google
165
170
  # for more details on Pub/Sub roles and permissions.
166
171
  # @!attribute [rw] schema_version
167
172
  # @return [::String]
168
- # Optional. Required when {::Google::Cloud::Billing::Budgets::V1beta1::AllUpdatesRule#pubsub_topic AllUpdatesRule.pubsub_topic} is set. The schema version of
169
- # the notification sent to {::Google::Cloud::Billing::Budgets::V1beta1::AllUpdatesRule#pubsub_topic AllUpdatesRule.pubsub_topic}. Only "1.0" is
170
- # accepted. It represents the JSON schema as defined in
173
+ # Optional. Required when
174
+ # {::Google::Cloud::Billing::Budgets::V1beta1::AllUpdatesRule#pubsub_topic AllUpdatesRule.pubsub_topic}
175
+ # is set. The schema version of the notification sent to
176
+ # {::Google::Cloud::Billing::Budgets::V1beta1::AllUpdatesRule#pubsub_topic AllUpdatesRule.pubsub_topic}.
177
+ # Only "1.0" is accepted. It represents the JSON schema as defined in
171
178
  # https://cloud.google.com/billing/docs/how-to/budgets-programmatic-notifications#notification_format.
172
179
  # @!attribute [rw] monitoring_notification_channels
173
180
  # @return [::Array<::String>]
174
- # Optional. Targets to send notifications to when a threshold is exceeded. This is in
175
- # addition to default recipients who have billing account IAM roles.
176
- # The value is the full REST resource name of a monitoring notification
177
- # channel with the form
181
+ # Optional. Targets to send notifications to when a threshold is exceeded.
182
+ # This is in addition to default recipients who have billing account IAM
183
+ # roles. The value is the full REST resource name of a monitoring
184
+ # notification channel with the form
178
185
  # `projects/{project_id}/notificationChannels/{channel_id}`. A maximum of 5
179
186
  # channels are allowed. See
180
187
  # https://cloud.google.com/billing/docs/how-to/budgets-notification-recipients
181
188
  # for more details.
182
189
  # @!attribute [rw] disable_default_iam_recipients
183
190
  # @return [::Boolean]
184
- # Optional. When set to true, disables default notifications sent when a threshold is
185
- # exceeded. Default notifications are sent to those with Billing Account
186
- # Administrator and Billing Account User IAM roles for the target account.
191
+ # Optional. When set to true, disables default notifications sent when a
192
+ # threshold is exceeded. Default notifications are sent to those with Billing
193
+ # Account Administrator and Billing Account User IAM roles for the target
194
+ # account.
187
195
  class AllUpdatesRule
188
196
  include ::Google::Protobuf::MessageExts
189
197
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -196,17 +204,25 @@ module Google
196
204
  # specifying that usage from only this set of projects should be
197
205
  # included in the budget. If omitted, the report will include all usage for
198
206
  # the billing account, regardless of which project the usage occurred on.
199
- # Only zero or one project can be specified currently.
207
+ # @!attribute [rw] resource_ancestors
208
+ # @return [::Array<::String>]
209
+ # Optional. A set of folder and organization names of the form
210
+ # `folders/{folderId}` or `organizations/{organizationId}`, specifying that
211
+ # usage from only this set of folders and organizations should be included in
212
+ # the budget. If omitted, the report includes all usage for all
213
+ # organizations, regardless of which organization the usage occurred on.
200
214
  # @!attribute [rw] credit_types
201
215
  # @return [::Array<::String>]
202
- # Optional. If {::Google::Cloud::Billing::Budgets::V1beta1::Filter#credit_types_treatment Filter.credit_types_treatment} is INCLUDE_SPECIFIED_CREDITS, this is
203
- # a list of credit types to be subtracted from gross cost to determine the
204
- # spend for threshold calculations. See
205
- # [a list of acceptable credit type
216
+ # Optional. If
217
+ # {::Google::Cloud::Billing::Budgets::V1beta1::Filter#credit_types_treatment Filter.credit_types_treatment}
218
+ # is INCLUDE_SPECIFIED_CREDITS, this is a list of credit types to be
219
+ # subtracted from gross cost to determine the spend for threshold
220
+ # calculations. See [a list of acceptable credit type
206
221
  # values](https://cloud.google.com/billing/docs/how-to/export-data-bigquery-tables#credits-type).
207
222
  #
208
- # If {::Google::Cloud::Billing::Budgets::V1beta1::Filter#credit_types_treatment Filter.credit_types_treatment} is **not** INCLUDE_SPECIFIED_CREDITS,
209
- # this field must be empty.
223
+ # If
224
+ # {::Google::Cloud::Billing::Budgets::V1beta1::Filter#credit_types_treatment Filter.credit_types_treatment}
225
+ # is **not** INCLUDE_SPECIFIED_CREDITS, this field must be empty.
210
226
  # @!attribute [rw] credit_types_treatment
211
227
  # @return [::Google::Cloud::Billing::Budgets::V1beta1::Filter::CreditTypesTreatment]
212
228
  # Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`.
@@ -220,17 +236,17 @@ module Google
220
236
  # https://cloud.google.com/billing/v1/how-tos/catalog-api.
221
237
  # @!attribute [rw] subaccounts
222
238
  # @return [::Array<::String>]
223
- # Optional. A set of subaccounts of the form `billingAccounts/{account_id}`, specifying
224
- # that usage from only this set of subaccounts should be included in the
225
- # budget. If a subaccount is set to the name of the parent account,
239
+ # Optional. A set of subaccounts of the form `billingAccounts/{account_id}`,
240
+ # specifying that usage from only this set of subaccounts should be included
241
+ # in the budget. If a subaccount is set to the name of the parent account,
226
242
  # usage from the parent account will be included. If omitted, the
227
243
  # report will include usage from the parent account and all
228
244
  # subaccounts, if they exist.
229
245
  # @!attribute [rw] labels
230
246
  # @return [::Google::Protobuf::Map{::String => ::Google::Protobuf::ListValue}]
231
- # Optional. A single label and value pair specifying that usage from only this set of
232
- # labeled resources should be included in the budget. If omitted, the
233
- # report will include all labeled and unlabeled usage.
247
+ # Optional. A single label and value pair specifying that usage from only
248
+ # this set of labeled resources should be included in the budget. If omitted,
249
+ # the report will include all labeled and unlabeled usage.
234
250
  #
235
251
  # An object containing a single `"key": value` pair. Example: `{ "name":
236
252
  # "wrench" }`.
@@ -247,8 +263,8 @@ module Google
247
263
  # so on.
248
264
  # @!attribute [rw] custom_period
249
265
  # @return [::Google::Cloud::Billing::Budgets::V1beta1::CustomPeriod]
250
- # Optional. Specifies to track usage from any start date (required) to any end date
251
- # (optional). This time period is static, it does not recur.
266
+ # Optional. Specifies to track usage from any start date (required) to any
267
+ # end date (optional). This time period is static, it does not recur.
252
268
  class Filter
253
269
  include ::Google::Protobuf::MessageExts
254
270
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -292,9 +308,9 @@ module Google
292
308
  # Required. The start date must be after January 1, 2017.
293
309
  # @!attribute [rw] end_date
294
310
  # @return [::Google::Type::Date]
295
- # Optional. The end date of the time period. Budgets with elapsed end date won't be
296
- # processed. If unset, specifies to track all usage
297
- # incurred since the start_date.
311
+ # Optional. The end date of the time period. Budgets with elapsed end date
312
+ # won't be processed. If unset, specifies to track all usage incurred since
313
+ # the start_date.
298
314
  class CustomPeriod
299
315
  include ::Google::Protobuf::MessageExts
300
316
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -0,0 +1,98 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Protobuf
22
+ # A Duration represents a signed, fixed-length span of time represented
23
+ # as a count of seconds and fractions of seconds at nanosecond
24
+ # resolution. It is independent of any calendar and concepts like "day"
25
+ # or "month". It is related to Timestamp in that the difference between
26
+ # two Timestamp values is a Duration and it can be added or subtracted
27
+ # from a Timestamp. Range is approximately +-10,000 years.
28
+ #
29
+ # # Examples
30
+ #
31
+ # Example 1: Compute Duration from two Timestamps in pseudo code.
32
+ #
33
+ # Timestamp start = ...;
34
+ # Timestamp end = ...;
35
+ # Duration duration = ...;
36
+ #
37
+ # duration.seconds = end.seconds - start.seconds;
38
+ # duration.nanos = end.nanos - start.nanos;
39
+ #
40
+ # if (duration.seconds < 0 && duration.nanos > 0) {
41
+ # duration.seconds += 1;
42
+ # duration.nanos -= 1000000000;
43
+ # } else if (duration.seconds > 0 && duration.nanos < 0) {
44
+ # duration.seconds -= 1;
45
+ # duration.nanos += 1000000000;
46
+ # }
47
+ #
48
+ # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
49
+ #
50
+ # Timestamp start = ...;
51
+ # Duration duration = ...;
52
+ # Timestamp end = ...;
53
+ #
54
+ # end.seconds = start.seconds + duration.seconds;
55
+ # end.nanos = start.nanos + duration.nanos;
56
+ #
57
+ # if (end.nanos < 0) {
58
+ # end.seconds -= 1;
59
+ # end.nanos += 1000000000;
60
+ # } else if (end.nanos >= 1000000000) {
61
+ # end.seconds += 1;
62
+ # end.nanos -= 1000000000;
63
+ # }
64
+ #
65
+ # Example 3: Compute Duration from datetime.timedelta in Python.
66
+ #
67
+ # td = datetime.timedelta(days=3, minutes=10)
68
+ # duration = Duration()
69
+ # duration.FromTimedelta(td)
70
+ #
71
+ # # JSON Mapping
72
+ #
73
+ # In JSON format, the Duration type is encoded as a string rather than an
74
+ # object, where the string ends in the suffix "s" (indicating seconds) and
75
+ # is preceded by the number of seconds, with nanoseconds expressed as
76
+ # fractional seconds. For example, 3 seconds with 0 nanoseconds should be
77
+ # encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should
78
+ # be expressed in JSON format as "3.000000001s", and 3 seconds and 1
79
+ # microsecond should be expressed in JSON format as "3.000001s".
80
+ # @!attribute [rw] seconds
81
+ # @return [::Integer]
82
+ # Signed seconds of the span of time. Must be from -315,576,000,000
83
+ # to +315,576,000,000 inclusive. Note: these bounds are computed from:
84
+ # 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
85
+ # @!attribute [rw] nanos
86
+ # @return [::Integer]
87
+ # Signed fractions of a second at nanosecond resolution of the span
88
+ # of time. Durations less than one second are represented with a 0
89
+ # `seconds` field and a positive or negative `nanos` field. For durations
90
+ # of one second or more, a non-zero value for the `nanos` field must be
91
+ # of the same sign as the `seconds` field. Must be from -999,999,999
92
+ # to +999,999,999 inclusive.
93
+ class Duration
94
+ include ::Google::Protobuf::MessageExts
95
+ extend ::Google::Protobuf::MessageExts::ClassMethods
96
+ end
97
+ end
98
+ end
@@ -26,8 +26,6 @@ module Google
26
26
  # service Foo {
27
27
  # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
28
28
  # }
29
- #
30
- # The JSON representation for `Empty` is empty JSON object `{}`.
31
29
  class Empty
32
30
  include ::Google::Protobuf::MessageExts
33
31
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -87,7 +87,7 @@ module Google
87
87
  # `NullValue` is a singleton enumeration to represent the null value for the
88
88
  # `Value` type union.
89
89
  #
90
- # The JSON representation for `NullValue` is JSON `null`.
90
+ # The JSON representation for `NullValue` is JSON `null`.
91
91
  module NullValue
92
92
  # Null value.
93
93
  NULL_VALUE = 0
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-billing-budgets-v1beta1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-07-01 00:00:00.000000000 Z
11
+ date: 2023-06-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0.10'
19
+ version: 0.19.1
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: 2.a
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: '0.10'
29
+ version: 0.19.1
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 2.a
@@ -50,14 +50,14 @@ dependencies:
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: 1.26.1
53
+ version: 1.26.3
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: 1.26.1
60
+ version: 1.26.3
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: minitest
63
63
  requirement: !ruby/object:Gem::Requirement
@@ -180,10 +180,13 @@ files:
180
180
  - lib/google/cloud/billing/budgets/v1beta1/budget_service_services_pb.rb
181
181
  - lib/google/cloud/billing/budgets/v1beta1/version.rb
182
182
  - proto_docs/README.md
183
+ - proto_docs/google/api/client.rb
183
184
  - proto_docs/google/api/field_behavior.rb
185
+ - proto_docs/google/api/launch_stage.rb
184
186
  - proto_docs/google/api/resource.rb
185
187
  - proto_docs/google/cloud/billing/budgets/v1beta1/budget_model.rb
186
188
  - proto_docs/google/cloud/billing/budgets/v1beta1/budget_service.rb
189
+ - proto_docs/google/protobuf/duration.rb
187
190
  - proto_docs/google/protobuf/empty.rb
188
191
  - proto_docs/google/protobuf/field_mask.rb
189
192
  - proto_docs/google/protobuf/struct.rb
@@ -208,8 +211,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
208
211
  - !ruby/object:Gem::Version
209
212
  version: '0'
210
213
  requirements: []
211
- rubygems_version: 3.3.14
214
+ rubygems_version: 3.4.2
212
215
  signing_key:
213
216
  specification_version: 4
214
- summary: API Client library for the Billing Budgets V1beta1 API
217
+ summary: The Cloud Billing Budget API stores Cloud Billing budgets, which define a
218
+ budget plan and the rules to execute as spend is tracked against that plan.
215
219
  test_files: []