Class: Orb::Models::Price::UnitWithPercent

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

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

Configuration for unit_with_percent pricing

Parameters:

  • percent (String) —

    What percent, out of 100, of the calculated total to charge

  • unit_amount (String) —

    Rate per unit of usage



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

Instance Attribute Details

#billable_metric ⇒ Orb::Models::BillableMetricTiny?

Parameters:

Returns:



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

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

#billing_cycle_configuration ⇒ Orb::Models::BillingCycleConfiguration



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

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

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

Parameters:

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

Returns:



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

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

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

Parameters:

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

Returns:



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

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

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

Parameters:

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

Returns:



5294
5295
5296
# File 'lib/orb/models/price.rb', line 5294

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

#conversion_rate ⇒ Float?

Parameters:

  • value (Float, nil)

Returns:

  • (Float, nil)


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

required :conversion_rate, Float, nil?: true

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

Parameters:

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

Returns:



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

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

#created_at ⇒ Time

Parameters:

  • value (Time)

Returns:

  • (Time)


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

required :created_at, Time

#credit_allocation ⇒ Orb::Models::Allocation?

Parameters:

Returns:



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

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

#currency ⇒ String

Parameters:

  • value (String)

Returns:

  • (String)


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

required :currency, String

#dimensional_price_configuration ⇒ Orb::Models::DimensionalPriceConfiguration?



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

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

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

Deprecated.


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

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

#external_price_id ⇒ String?

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :external_price_id, String, nil?: true

#fixed_price_quantity ⇒ Float?

Parameters:

  • value (Float, nil)

Returns:

  • (Float, nil)


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

required :fixed_price_quantity, Float, nil?: true

#id ⇒ String

Parameters:

  • value (String)

Returns:

  • (String)


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

required :id, String

#invoice_grouping_key ⇒ String?

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :invoice_grouping_key, String, nil?: true

#invoicing_cycle_configuration ⇒ Orb::Models::BillingCycleConfiguration?



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

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:



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

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

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

Returns:



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

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

#maximum ⇒ Orb::Models::Maximum?

Deprecated.

Parameters:

Returns:



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

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

#maximum_amount ⇒ String?

Deprecated.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

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


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

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

#minimum ⇒ Orb::Models::Minimum?

Deprecated.

Parameters:

Returns:



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

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

#minimum_amount ⇒ String?

Deprecated.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :minimum_amount, String, nil?: true

#model_type ⇒ Symbol, :unit_with_percent

The pricing model type

Parameters:

  • value (:unit_with_percent)

Returns:

  • (Symbol, :unit_with_percent)


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

required :model_type, const: :unit_with_percent

#name ⇒ String

Parameters:

  • value (String)

Returns:

  • (String)


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

required :name, String

#plan_phase_order ⇒ Integer?

Parameters:

  • value (Integer, nil)

Returns:

  • (Integer, nil)


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

required :plan_phase_order, Integer, nil?: true

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

Parameters:

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

Returns:



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

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


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

required :replaces_price_id, String, nil?: true

#unit_with_percent_config ⇒ Orb::Models::Price::UnitWithPercent::UnitWithPercentConfig

Configuration for unit_with_percent pricing

Parameters:

  • value (Orb::Price::UnitWithPercent::UnitWithPercentConfig)

Returns:



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

required :unit_with_percent_config, -> { Orb::Price::UnitWithPercent::UnitWithPercentConfig }

Class Method Details

.values ⇒ Array<Symbol>

Returns:

  • (Array<Symbol>)


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

Instance Method Details

#to_hash ⇒ {

Returns:

  • ({)


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

def to_hash: -> {