Class: Orb::Models::Price::CumulativeGroupedAllocation

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, CumulativeGroupedAllocationConfig, 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(cumulative_allocation:, group_allocation:, grouping_key:, unit_amount:) ⇒ Object

Configuration for cumulative_grouped_allocation pricing

Parameters:

  • cumulative_allocation (String) —

    The overall allocation across all groups

  • group_allocation (String) —

    The allocation per individual group

  • grouping_key (String) —

    The event property used to group usage before applying allocations

  • unit_amount (String) —

    The amount to charge for each unit outside of the allocation



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

Instance Attribute Details

#billable_metric ⇒ Orb::Models::BillableMetricTiny?

Parameters:

Returns:



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

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

#billing_cycle_configuration ⇒ Orb::Models::BillingCycleConfiguration



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

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

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

Parameters:

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

Returns:



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

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

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

Parameters:

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

Returns:



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

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

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

Parameters:

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

Returns:



12423
12424
12425
12426
12427
# File 'lib/orb/models/price.rb', line 12423

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

#conversion_rate ⇒ Float?

Parameters:

  • value (Float, nil)

Returns:

  • (Float, nil)


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

required :conversion_rate, Float, nil?: true

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

Parameters:

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

Returns:



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

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

#created_at ⇒ Time

Parameters:

  • value (Time)

Returns:

  • (Time)


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

required :created_at, Time

#credit_allocation ⇒ Orb::Models::Allocation?

Parameters:

Returns:



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

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

#cumulative_grouped_allocation_config ⇒ Orb::Models::Price::CumulativeGroupedAllocation::CumulativeGroupedAllocationConfig

Configuration for cumulative_grouped_allocation pricing

Parameters:

  • value (Orb::Price::CumulativeGroupedAllocation::CumulativeGroupedAllocationConfig)

Returns:



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

required :cumulative_grouped_allocation_config,
-> { Orb::Price::CumulativeGroupedAllocation::CumulativeGroupedAllocationConfig }

#currency ⇒ String

Parameters:

  • value (String)

Returns:

  • (String)


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

required :currency, String

#dimensional_price_configuration ⇒ Orb::Models::DimensionalPriceConfiguration?



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

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

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

Deprecated.


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

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

#external_price_id ⇒ String?

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :external_price_id, String, nil?: true

#fixed_price_quantity ⇒ Float?

Parameters:

  • value (Float, nil)

Returns:

  • (Float, nil)


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

required :fixed_price_quantity, Float, nil?: true

#id ⇒ String

Parameters:

  • value (String)

Returns:

  • (String)


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

required :id, String

#invoice_grouping_key ⇒ String?

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :invoice_grouping_key, String, nil?: true

#invoicing_cycle_configuration ⇒ Orb::Models::BillingCycleConfiguration?



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

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:



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

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

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

Returns:



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

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

#maximum ⇒ Orb::Models::Maximum?

Deprecated.

Parameters:

Returns:



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

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

#maximum_amount ⇒ String?

Deprecated.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

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


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

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

#minimum ⇒ Orb::Models::Minimum?

Deprecated.

Parameters:

Returns:



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

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

#minimum_amount ⇒ String?

Deprecated.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :minimum_amount, String, nil?: true

#model_type ⇒ Symbol, :cumulative_grouped_allocation

The pricing model type

Parameters:

  • value (:cumulative_grouped_allocation)

Returns:

  • (Symbol, :cumulative_grouped_allocation)


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

required :model_type, const: :cumulative_grouped_allocation

#name ⇒ String

Parameters:

  • value (String)

Returns:

  • (String)


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

required :name, String

#plan_phase_order ⇒ Integer?

Parameters:

  • value (Integer, nil)

Returns:

  • (Integer, nil)


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

required :plan_phase_order, Integer, nil?: true

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

Parameters:

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

Returns:



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

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


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

required :replaces_price_id, String, nil?: true

Class Method Details

.values ⇒ Array<Symbol>

Returns:

  • (Array<Symbol>)


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

Instance Method Details

#to_hash ⇒ {

Returns:

  • ({)


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

def to_hash: -> {