Class PricingExpression (1.0.0)

PricingExpression(mapping=None, *, ignore_unknown_fields=False, **kwargs)

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.

Attributes

NameDescription
usage_unit str
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".
usage_unit_description str
The unit of usage in human readable form. Example: "gibi byte".
base_unit str
The base unit for the SKU which is the unit used in usage exports. Example: "By".
base_unit_description str
The base unit in human readable form. Example: "byte".
base_unit_conversion_factor float
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.
display_quantity float
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".
tiered_rates Sequence[.cloud_catalog.PricingExpression.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.

Classes

TierRate

TierRate(mapping=None, *, ignore_unknown_fields=False, **kwargs)

The price rate indicating starting usage and its corresponding price.

Methods

__delattr__

__delattr__(key)

Delete the value on the given field.

This is generally equivalent to setting a falsy value.

__eq__

__eq__(other)

Return True if the messages are equal, False otherwise.

__ne__

__ne__(other)

Return True if the messages are unequal, False otherwise.

__setattr__

__setattr__(key, value)

Set the value on the given field.

For well-known protocol buffer types which are marshalled, either the protocol buffer object or the Python equivalent is accepted.