Class: Orb::Models::Price::Percent

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

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:, maximum_amount: nil, minimum_amount: nil, prorated: nil) ⇒ Object

Some parameter documentations has been truncated, see PercentConfig for more details.

Configuration for percent pricing

Parameters:

  • percent (Float) —

    Fraction of the component subtotals to charge (0 < percent <= 1).

  • maximum_amount (String, nil) (defaults to: nil) —

    Maximum amount to charge. If unset, the fee has no upper bound.

  • minimum_amount (String, nil) (defaults to: nil) —

    Minimum amount to charge. If unset, the fee is bounded below by 0.

  • prorated (Boolean) (defaults to: nil) —

    If true, the minimum_amount is prorated based on the service period. The maximum



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

Instance Attribute Details

#billable_metric ⇒ Orb::Models::BillableMetricTiny?

Parameters:

Returns:



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

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

#billing_cycle_configuration ⇒ Orb::Models::BillingCycleConfiguration



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

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

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

Parameters:

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

Returns:



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

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

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

Parameters:

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

Returns:



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

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

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

Parameters:

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

Returns:



14094
14095
14096
# File 'lib/orb/models/price.rb', line 14094

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

#conversion_rate ⇒ Float?

Parameters:

  • value (Float, nil)

Returns:

  • (Float, nil)


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

required :conversion_rate, Float, nil?: true

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

Parameters:

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

Returns:



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

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

#created_at ⇒ Time

Parameters:

  • value (Time)

Returns:

  • (Time)


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

required :created_at, Time

#credit_allocation ⇒ Orb::Models::Allocation?

Parameters:

Returns:



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

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

#currency ⇒ String

Parameters:

  • value (String)

Returns:

  • (String)


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

required :currency, String

#dimensional_price_configuration ⇒ Orb::Models::DimensionalPriceConfiguration?



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

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

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

Deprecated.


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

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

#external_price_id ⇒ String?

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :external_price_id, String, nil?: true

#fixed_price_quantity ⇒ Float?

Parameters:

  • value (Float, nil)

Returns:

  • (Float, nil)


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

required :fixed_price_quantity, Float, nil?: true

#id ⇒ String

Parameters:

  • value (String)

Returns:

  • (String)


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

required :id, String

#invoice_grouping_key ⇒ String?

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :invoice_grouping_key, String, nil?: true

#invoicing_cycle_configuration ⇒ Orb::Models::BillingCycleConfiguration?



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

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:



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

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

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

Returns:



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

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

#maximum ⇒ Orb::Models::Maximum?

Deprecated.

Parameters:

Returns:



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

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

#maximum_amount ⇒ String?

Deprecated.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

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


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

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

#minimum ⇒ Orb::Models::Minimum?

Deprecated.

Parameters:

Returns:



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

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

#minimum_amount ⇒ String?

Deprecated.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :minimum_amount, String, nil?: true

#model_type ⇒ Symbol, :percent

The pricing model type

Parameters:

  • value (:percent)

Returns:

  • (Symbol, :percent)


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

required :model_type, const: :percent

#name ⇒ String

Parameters:

  • value (String)

Returns:

  • (String)


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

required :name, String

#percent_config ⇒ Orb::Models::Price::Percent::PercentConfig

Configuration for percent pricing

Parameters:

  • value (Orb::Price::Percent::PercentConfig)

Returns:



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

required :percent_config, -> { Orb::Price::Percent::PercentConfig }

#plan_phase_order ⇒ Integer?

Parameters:

  • value (Integer, nil)

Returns:

  • (Integer, nil)


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

required :plan_phase_order, Integer, nil?: true

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

Parameters:

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

Returns:



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

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


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

required :replaces_price_id, String, nil?: true

Class Method Details

.values ⇒ Array<Symbol>

Returns:

  • (Array<Symbol>)


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

Instance Method Details

#to_hash ⇒ {

Returns:

  • ({)


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

def to_hash: -> {