Class: Orb::Models::Price::ScalableMatrixWithTieredPricing

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, LicenseType, ScalableMatrixWithTieredPricingConfig

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(tier_lower_bound:, unit_amount:) ⇒ Object

Configuration for a single tier entry with business logic

Parameters:

  • tier_lower_bound (String)
  • unit_amount (String)


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

Instance Attribute Details

#billable_metric ⇒ Orb::Models::BillableMetricTiny?

Parameters:

Returns:



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

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

#billing_cycle_configuration ⇒ Orb::Models::BillingCycleConfiguration



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

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

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

Parameters:

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

Returns:



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

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

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

Parameters:

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

Returns:



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

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

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

Parameters:

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

Returns:



11553
11554
11555
11556
11557
# File 'lib/orb/models/price.rb', line 11553

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

#conversion_rate ⇒ Float?

Parameters:

  • value (Float, nil)

Returns:

  • (Float, nil)


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

required :conversion_rate, Float, nil?: true

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

Parameters:

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

Returns:



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

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

#created_at ⇒ Time

Parameters:

  • value (Time)

Returns:

  • (Time)


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

required :created_at, Time

#credit_allocation ⇒ Orb::Models::Allocation?

Parameters:

Returns:



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

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

#currency ⇒ String

Parameters:

  • value (String)

Returns:

  • (String)


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

required :currency, String

#dimensional_price_configuration ⇒ Orb::Models::DimensionalPriceConfiguration?



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

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

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

Deprecated.


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

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

#external_price_id ⇒ String?

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :external_price_id, String, nil?: true

#fixed_price_quantity ⇒ Float?

Parameters:

  • value (Float, nil)

Returns:

  • (Float, nil)


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

required :fixed_price_quantity, Float, nil?: true

#id ⇒ String

Parameters:

  • value (String)

Returns:

  • (String)


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

required :id, String

#invoice_grouping_key ⇒ String?

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :invoice_grouping_key, String, nil?: true

#invoicing_cycle_configuration ⇒ Orb::Models::BillingCycleConfiguration?



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

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:



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

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

#license_type ⇒ Orb::Models::Price::ScalableMatrixWithTieredPricing::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::ScalableMatrixWithTieredPricing::LicenseType, nil)

Returns:



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

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

#maximum ⇒ Orb::Models::Maximum?

Deprecated.

Parameters:

Returns:



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

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

#maximum_amount ⇒ String?

Deprecated.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

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})


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

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

#minimum ⇒ Orb::Models::Minimum?

Deprecated.

Parameters:

Returns:



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

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

#minimum_amount ⇒ String?

Deprecated.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :minimum_amount, String, nil?: true

#model_type ⇒ Symbol, :scalable_matrix_with_tiered_pricing

The pricing model type

Parameters:

  • value (:scalable_matrix_with_tiered_pricing)

Returns:

  • (Symbol, :scalable_matrix_with_tiered_pricing)


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

required :model_type, const: :scalable_matrix_with_tiered_pricing

#name ⇒ String

Parameters:

  • value (String)

Returns:

  • (String)


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

required :name, String

#plan_phase_order ⇒ Integer?

Parameters:

  • value (Integer, nil)

Returns:

  • (Integer, nil)


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

required :plan_phase_order, Integer, nil?: true

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

Parameters:

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

Returns:



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

required :price_type, enum: -> { Orb::Price::ScalableMatrixWithTieredPricing::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)


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

required :replaces_price_id, String, nil?: true

#scalable_matrix_with_tiered_pricing_config ⇒ Orb::Models::Price::ScalableMatrixWithTieredPricing::ScalableMatrixWithTieredPricingConfig

Configuration for scalable_matrix_with_tiered_pricing pricing

Parameters:

  • value (Orb::Price::ScalableMatrixWithTieredPricing::ScalableMatrixWithTieredPricingConfig)

Returns:



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

required :scalable_matrix_with_tiered_pricing_config,
-> { Orb::Price::ScalableMatrixWithTieredPricing::ScalableMatrixWithTieredPricingConfig }

Class Method Details

.values ⇒ Array<Symbol>

Returns:

  • (Array<Symbol>)


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

Instance Method Details

#to_hash ⇒ {

Returns:

  • ({)


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

def to_hash: -> {