| 
									
										
										
										
											2019-11-22 00:37:17 +00:00
										 |  |  | # Copyright 2015 Google Inc. | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # 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. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | require 'date' | 
					
						
							|  |  |  | require 'google/apis/core/base_service' | 
					
						
							|  |  |  | require 'google/apis/core/json_representation' | 
					
						
							|  |  |  | require 'google/apis/core/hashable' | 
					
						
							|  |  |  | require 'google/apis/errors' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | module Google | 
					
						
							|  |  |  |   module Apis | 
					
						
							|  |  |  |     module BillingbudgetsV1beta1 | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       class GoogleCloudBillingBudgetsV1beta1AllUpdatesRule | 
					
						
							|  |  |  |         class Representation < Google::Apis::Core::JsonRepresentation; end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         include Google::Apis::Core::JsonObjectSupport | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       class GoogleCloudBillingBudgetsV1beta1Budget | 
					
						
							|  |  |  |         class Representation < Google::Apis::Core::JsonRepresentation; end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         include Google::Apis::Core::JsonObjectSupport | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       class GoogleCloudBillingBudgetsV1beta1BudgetAmount | 
					
						
							|  |  |  |         class Representation < Google::Apis::Core::JsonRepresentation; end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         include Google::Apis::Core::JsonObjectSupport | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       class GoogleCloudBillingBudgetsV1beta1CreateBudgetRequest | 
					
						
							|  |  |  |         class Representation < Google::Apis::Core::JsonRepresentation; end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         include Google::Apis::Core::JsonObjectSupport | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       class GoogleCloudBillingBudgetsV1beta1Filter | 
					
						
							|  |  |  |         class Representation < Google::Apis::Core::JsonRepresentation; end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         include Google::Apis::Core::JsonObjectSupport | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       class GoogleCloudBillingBudgetsV1beta1LastPeriodAmount | 
					
						
							|  |  |  |         class Representation < Google::Apis::Core::JsonRepresentation; end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         include Google::Apis::Core::JsonObjectSupport | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       class GoogleCloudBillingBudgetsV1beta1ListBudgetsResponse | 
					
						
							|  |  |  |         class Representation < Google::Apis::Core::JsonRepresentation; end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         include Google::Apis::Core::JsonObjectSupport | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       class GoogleCloudBillingBudgetsV1beta1ThresholdRule | 
					
						
							|  |  |  |         class Representation < Google::Apis::Core::JsonRepresentation; end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         include Google::Apis::Core::JsonObjectSupport | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       class GoogleCloudBillingBudgetsV1beta1UpdateBudgetRequest | 
					
						
							|  |  |  |         class Representation < Google::Apis::Core::JsonRepresentation; end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         include Google::Apis::Core::JsonObjectSupport | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       class GoogleProtobufEmpty | 
					
						
							|  |  |  |         class Representation < Google::Apis::Core::JsonRepresentation; end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         include Google::Apis::Core::JsonObjectSupport | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       class GoogleTypeMoney | 
					
						
							|  |  |  |         class Representation < Google::Apis::Core::JsonRepresentation; end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         include Google::Apis::Core::JsonObjectSupport | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       class GoogleCloudBillingBudgetsV1beta1AllUpdatesRule | 
					
						
							|  |  |  |         # @private | 
					
						
							|  |  |  |         class Representation < Google::Apis::Core::JsonRepresentation | 
					
						
							| 
									
										
										
										
											2020-09-15 00:38:05 +00:00
										 |  |  |           property :disable_default_iam_recipients, as: 'disableDefaultIamRecipients' | 
					
						
							| 
									
										
										
										
											2020-07-15 00:38:40 +00:00
										 |  |  |           collection :monitoring_notification_channels, as: 'monitoringNotificationChannels' | 
					
						
							| 
									
										
										
										
											2019-11-22 00:37:17 +00:00
										 |  |  |           property :pubsub_topic, as: 'pubsubTopic' | 
					
						
							|  |  |  |           property :schema_version, as: 'schemaVersion' | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       class GoogleCloudBillingBudgetsV1beta1Budget | 
					
						
							|  |  |  |         # @private | 
					
						
							|  |  |  |         class Representation < Google::Apis::Core::JsonRepresentation | 
					
						
							|  |  |  |           property :all_updates_rule, as: 'allUpdatesRule', class: Google::Apis::BillingbudgetsV1beta1::GoogleCloudBillingBudgetsV1beta1AllUpdatesRule, decorator: Google::Apis::BillingbudgetsV1beta1::GoogleCloudBillingBudgetsV1beta1AllUpdatesRule::Representation | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |           property :amount, as: 'amount', class: Google::Apis::BillingbudgetsV1beta1::GoogleCloudBillingBudgetsV1beta1BudgetAmount, decorator: Google::Apis::BillingbudgetsV1beta1::GoogleCloudBillingBudgetsV1beta1BudgetAmount::Representation | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |           property :budget_filter, as: 'budgetFilter', class: Google::Apis::BillingbudgetsV1beta1::GoogleCloudBillingBudgetsV1beta1Filter, decorator: Google::Apis::BillingbudgetsV1beta1::GoogleCloudBillingBudgetsV1beta1Filter::Representation | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |           property :display_name, as: 'displayName' | 
					
						
							|  |  |  |           property :etag, as: 'etag' | 
					
						
							|  |  |  |           property :name, as: 'name' | 
					
						
							|  |  |  |           collection :threshold_rules, as: 'thresholdRules', class: Google::Apis::BillingbudgetsV1beta1::GoogleCloudBillingBudgetsV1beta1ThresholdRule, decorator: Google::Apis::BillingbudgetsV1beta1::GoogleCloudBillingBudgetsV1beta1ThresholdRule::Representation | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       class GoogleCloudBillingBudgetsV1beta1BudgetAmount | 
					
						
							|  |  |  |         # @private | 
					
						
							|  |  |  |         class Representation < Google::Apis::Core::JsonRepresentation | 
					
						
							|  |  |  |           property :last_period_amount, as: 'lastPeriodAmount', class: Google::Apis::BillingbudgetsV1beta1::GoogleCloudBillingBudgetsV1beta1LastPeriodAmount, decorator: Google::Apis::BillingbudgetsV1beta1::GoogleCloudBillingBudgetsV1beta1LastPeriodAmount::Representation | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |           property :specified_amount, as: 'specifiedAmount', class: Google::Apis::BillingbudgetsV1beta1::GoogleTypeMoney, decorator: Google::Apis::BillingbudgetsV1beta1::GoogleTypeMoney::Representation | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       class GoogleCloudBillingBudgetsV1beta1CreateBudgetRequest | 
					
						
							|  |  |  |         # @private | 
					
						
							|  |  |  |         class Representation < Google::Apis::Core::JsonRepresentation | 
					
						
							|  |  |  |           property :budget, as: 'budget', class: Google::Apis::BillingbudgetsV1beta1::GoogleCloudBillingBudgetsV1beta1Budget, decorator: Google::Apis::BillingbudgetsV1beta1::GoogleCloudBillingBudgetsV1beta1Budget::Representation | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       class GoogleCloudBillingBudgetsV1beta1Filter | 
					
						
							|  |  |  |         # @private | 
					
						
							|  |  |  |         class Representation < Google::Apis::Core::JsonRepresentation | 
					
						
							|  |  |  |           property :credit_types_treatment, as: 'creditTypesTreatment' | 
					
						
							| 
									
										
										
										
											2020-05-20 00:37:45 +00:00
										 |  |  |           hash :labels, as: 'labels', :class => Array do | 
					
						
							|  |  |  |         include Representable::JSON::Collection | 
					
						
							|  |  |  |         items | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-11-22 00:37:17 +00:00
										 |  |  |           collection :projects, as: 'projects' | 
					
						
							|  |  |  |           collection :services, as: 'services' | 
					
						
							| 
									
										
										
										
											2020-05-20 00:37:45 +00:00
										 |  |  |           collection :subaccounts, as: 'subaccounts' | 
					
						
							| 
									
										
										
										
											2019-11-22 00:37:17 +00:00
										 |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       class GoogleCloudBillingBudgetsV1beta1LastPeriodAmount | 
					
						
							|  |  |  |         # @private | 
					
						
							|  |  |  |         class Representation < Google::Apis::Core::JsonRepresentation | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       class GoogleCloudBillingBudgetsV1beta1ListBudgetsResponse | 
					
						
							|  |  |  |         # @private | 
					
						
							|  |  |  |         class Representation < Google::Apis::Core::JsonRepresentation | 
					
						
							|  |  |  |           collection :budgets, as: 'budgets', class: Google::Apis::BillingbudgetsV1beta1::GoogleCloudBillingBudgetsV1beta1Budget, decorator: Google::Apis::BillingbudgetsV1beta1::GoogleCloudBillingBudgetsV1beta1Budget::Representation | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |           property :next_page_token, as: 'nextPageToken' | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       class GoogleCloudBillingBudgetsV1beta1ThresholdRule | 
					
						
							|  |  |  |         # @private | 
					
						
							|  |  |  |         class Representation < Google::Apis::Core::JsonRepresentation | 
					
						
							|  |  |  |           property :spend_basis, as: 'spendBasis' | 
					
						
							|  |  |  |           property :threshold_percent, as: 'thresholdPercent' | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       class GoogleCloudBillingBudgetsV1beta1UpdateBudgetRequest | 
					
						
							|  |  |  |         # @private | 
					
						
							|  |  |  |         class Representation < Google::Apis::Core::JsonRepresentation | 
					
						
							|  |  |  |           property :budget, as: 'budget', class: Google::Apis::BillingbudgetsV1beta1::GoogleCloudBillingBudgetsV1beta1Budget, decorator: Google::Apis::BillingbudgetsV1beta1::GoogleCloudBillingBudgetsV1beta1Budget::Representation | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |           property :update_mask, as: 'updateMask' | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       class GoogleProtobufEmpty | 
					
						
							|  |  |  |         # @private | 
					
						
							|  |  |  |         class Representation < Google::Apis::Core::JsonRepresentation | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       class GoogleTypeMoney | 
					
						
							|  |  |  |         # @private | 
					
						
							|  |  |  |         class Representation < Google::Apis::Core::JsonRepresentation | 
					
						
							|  |  |  |           property :currency_code, as: 'currencyCode' | 
					
						
							|  |  |  |           property :nanos, as: 'nanos' | 
					
						
							|  |  |  |           property :units, :numeric_string => true, as: 'units' | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end |