Class: Google::Apis::CloudbillingV1::PricingInfo

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
generated/google/apis/cloudbilling_v1/classes.rb,
generated/google/apis/cloudbilling_v1/representations.rb,
generated/google/apis/cloudbilling_v1/representations.rb

Overview

Represents the pricing information for a SKU at a single point of time.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Google::Apis::Core::JsonObjectSupport

#to_json

Methods included from Google::Apis::Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ PricingInfo

Returns a new instance of PricingInfo.


715
716
717
# File 'generated/google/apis/cloudbilling_v1/classes.rb', line 715

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#aggregation_infoGoogle::Apis::CloudbillingV1::AggregationInfo

Represents the aggregation level and interval for pricing of a single SKU. Corresponds to the JSON property aggregationInfo


681
682
683
# File 'generated/google/apis/cloudbilling_v1/classes.rb', line 681

def aggregation_info
  @aggregation_info
end

#currency_conversion_rateFloat

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 Corresponds to the JSON property currencyConversionRate

Returns:

  • (Float)

689
690
691
# File 'generated/google/apis/cloudbilling_v1/classes.rb', line 689

def currency_conversion_rate
  @currency_conversion_rate
end

#effective_timeString

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. Corresponds to the JSON property effectiveTime

Returns:

  • (String)

698
699
700
# File 'generated/google/apis/cloudbilling_v1/classes.rb', line 698

def effective_time
  @effective_time
end

#pricing_expressionGoogle::Apis::CloudbillingV1::PricingExpression

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. Corresponds to the JSON property pricingExpression


707
708
709
# File 'generated/google/apis/cloudbilling_v1/classes.rb', line 707

def pricing_expression
  @pricing_expression
end

#summaryString

An optional human readable summary of the pricing information, has a maximum length of 256 characters. Corresponds to the JSON property summary

Returns:

  • (String)

713
714
715
# File 'generated/google/apis/cloudbilling_v1/classes.rb', line 713

def summary
  @summary
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object


720
721
722
723
724
725
726
# File 'generated/google/apis/cloudbilling_v1/classes.rb', line 720

def update!(**args)
  @aggregation_info = args[:aggregation_info] if args.key?(:aggregation_info)
  @currency_conversion_rate = args[:currency_conversion_rate] if args.key?(:currency_conversion_rate)
  @effective_time = args[:effective_time] if args.key?(:effective_time)
  @pricing_expression = args[:pricing_expression] if args.key?(:pricing_expression)
  @summary = args[:summary] if args.key?(:summary)
end