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

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
lib/google/apis/cloudbilling_v1/classes.rb,
lib/google/apis/cloudbilling_v1/representations.rb,
lib/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

Constructor Details

#initialize(**args) ⇒ PricingInfo

Returns a new instance of PricingInfo.



792
793
794
# File 'lib/google/apis/cloudbilling_v1/classes.rb', line 792

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



758
759
760
# File 'lib/google/apis/cloudbilling_v1/classes.rb', line 758

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)


766
767
768
# File 'lib/google/apis/cloudbilling_v1/classes.rb', line 766

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)


775
776
777
# File 'lib/google/apis/cloudbilling_v1/classes.rb', line 775

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



784
785
786
# File 'lib/google/apis/cloudbilling_v1/classes.rb', line 784

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)


790
791
792
# File 'lib/google/apis/cloudbilling_v1/classes.rb', line 790

def summary
  @summary
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



797
798
799
800
801
802
803
# File 'lib/google/apis/cloudbilling_v1/classes.rb', line 797

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