View Source GoogleApi.ContentWarehouse.V1.Model.GeostoreDurationBasedRateProto (google_api_content_warehouse v0.3.0)

A single cost which will apply based on the duration of utilization. The cost may apply once, or repeatedly on some interval, to account for the total utilization. If the duration expressed by range_start_seconds and range_end_seconds do not cover the entire duration of the utilization (i.e. from 0 to some time greater than the total utilization time), this must be combined with other DurationBasedRateProtos such that the entire duration of the utilization is accounted for. See go/rate-schema for more details.

Attributes

  • isFree (type: boolean(), default: nil) - If true, represents that the rate is free; i.e. the price is 0 in any currency. If this is true, price must be empty.
  • periodicitySeconds (type: integer(), default: nil) - The billable unit of the rate; i.e. after having utilized the service for exactly periodicity_seconds, the total cost should increase by ‘price’. For example, if the rate expresses a price per hour, then periodicity_seconds should be set to 3600. If this is unset, then the rate does not vary based on duration, and price represents a flat cost. May only be set if price is nonempty.
  • price (type: list(GoogleApi.ContentWarehouse.V1.Model.FreebaseTopic.t), default: nil) - The total price, in each applicable currency, of utilizing the service for periodicity_seconds, or for the entire duration expressed by range_start_seconds and range_end_seconds if periodicity_seconds is 0. Each entry should have an ID of /measurement_unit/money_value and consist of two properties: one with an ID of /measurement_unit/money_value/amount and a float value with the amount, and another with the ID /measurement_unit/money_value/currency and an ID value with the MID of the proper currency. May only be set if is_free is false.
  • rangeEndSeconds (type: integer(), default: nil) - Upper bound for durations to match, exclusive. Unset implies indefinite.
  • rangeStartSeconds (type: integer(), default: nil) - Lower bound for durations to match, inclusive. Required; a value of 0 expresses that the price applies from the start of the utilization period.

Summary

Functions

Unwrap a decoded JSON object into its complex fields.

Types

@type t() :: %GoogleApi.ContentWarehouse.V1.Model.GeostoreDurationBasedRateProto{
  isFree: boolean() | nil,
  periodicitySeconds: integer() | nil,
  price: [GoogleApi.ContentWarehouse.V1.Model.FreebaseTopic.t()] | nil,
  rangeEndSeconds: integer() | nil,
  rangeStartSeconds: integer() | nil
}

Functions

@spec decode(struct(), keyword()) :: struct()

Unwrap a decoded JSON object into its complex fields.