Class: Orb::Models::Price::Tiered

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

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(id:, billable_metric:, billing_cycle_configuration:, billing_mode:, cadence:, composite_price_filters:, conversion_rate:, conversion_rate_config:, created_at:, credit_allocation:, currency:, discount:, external_price_id:, fixed_price_quantity:, invoice_grouping_key:, invoicing_cycle_configuration:, item:, maximum:, maximum_amount:, metadata:, minimum:, minimum_amount:, name:, plan_phase_order:, price_type:, replaces_price_id:, tiered_config:, dimensional_price_configuration: nil, license_type: nil, model_type: :tiered) ⇒ Object

Some parameter documentations has been truncated, see Orb::Models::Price::Tiered for more details.

Parameters:



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

Instance Attribute Details

#billable_metric ⇒ Orb::Models::BillableMetricTiny?

Parameters:

Returns:



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

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

#billing_cycle_configuration ⇒ Orb::Models::BillingCycleConfiguration



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

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

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

Parameters:

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

Returns:



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

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

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

Parameters:

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

Returns:



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

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

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

Parameters:

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

Returns:



487
488
489
# File 'lib/orb/models/price.rb', line 487

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

#conversion_rate ⇒ Float?

Parameters:

  • value (Float, nil)

Returns:

  • (Float, nil)


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

required :conversion_rate, Float, nil?: true

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

Parameters:

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

Returns:



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

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

#created_at ⇒ Time

Parameters:

  • value (Time)

Returns:

  • (Time)


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

required :created_at, Time

#credit_allocation ⇒ Orb::Models::Allocation?

Parameters:

Returns:



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

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

#currency ⇒ String

Parameters:

  • value (String)

Returns:

  • (String)


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

required :currency, String

#dimensional_price_configuration ⇒ Orb::Models::DimensionalPriceConfiguration?



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

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

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

Deprecated.


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

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

#external_price_id ⇒ String?

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :external_price_id, String, nil?: true

#fixed_price_quantity ⇒ Float?

Parameters:

  • value (Float, nil)

Returns:

  • (Float, nil)


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

required :fixed_price_quantity, Float, nil?: true

#id ⇒ String

Parameters:

  • value (String)

Returns:

  • (String)


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

required :id, String

#invoice_grouping_key ⇒ String?

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :invoice_grouping_key, String, nil?: true

#invoicing_cycle_configuration ⇒ Orb::Models::BillingCycleConfiguration?



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

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:



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

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

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

Returns:



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

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

#maximum ⇒ Orb::Models::Maximum?

Deprecated.

Parameters:

Returns:



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

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

#maximum_amount ⇒ String?

Deprecated.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

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


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

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

#minimum ⇒ Orb::Models::Minimum?

Deprecated.

Parameters:

Returns:



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

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

#minimum_amount ⇒ String?

Deprecated.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :minimum_amount, String, nil?: true

#model_type ⇒ Symbol, :tiered

The pricing model type

Parameters:

  • value (:tiered)

Returns:

  • (Symbol, :tiered)


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

required :model_type, const: :tiered

#name ⇒ String

Parameters:

  • value (String)

Returns:

  • (String)


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

required :name, String

#plan_phase_order ⇒ Integer?

Parameters:

  • value (Integer, nil)

Returns:

  • (Integer, nil)


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

required :plan_phase_order, Integer, nil?: true

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

Parameters:

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

Returns:



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

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


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

required :replaces_price_id, String, nil?: true

#tiered_config ⇒ Orb::Models::TieredConfig

Configuration for tiered pricing

Parameters:

Returns:



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

required :tiered_config, -> { Orb::TieredConfig }

Class Method Details

.values ⇒ Array<Symbol>

Returns:

  • (Array<Symbol>)


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

Instance Method Details

#to_hash ⇒ {

Returns:

  • ({)


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

def to_hash: -> {