Class: Orb::Models::Price::GroupedAllocation

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, GroupedAllocationConfig, 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(allocation:, grouping_key:, overage_unit_rate:) ⇒ Object

Configuration for grouped_allocation pricing

Parameters:

  • allocation (String) —

    Usage allocation per group

  • grouping_key (String) —

    How to determine the groups that should each be allocated some quantity

  • overage_unit_rate (String) —

    Unit rate for post-allocation



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

Instance Attribute Details

#billable_metric ⇒ Orb::Models::BillableMetricTiny?

Parameters:

Returns:



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

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

#billing_cycle_configuration ⇒ Orb::Models::BillingCycleConfiguration



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

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

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

Parameters:

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

Returns:



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

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

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

Parameters:

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

Returns:



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

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

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

Parameters:

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

Returns:



7769
7770
7771
# File 'lib/orb/models/price.rb', line 7769

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

#conversion_rate ⇒ Float?

Parameters:

  • value (Float, nil)

Returns:

  • (Float, nil)


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

required :conversion_rate, Float, nil?: true

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

Parameters:

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

Returns:



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

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

#created_at ⇒ Time

Parameters:

  • value (Time)

Returns:

  • (Time)


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

required :created_at, Time

#credit_allocation ⇒ Orb::Models::Allocation?

Parameters:

Returns:



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

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

#currency ⇒ String

Parameters:

  • value (String)

Returns:

  • (String)


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

required :currency, String

#dimensional_price_configuration ⇒ Orb::Models::DimensionalPriceConfiguration?



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

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

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

Deprecated.


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

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

#external_price_id ⇒ String?

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :external_price_id, String, nil?: true

#fixed_price_quantity ⇒ Float?

Parameters:

  • value (Float, nil)

Returns:

  • (Float, nil)


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

required :fixed_price_quantity, Float, nil?: true

#grouped_allocation_config ⇒ Orb::Models::Price::GroupedAllocation::GroupedAllocationConfig

Configuration for grouped_allocation pricing

Parameters:

  • value (Orb::Price::GroupedAllocation::GroupedAllocationConfig)

Returns:



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

required :grouped_allocation_config, -> { Orb::Price::GroupedAllocation::GroupedAllocationConfig }

#id ⇒ String

Parameters:

  • value (String)

Returns:

  • (String)


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

required :id, String

#invoice_grouping_key ⇒ String?

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :invoice_grouping_key, String, nil?: true

#invoicing_cycle_configuration ⇒ Orb::Models::BillingCycleConfiguration?



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

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:



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

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

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

Returns:



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

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

#maximum ⇒ Orb::Models::Maximum?

Deprecated.

Parameters:

Returns:



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

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

#maximum_amount ⇒ String?

Deprecated.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

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


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

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

#minimum ⇒ Orb::Models::Minimum?

Deprecated.

Parameters:

Returns:



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

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

#minimum_amount ⇒ String?

Deprecated.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :minimum_amount, String, nil?: true

#model_type ⇒ Symbol, :grouped_allocation

The pricing model type

Parameters:

  • value (:grouped_allocation)

Returns:

  • (Symbol, :grouped_allocation)


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

required :model_type, const: :grouped_allocation

#name ⇒ String

Parameters:

  • value (String)

Returns:

  • (String)


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

required :name, String

#plan_phase_order ⇒ Integer?

Parameters:

  • value (Integer, nil)

Returns:

  • (Integer, nil)


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

required :plan_phase_order, Integer, nil?: true

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

Parameters:

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

Returns:



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

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


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

required :replaces_price_id, String, nil?: true

Class Method Details

.values ⇒ Array<Symbol>

Returns:

  • (Array<Symbol>)


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

Instance Method Details

#to_hash ⇒ {

Returns:

  • ({)


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

def to_hash: -> {