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 13787

Instance Attribute Details

#billable_metricOrb::Models::BillableMetricTiny?

Parameters:

Returns:



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

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

#billing_cycle_configurationOrb::Models::BillingCycleConfiguration



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

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

#billing_modeSymbol, Orb::Models::Price::Percent::BillingMode

Parameters:

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

Returns:



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

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

#cadenceSymbol, Orb::Models::Price::Percent::Cadence

Parameters:

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

Returns:



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

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

#composite_price_filtersArray<Orb::Models::Price::Percent::CompositePriceFilter>?

Parameters:

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

Returns:



13645
13646
13647
# File 'lib/orb/models/price.rb', line 13645

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

#conversion_rateFloat?

Parameters:

  • value (Float, nil)

Returns:

  • (Float, nil)


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

required :conversion_rate, Float, nil?: true

#conversion_rate_configOrb::Models::UnitConversionRateConfig, ...

Parameters:

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

Returns:



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

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

#created_atTime

Parameters:

  • value (Time)

Returns:

  • (Time)


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

required :created_at, Time

#credit_allocationOrb::Models::Allocation?

Parameters:

Returns:



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

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

#currencyString

Parameters:

  • value (String)

Returns:

  • (String)


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

required :currency, String

#dimensional_price_configurationOrb::Models::DimensionalPriceConfiguration?



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

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

#discountOrb::Models::PercentageDiscount, ...

Deprecated.


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

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

#external_price_idString?

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :external_price_id, String, nil?: true

#fixed_price_quantityFloat?

Parameters:

  • value (Float, nil)

Returns:

  • (Float, nil)


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

required :fixed_price_quantity, Float, nil?: true

#idString

Parameters:

  • value (String)

Returns:

  • (String)


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

required :id, String

#invoice_grouping_keyString?

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :invoice_grouping_key, String, nil?: true

#invoicing_cycle_configurationOrb::Models::BillingCycleConfiguration?



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

required :invoicing_cycle_configuration, -> { Orb::BillingCycleConfiguration }, nil?: true

#itemOrb::Models::ItemSlim

A minimal representation of an Item containing only the essential identifying information.

Parameters:

Returns:



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

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

#license_typeOrb::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:



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

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

#maximumOrb::Models::Maximum?

Deprecated.

Parameters:

Returns:



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

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

#maximum_amountString?

Deprecated.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :maximum_amount, String, nil?: true

#metadataHash{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})


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

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

#minimumOrb::Models::Minimum?

Deprecated.

Parameters:

Returns:



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

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

#minimum_amountString?

Deprecated.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :minimum_amount, String, nil?: true

#model_typeSymbol, :percent

The pricing model type

Parameters:

  • value (:percent)

Returns:

  • (Symbol, :percent)


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

required :model_type, const: :percent

#nameString

Parameters:

  • value (String)

Returns:

  • (String)


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

required :name, String

#percent_configOrb::Models::Price::Percent::PercentConfig

Configuration for percent pricing

Parameters:

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

Returns:



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

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

#plan_phase_orderInteger?

Parameters:

  • value (Integer, nil)

Returns:

  • (Integer, nil)


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

required :plan_phase_order, Integer, nil?: true

#price_typeSymbol, Orb::Models::Price::Percent::PriceType

Parameters:

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

Returns:



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

required :price_type, enum: -> { Orb::Price::Percent::PriceType }

#replaces_price_idString?

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)


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

required :replaces_price_id, String, nil?: true

Class Method Details

.valuesArray<Symbol>

Returns:

  • (Array<Symbol>)


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

Instance Method Details

#to_hash{

Returns:

  • ({)


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

def to_hash: -> {