Class: Orb::Models::Price::TieredPackage

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, TieredPackageConfig

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

Configuration for a single tier with business logic

Parameters:

  • per_unit (String) —

    Price per package

  • tier_lower_bound (String)


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

Instance Attribute Details

#billable_metric ⇒ Orb::Models::BillableMetricTiny?

Parameters:

Returns:



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

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

#billing_cycle_configuration ⇒ Orb::Models::BillingCycleConfiguration



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

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

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

Parameters:

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

Returns:



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

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

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

Parameters:

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

Returns:



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

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

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

Parameters:

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

Returns:



2798
2799
2800
# File 'lib/orb/models/price.rb', line 2798

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

#conversion_rate ⇒ Float?

Parameters:

  • value (Float, nil)

Returns:

  • (Float, nil)


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

required :conversion_rate, Float, nil?: true

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

Parameters:

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

Returns:



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

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

#created_at ⇒ Time

Parameters:

  • value (Time)

Returns:

  • (Time)


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

required :created_at, Time

#credit_allocation ⇒ Orb::Models::Allocation?

Parameters:

Returns:



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

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

#currency ⇒ String

Parameters:

  • value (String)

Returns:

  • (String)


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

required :currency, String

#dimensional_price_configuration ⇒ Orb::Models::DimensionalPriceConfiguration?



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

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

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

Deprecated.


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

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

#external_price_id ⇒ String?

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :external_price_id, String, nil?: true

#fixed_price_quantity ⇒ Float?

Parameters:

  • value (Float, nil)

Returns:

  • (Float, nil)


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

required :fixed_price_quantity, Float, nil?: true

#id ⇒ String

Parameters:

  • value (String)

Returns:

  • (String)


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

required :id, String

#invoice_grouping_key ⇒ String?

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :invoice_grouping_key, String, nil?: true

#invoicing_cycle_configuration ⇒ Orb::Models::BillingCycleConfiguration?



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

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:



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

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

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

Returns:



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

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

#maximum ⇒ Orb::Models::Maximum?

Deprecated.

Parameters:

Returns:



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

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

#maximum_amount ⇒ String?

Deprecated.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

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


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

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

#minimum ⇒ Orb::Models::Minimum?

Deprecated.

Parameters:

Returns:



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

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

#minimum_amount ⇒ String?

Deprecated.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :minimum_amount, String, nil?: true

#model_type ⇒ Symbol, :tiered_package

The pricing model type

Parameters:

  • value (:tiered_package)

Returns:

  • (Symbol, :tiered_package)


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

required :model_type, const: :tiered_package

#name ⇒ String

Parameters:

  • value (String)

Returns:

  • (String)


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

required :name, String

#plan_phase_order ⇒ Integer?

Parameters:

  • value (Integer, nil)

Returns:

  • (Integer, nil)


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

required :plan_phase_order, Integer, nil?: true

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

Parameters:

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

Returns:



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

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


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

required :replaces_price_id, String, nil?: true

#tiered_package_config ⇒ Orb::Models::Price::TieredPackage::TieredPackageConfig

Configuration for tiered_package pricing

Parameters:

  • value (Orb::Price::TieredPackage::TieredPackageConfig)

Returns:



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

required :tiered_package_config, -> { Orb::Price::TieredPackage::TieredPackageConfig }

Class Method Details

.values ⇒ Array<Symbol>

Returns:

  • (Array<Symbol>)


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

Instance Method Details

#to_hash ⇒ {

Returns:

  • ({)


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

def to_hash: -> {