Class: Orb::Models::Price::GroupedWithProratedMinimum

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, GroupedWithProratedMinimumConfig, 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(grouping_key:, minimum:, unit_rate:) ⇒ Object

Configuration for grouped_with_prorated_minimum pricing

Parameters:

  • grouping_key (String) —

    How to determine the groups that should each have a minimum

  • minimum (String) —

    The minimum amount to charge per group

  • unit_rate (String) —

    The amount to charge per unit



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

Instance Attribute Details

#billable_metric ⇒ Orb::Models::BillableMetricTiny?

Parameters:

Returns:



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

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

#billing_cycle_configuration ⇒ Orb::Models::BillingCycleConfiguration



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

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

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

Parameters:

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

Returns:



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

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

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

Parameters:

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

Returns:



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

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

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

Parameters:

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

Returns:



8567
8568
8569
8570
8571
# File 'lib/orb/models/price.rb', line 8567

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

#conversion_rate ⇒ Float?

Parameters:

  • value (Float, nil)

Returns:

  • (Float, nil)


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

required :conversion_rate, Float, nil?: true

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

Parameters:

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

Returns:



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

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

#created_at ⇒ Time

Parameters:

  • value (Time)

Returns:

  • (Time)


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

required :created_at, Time

#credit_allocation ⇒ Orb::Models::Allocation?

Parameters:

Returns:



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

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

#currency ⇒ String

Parameters:

  • value (String)

Returns:

  • (String)


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

required :currency, String

#dimensional_price_configuration ⇒ Orb::Models::DimensionalPriceConfiguration?



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

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

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

Deprecated.


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

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

#external_price_id ⇒ String?

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :external_price_id, String, nil?: true

#fixed_price_quantity ⇒ Float?

Parameters:

  • value (Float, nil)

Returns:

  • (Float, nil)


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

required :fixed_price_quantity, Float, nil?: true

#grouped_with_prorated_minimum_config ⇒ Orb::Models::Price::GroupedWithProratedMinimum::GroupedWithProratedMinimumConfig

Configuration for grouped_with_prorated_minimum pricing

Parameters:

  • value (Orb::Price::GroupedWithProratedMinimum::GroupedWithProratedMinimumConfig)

Returns:



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

required :grouped_with_prorated_minimum_config,
-> { Orb::Price::GroupedWithProratedMinimum::GroupedWithProratedMinimumConfig }

#id ⇒ String

Parameters:

  • value (String)

Returns:

  • (String)


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

required :id, String

#invoice_grouping_key ⇒ String?

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :invoice_grouping_key, String, nil?: true

#invoicing_cycle_configuration ⇒ Orb::Models::BillingCycleConfiguration?



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

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:



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

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

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

Returns:



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

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

#maximum ⇒ Orb::Models::Maximum?

Deprecated.

Parameters:

Returns:



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

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

#maximum_amount ⇒ String?

Deprecated.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

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


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

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

#minimum ⇒ Orb::Models::Minimum?

Deprecated.

Parameters:

Returns:



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

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

#minimum_amount ⇒ String?

Deprecated.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :minimum_amount, String, nil?: true

#model_type ⇒ Symbol, :grouped_with_prorated_minimum

The pricing model type

Parameters:

  • value (:grouped_with_prorated_minimum)

Returns:

  • (Symbol, :grouped_with_prorated_minimum)


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

required :model_type, const: :grouped_with_prorated_minimum

#name ⇒ String

Parameters:

  • value (String)

Returns:

  • (String)


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

required :name, String

#plan_phase_order ⇒ Integer?

Parameters:

  • value (Integer, nil)

Returns:

  • (Integer, nil)


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

required :plan_phase_order, Integer, nil?: true

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

Parameters:

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

Returns:



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

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


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

required :replaces_price_id, String, nil?: true

Class Method Details

.values ⇒ Array<Symbol>

Returns:

  • (Array<Symbol>)


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

Instance Method Details

#to_hash ⇒ {

Returns:

  • ({)


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

def to_hash: -> {