Class: MetronomeSDK::Models::ContractV2::Subscription

Inherits:
Internal::Type::BaseModel show all
Defined in:
lib/metronome_sdk/models/contract_v2.rb,
sig/metronome_sdk/models/contract_v2.rbs

Defined Under Namespace

Modules: CollectionSchedule, QuantityManagementMode Classes: BillingCycleConfig, BillingPeriods, Proration, QuantitySchedule, SeatConfig, SubscriptionRate

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(id:, name:) ⇒ Object

Parameters:

  • id (String)
  • name (String)


# File 'lib/metronome_sdk/models/contract_v2.rb', line 4104

Instance Attribute Details

#billing_cycle_configMetronomeSDK::Models::ContractV2::Subscription::BillingCycleConfig?



4071
# File 'lib/metronome_sdk/models/contract_v2.rb', line 4071

optional :billing_cycle_config, -> { MetronomeSDK::ContractV2::Subscription::BillingCycleConfig }

#billing_periodsMetronomeSDK::Models::ContractV2::Subscription::BillingPeriods

Previous, current, and next billing periods for the subscription.

Parameters:

  • value (MetronomeSDK::ContractV2::Subscription::BillingPeriods)

Returns:



4018
# File 'lib/metronome_sdk/models/contract_v2.rb', line 4018

required :billing_periods, -> { MetronomeSDK::ContractV2::Subscription::BillingPeriods }

#collection_scheduleSymbol, MetronomeSDK::Models::ContractV2::Subscription::CollectionSchedule

Parameters:

  • value (MetronomeSDK::Models::ContractV2::Subscription::collection_schedule)

Returns:



4023
# File 'lib/metronome_sdk/models/contract_v2.rb', line 4023

required :collection_schedule, enum: -> { MetronomeSDK::ContractV2::Subscription::CollectionSchedule }

#custom_fieldsHash{Symbol=>String}?

Custom fields to be added eg. { "key1": "value1", "key2": "value2" }

Parameters:

  • (::Hash[Symbol, String])

Returns:

  • (Hash{Symbol=>String}, nil)


4077
# File 'lib/metronome_sdk/models/contract_v2.rb', line 4077

optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]

#descriptionString?

Parameters:

  • (String)

Returns:

  • (String, nil)


4082
# File 'lib/metronome_sdk/models/contract_v2.rb', line 4082

optional :description, String

#ending_beforeTime?

Parameters:

  • (Time)

Returns:

  • (Time, nil)


4087
# File 'lib/metronome_sdk/models/contract_v2.rb', line 4087

optional :ending_before, Time

#fiat_credit_type_idString?

Parameters:

  • (String)

Returns:

  • (String, nil)


4092
# File 'lib/metronome_sdk/models/contract_v2.rb', line 4092

optional :fiat_credit_type_id, String

#idString?

Parameters:

  • (String)

Returns:

  • (String, nil)


4066
# File 'lib/metronome_sdk/models/contract_v2.rb', line 4066

optional :id, String

#nameString?

Parameters:

  • (String)

Returns:

  • (String, nil)


4097
# File 'lib/metronome_sdk/models/contract_v2.rb', line 4097

optional :name, String

#prorationMetronomeSDK::Models::ContractV2::Subscription::Proration

Parameters:

  • value (MetronomeSDK::ContractV2::Subscription::Proration)

Returns:



4028
# File 'lib/metronome_sdk/models/contract_v2.rb', line 4028

required :proration, -> { MetronomeSDK::ContractV2::Subscription::Proration }

#quantity_management_modeSymbol, MetronomeSDK::Models::ContractV2::Subscription::QuantityManagementMode

Determines how the subscription's quantity is controlled. Defaults to QUANTITY_ONLY. QUANTITY_ONLY: The subscription quantity is specified directly on the subscription. initial_quantity must be provided with this option. Compatible with recurring commits/credits that use POOLED allocation. SEAT_BASED: Use when you want to pass specific seat identifiers (e.g. add user_123) to increment and decrement a subscription quantity, rather than directly providing the quantity. You must use a SEAT_BASED subscription to use a linked recurring credit with an allocation per seat. seat_config must be provided with this option.

Parameters:

  • value (MetronomeSDK::Models::ContractV2::Subscription::quantity_management_mode)

Returns:



4042
4043
# File 'lib/metronome_sdk/models/contract_v2.rb', line 4042

required :quantity_management_mode,
enum: -> { MetronomeSDK::ContractV2::Subscription::QuantityManagementMode }

#quantity_scheduleArray<MetronomeSDK::Models::ContractV2::Subscription::QuantitySchedule>

List of quantity schedule items for the subscription. Only includes the current quantity and future quantity changes.

Parameters:

  • value (::Array[MetronomeSDK::ContractV2::Subscription::QuantitySchedule])

Returns:



4050
4051
# File 'lib/metronome_sdk/models/contract_v2.rb', line 4050

required :quantity_schedule,
-> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractV2::Subscription::QuantitySchedule] }

#seat_configMetronomeSDK::Models::ContractV2::Subscription::SeatConfig?



4102
# File 'lib/metronome_sdk/models/contract_v2.rb', line 4102

optional :seat_config, -> { MetronomeSDK::ContractV2::Subscription::SeatConfig }

#starting_atTime

Parameters:

  • value (Time)

Returns:

  • (Time)


4056
# File 'lib/metronome_sdk/models/contract_v2.rb', line 4056

required :starting_at, Time

#subscription_rateMetronomeSDK::Models::ContractV2::Subscription::SubscriptionRate

Parameters:

  • value (MetronomeSDK::ContractV2::Subscription::SubscriptionRate)

Returns:



4061
# File 'lib/metronome_sdk/models/contract_v2.rb', line 4061

required :subscription_rate, -> { MetronomeSDK::ContractV2::Subscription::SubscriptionRate }

Class Method Details

.valuesArray<Symbol>

Returns:

  • (Array<Symbol>)


# File 'lib/metronome_sdk/models/contract_v2.rb', line 4225

Instance Method Details

#to_hash{

Returns:

  • ({)


3952
# File 'sig/metronome_sdk/models/contract_v2.rbs', line 3952

def to_hash: -> {