Class: Orb::Models::Price::BulkWithProration

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: BulkWithProrationConfig, CompositePriceFilter, 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(unit_amount:, tier_lower_bound: nil) ⇒ Object

Configuration for a single bulk pricing tier with proration

Parameters:

  • unit_amount (String) —

    Cost per unit

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

    The lower bound for this tier



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

Instance Attribute Details

#billable_metric ⇒ Orb::Models::BillableMetricTiny?

Parameters:

Returns:



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

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

#billing_cycle_configuration ⇒ Orb::Models::BillingCycleConfiguration



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

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

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

Parameters:

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

Returns:



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

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

#bulk_with_proration_config ⇒ Orb::Models::Price::BulkWithProration::BulkWithProrationConfig

Configuration for bulk_with_proration pricing

Parameters:

  • value (Orb::Price::BulkWithProration::BulkWithProrationConfig)

Returns:



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

required :bulk_with_proration_config, -> { Orb::Price::BulkWithProration::BulkWithProrationConfig }

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

Parameters:

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

Returns:



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

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

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

Parameters:

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

Returns:



8171
8172
8173
# File 'lib/orb/models/price.rb', line 8171

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

#conversion_rate ⇒ Float?

Parameters:

  • value (Float, nil)

Returns:

  • (Float, nil)


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

required :conversion_rate, Float, nil?: true

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

Parameters:

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

Returns:



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

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

#created_at ⇒ Time

Parameters:

  • value (Time)

Returns:

  • (Time)


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

required :created_at, Time

#credit_allocation ⇒ Orb::Models::Allocation?

Parameters:

Returns:



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

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

#currency ⇒ String

Parameters:

  • value (String)

Returns:

  • (String)


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

required :currency, String

#dimensional_price_configuration ⇒ Orb::Models::DimensionalPriceConfiguration?



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

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

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

Deprecated.


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

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

#external_price_id ⇒ String?

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :external_price_id, String, nil?: true

#fixed_price_quantity ⇒ Float?

Parameters:

  • value (Float, nil)

Returns:

  • (Float, nil)


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

required :fixed_price_quantity, Float, nil?: true

#id ⇒ String

Parameters:

  • value (String)

Returns:

  • (String)


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

required :id, String

#invoice_grouping_key ⇒ String?

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :invoice_grouping_key, String, nil?: true

#invoicing_cycle_configuration ⇒ Orb::Models::BillingCycleConfiguration?



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

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:



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

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

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

Returns:



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

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

#maximum ⇒ Orb::Models::Maximum?

Deprecated.

Parameters:

Returns:



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

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

#maximum_amount ⇒ String?

Deprecated.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

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


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

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

#minimum ⇒ Orb::Models::Minimum?

Deprecated.

Parameters:

Returns:



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

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

#minimum_amount ⇒ String?

Deprecated.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

required :minimum_amount, String, nil?: true

#model_type ⇒ Symbol, :bulk_with_proration

The pricing model type

Parameters:

  • value (:bulk_with_proration)

Returns:

  • (Symbol, :bulk_with_proration)


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

required :model_type, const: :bulk_with_proration

#name ⇒ String

Parameters:

  • value (String)

Returns:

  • (String)


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

required :name, String

#plan_phase_order ⇒ Integer?

Parameters:

  • value (Integer, nil)

Returns:

  • (Integer, nil)


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

required :plan_phase_order, Integer, nil?: true

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

Parameters:

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

Returns:



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

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


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

required :replaces_price_id, String, nil?: true

Class Method Details

.values ⇒ Array<Symbol>

Returns:

  • (Array<Symbol>)


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

Instance Method Details

#to_hash ⇒ {

Returns:

  • ({)


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

def to_hash: -> {