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-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
|