Class: Orb::Models::Price::GroupedTieredMatrix

Inherits:
Internal::Type::BaseModel show all
Defined in:
lib/orb/models/price.rb,
sig/orb/models/price.rbs

Defined Under Namespace

Modules: BillingMode, Cadence, PriceType Classes: CompositePriceFilter, GroupedTieredMatrixConfig, LicenseType

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Internal::Type::BaseModel

==, #==, #[], coerce, #deconstruct_keys, #deep_to_h, dump, fields, hash, #hash, inherited, inspect, #inspect, known_fields, optional, recursively_to_h, required, #to_h, #to_json, #to_s, to_sorbet_type, #to_yaml

Methods included from Internal::Type::Converter

#coerce, coerce, #dump, dump, inspect, #inspect, meta_info, new_coerce_state, type_info

Methods included from Internal::Util::SorbetRuntimeSupport

#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type

Constructor Details

#initialize(dimension_value:, tier_lower_bound:, unit_amount:) ⇒ Object

Configuration for a single tier scoped to a dimension value

Parameters:

  • dimension_value (String) —

    The dimension value this tier applies to

  • tier_lower_bound (String)
  • unit_amount (String) —

    Per unit amount



# File 'lib/orb/models/price.rb', line 4194

Instance Attribute Details

#billable_metric ⇒ Orb::Models::BillableMetricTiny?

Parameters:

Returns:



4032
# File 'lib/orb/models/price.rb', line 4032

required :billable_metric, -> { Orb::BillableMetricTiny }, nil?: true

#billing_cycle_configuration ⇒ Orb::Models::BillingCycleConfiguration



4037
# File 'lib/orb/models/price.rb', line 4037

required :billing_cycle_configuration, -> { Orb::BillingCycleConfiguration }

#billing_mode ⇒ Symbol, Orb::Models::Price::GroupedTieredMatrix::BillingMode

Parameters:

  • value (Orb::Models::Price::GroupedTieredMatrix::billing_mode)

Returns:



4042
# File 'lib/orb/models/price.rb', line 4042

required :billing_mode, enum: -> { Orb::Price::GroupedTieredMatrix::BillingMode }

#cadence ⇒ Symbol, Orb::Models::Price::GroupedTieredMatrix::Cadence

Parameters:

  • value (Orb::Models::Price::GroupedTieredMatrix::cadence)

Returns:



4047
# File 'lib/orb/models/price.rb', line 4047

required :cadence, enum: -> { Orb::Price::GroupedTieredMatrix::Cadence }

#composite_price_filters ⇒ Array<Orb::Models::Price::GroupedTieredMatrix::CompositePriceFilter>?

Parameters:

  • value (::Array[Orb::Price::GroupedTieredMatrix::CompositePriceFilter], nil)

Returns:



4052
4053
4054
# File 'lib/orb/models/price.rb', line 4052

required :composite_price_filters,
-> { Orb::Internal::Type::ArrayOf[Orb::Price::GroupedTieredMatrix::CompositePriceFilter] },
nil?: true

#conversion_rate ⇒ Float?

Parameters:

  • value (Float, nil)

Returns:

  • (Float, nil)


4059
# File 'lib/orb/models/price.rb', line 4059

required :conversion_rate, Float, nil?: true

#conversion_rate_config ⇒ Orb::Models::UnitConversionRateConfig, ...

Parameters:

  • value (Orb::Models::conversion_rate_config, nil)

Returns:



4064
# File 'lib/orb/models/price.rb', line 4064

required :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true

#created_at ⇒ Time

Parameters:

  • value (Time)

Returns:

  • (Time)


4069
# File 'lib/orb/models/price.rb', line 4069

required :created_at, Time

#credit_allocation ⇒ Orb::Models::Allocation?

Parameters:

Returns:



4074
# File 'lib/orb/models/price.rb', line 4074

required :credit_allocation, -> { Orb::Allocation }, nil?: true

#currency ⇒ String

Parameters:

  • value (String)

Returns:

  • (String)


4079
# File 'lib/orb/models/price.rb', line 4079

required :currency, String

#dimensional_price_configuration ⇒ Orb::Models::DimensionalPriceConfiguration?



4184
# File 'lib/orb/models/price.rb', line 4184

optional :dimensional_price_configuration, -> { Orb::DimensionalPriceConfiguration }, nil?: true

#discount ⇒ Orb::Models::PercentageDiscount, ...

Deprecated.


4085
# File 'lib/orb/models/price.rb', line 4085

required :discount, union: -> { Orb::Discount }, nil?: true

#external_price_id ⇒ String?

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


4090
# File 'lib/orb/models/price.rb', line 4090

required :external_price_id, String, nil?: true

#fixed_price_quantity ⇒ Float?

Parameters:

  • value (Float, nil)

Returns:

  • (Float, nil)


4095
# File 'lib/orb/models/price.rb', line 4095

required :fixed_price_quantity, Float, nil?: true

#grouped_tiered_matrix_config ⇒ Orb::Models::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig

Configuration for grouped_tiered_matrix pricing

Parameters:

  • value (Orb::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig)

Returns:



4101
# File 'lib/orb/models/price.rb', line 4101

required :grouped_tiered_matrix_config, -> { Orb::Price::GroupedTieredMatrix::GroupedTieredMatrixConfig }

#id ⇒ String

Parameters:

  • value (String)

Returns:

  • (String)


4027
# File 'lib/orb/models/price.rb', line 4027

required :id, String

#invoice_grouping_key ⇒ String?

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


4106
# File 'lib/orb/models/price.rb', line 4106

required :invoice_grouping_key, String, nil?: true

#invoicing_cycle_configuration ⇒ Orb::Models::BillingCycleConfiguration?



4111
# File 'lib/orb/models/price.rb', line 4111

required :invoicing_cycle_configuration, -> { Orb::BillingCycleConfiguration }, nil?: true

#item ⇒ Orb::Models::ItemSlim

A minimal representation of an Item containing only the essential identifying information.

Parameters:

Returns:



4118
# File 'lib/orb/models/price.rb', line 4118

required :item, -> { Orb::ItemSlim }

#license_type ⇒ Orb::Models::Price::GroupedTieredMatrix::LicenseType?

The LicenseType resource represents a type of license that can be assigned to users. License types are used during billing by grouping metrics on the configured grouping key.

Parameters:

  • value (Orb::Price::GroupedTieredMatrix::LicenseType, nil)

Returns:



4192
# File 'lib/orb/models/price.rb', line 4192

optional :license_type, -> { Orb::Price::GroupedTieredMatrix::LicenseType }, nil?: true

#maximum ⇒ Orb::Models::Maximum?

Deprecated.

Parameters:

Returns:



4124
# File 'lib/orb/models/price.rb', line 4124

required :maximum, -> { Orb::Maximum }, nil?: true

#maximum_amount ⇒ String?

Deprecated.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


4130
# File 'lib/orb/models/price.rb', line 4130

required :maximum_amount, String, nil?: true

#metadata ⇒ Hash{Symbol=>String}

User specified key-value pairs for the resource. If not present, this defaults to an empty dictionary. Individual keys can be removed by setting the value to null, and the entire metadata mapping can be cleared by setting metadata to null.

Parameters:

  • value (::Hash[Symbol, String])

Returns:

  • (Hash{Symbol=>String})


4139
# File 'lib/orb/models/price.rb', line 4139

required :metadata, Orb::Internal::Type::HashOf[String]

#minimum ⇒ Orb::Models::Minimum?

Deprecated.

Parameters:

Returns:



4145
# File 'lib/orb/models/price.rb', line 4145

required :minimum, -> { Orb::Minimum }, nil?: true

#minimum_amount ⇒ String?

Deprecated.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


4151
# File 'lib/orb/models/price.rb', line 4151

required :minimum_amount, String, nil?: true

#model_type ⇒ Symbol, :grouped_tiered_matrix

The pricing model type

Parameters:

  • value (:grouped_tiered_matrix)

Returns:

  • (Symbol, :grouped_tiered_matrix)


4157
# File 'lib/orb/models/price.rb', line 4157

required :model_type, const: :grouped_tiered_matrix

#name ⇒ String

Parameters:

  • value (String)

Returns:

  • (String)


4162
# File 'lib/orb/models/price.rb', line 4162

required :name, String

#plan_phase_order ⇒ Integer?

Parameters:

  • value (Integer, nil)

Returns:

  • (Integer, nil)


4167
# File 'lib/orb/models/price.rb', line 4167

required :plan_phase_order, Integer, nil?: true

#price_type ⇒ Symbol, Orb::Models::Price::GroupedTieredMatrix::PriceType

Parameters:

  • value (Orb::Models::Price::GroupedTieredMatrix::price_type)

Returns:



4172
# File 'lib/orb/models/price.rb', line 4172

required :price_type, enum: -> { Orb::Price::GroupedTieredMatrix::PriceType }

#replaces_price_id ⇒ String?

The price id this price replaces. This price will take the place of the replaced price in plan version migrations.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


4179
# File 'lib/orb/models/price.rb', line 4179

required :replaces_price_id, String, nil?: true

Class Method Details

.values ⇒ Array<Symbol>

Returns:

  • (Array<Symbol>)


# File 'lib/orb/models/price.rb', line 4265

Instance Method Details

#to_hash ⇒ {

Returns:

  • ({)


3107
# File 'sig/orb/models/price.rbs', line 3107

def to_hash: -> {