Class: Google::Apis::CloudbillingV1::PricingExpression

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

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.

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) ⇒ PricingExpression

Returns a new instance of PricingExpression.



747
748
749
# File 'generated/google/apis/cloudbilling_v1/classes.rb', line 747

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

Instance Attribute Details

#base_unitString

The base unit for the SKU which is the unit used in usage exports. Example: "By" Corresponds to the JSON property baseUnit

Returns:

  • (String)


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

def base_unit
  @base_unit
end

#base_unit_conversion_factorFloat

Conversion factor for converting from price per usage_unit to price per base_unit, and start_usage_amount to start_usage_amount in base_unit. unit_price / base_unit_conversion_factor = price per base_unit. start_usage_amount * base_unit_conversion_factor = start_usage_amount in base_unit. Corresponds to the JSON property baseUnitConversionFactor

Returns:

  • (Float)


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

def base_unit_conversion_factor
  @base_unit_conversion_factor
end

#base_unit_descriptionString

The base unit in human readable form. Example: "byte". Corresponds to the JSON property baseUnitDescription

Returns:

  • (String)


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

def base_unit_description
  @base_unit_description
end

#display_quantityFloat

The recommended quantity of units for displaying pricing info. When displaying pricing info it is recommended to display: (unit_price * display_quantity) per display_quantity usage_unit. This field does not affect the pricing formula and is for display purposes only. Example: If the unit_price is "0.0001 USD", the usage_unit is "GB" and the display_quantity is "1000" then the recommended way of displaying the pricing info is "0.10 USD per 1000 GB" Corresponds to the JSON property displayQuantity

Returns:

  • (Float)


726
727
728
# File 'generated/google/apis/cloudbilling_v1/classes.rb', line 726

def display_quantity
  @display_quantity
end

#tiered_ratesArray<Google::Apis::CloudbillingV1::TierRate>

The list of tiered rates for this pricing. The total cost is computed by applying each of the tiered rates on usage. This repeated list is sorted by ascending order of start_usage_amount. Corresponds to the JSON property tieredRates



733
734
735
# File 'generated/google/apis/cloudbilling_v1/classes.rb', line 733

def tiered_rates
  @tiered_rates
end

#usage_unitString

The short hand for unit of usage this pricing is specified in. Example: usage_unit of "GiBy" means that usage is specified in "Gibi Byte". Corresponds to the JSON property usageUnit

Returns:

  • (String)


739
740
741
# File 'generated/google/apis/cloudbilling_v1/classes.rb', line 739

def usage_unit
  @usage_unit
end

#usage_unit_descriptionString

The unit of usage in human readable form. Example: "gibi byte". Corresponds to the JSON property usageUnitDescription

Returns:

  • (String)


745
746
747
# File 'generated/google/apis/cloudbilling_v1/classes.rb', line 745

def usage_unit_description
  @usage_unit_description
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



752
753
754
755
756
757
758
759
760
# File 'generated/google/apis/cloudbilling_v1/classes.rb', line 752

def update!(**args)
  @base_unit = args[:base_unit] if args.key?(:base_unit)
  @base_unit_conversion_factor = args[:base_unit_conversion_factor] if args.key?(:base_unit_conversion_factor)
  @base_unit_description = args[:base_unit_description] if args.key?(:base_unit_description)
  @display_quantity = args[:display_quantity] if args.key?(:display_quantity)
  @tiered_rates = args[:tiered_rates] if args.key?(:tiered_rates)
  @usage_unit = args[:usage_unit] if args.key?(:usage_unit)
  @usage_unit_description = args[:usage_unit_description] if args.key?(:usage_unit_description)
end