Class: MetronomeSDK::Models::V2::ContractEditParams::AddSubscription

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

Defined Under Namespace

Modules: CollectionSchedule, QuantityManagementMode Classes: BillingCycleConfig, Proration, 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(collection_schedule:, proration:, subscription_rate:, billing_cycle_config: nil, custom_fields: nil, description: nil, ending_before: nil, initial_quantity: nil, name: nil, quantity_management_mode: nil, seat_config: nil, starting_at: nil, temporary_id: nil) ⇒ Object

Some parameter documentations has been truncated, see MetronomeSDK::Models::V2::ContractEditParams::AddSubscription for more details.

Parameters:



# File 'lib/metronome_sdk/models/v2/contract_edit_params.rb', line 3438

Instance Attribute Details

#billing_cycle_configMetronomeSDK::Models::V2::ContractEditParams::AddSubscription::BillingCycleConfig?



3371
3372
# File 'lib/metronome_sdk/models/v2/contract_edit_params.rb', line 3371

optional :billing_cycle_config,
-> { MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig }

#collection_scheduleSymbol, MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::CollectionSchedule

Parameters:

  • value (MetronomeSDK::Models::V2::ContractEditParams::AddSubscription::collection_schedule)

Returns:



3354
3355
# File 'lib/metronome_sdk/models/v2/contract_edit_params.rb', line 3354

required :collection_schedule,
enum: -> { MetronomeSDK::V2::ContractEditParams::AddSubscription::CollectionSchedule }

#custom_fieldsHash{Symbol=>String}?

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

Parameters:

  • (::Hash[Symbol, String])

Returns:

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


3378
# File 'lib/metronome_sdk/models/v2/contract_edit_params.rb', line 3378

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

#descriptionString?

Parameters:

  • (String)

Returns:

  • (String, nil)


3383
# File 'lib/metronome_sdk/models/v2/contract_edit_params.rb', line 3383

optional :description, String

#ending_beforeTime?

Exclusive end time for the subscription. If not provided, subscription inherits contract end date.

Parameters:

  • (Time)

Returns:

  • (Time, nil)


3390
# File 'lib/metronome_sdk/models/v2/contract_edit_params.rb', line 3390

optional :ending_before, Time

#initial_quantityFloat?

The initial quantity for the subscription. It must be non-negative value. Required if quantity_management_mode is QUANTITY_ONLY.

Parameters:

  • (Float)

Returns:

  • (Float, nil)


3397
# File 'lib/metronome_sdk/models/v2/contract_edit_params.rb', line 3397

optional :initial_quantity, Float

#nameString?

Parameters:

  • (String)

Returns:

  • (String, nil)


3402
# File 'lib/metronome_sdk/models/v2/contract_edit_params.rb', line 3402

optional :name, String

#prorationMetronomeSDK::Models::V2::ContractEditParams::AddSubscription::Proration

Parameters:

  • value (MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration)

Returns:



3360
# File 'lib/metronome_sdk/models/v2/contract_edit_params.rb', line 3360

required :proration, -> { MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration }

#quantity_management_modeSymbol, ...

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.



3416
3417
# File 'lib/metronome_sdk/models/v2/contract_edit_params.rb', line 3416

optional :quantity_management_mode,
enum: -> { MetronomeSDK::V2::ContractEditParams::AddSubscription::QuantityManagementMode }

#seat_configMetronomeSDK::Models::V2::ContractEditParams::AddSubscription::SeatConfig?



3422
# File 'lib/metronome_sdk/models/v2/contract_edit_params.rb', line 3422

optional :seat_config, -> { MetronomeSDK::V2::ContractEditParams::AddSubscription::SeatConfig }

#starting_atTime?

Inclusive start time for the subscription. If not provided, defaults to contract start date

Parameters:

  • (Time)

Returns:

  • (Time, nil)


3429
# File 'lib/metronome_sdk/models/v2/contract_edit_params.rb', line 3429

optional :starting_at, Time

#subscription_rateMetronomeSDK::Models::V2::ContractEditParams::AddSubscription::SubscriptionRate

Parameters:

  • value (MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate)

Returns:



3365
3366
# File 'lib/metronome_sdk/models/v2/contract_edit_params.rb', line 3365

required :subscription_rate,
-> { MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate }

#temporary_idString?

A temporary ID used to reference the subscription in recurring commit/credit subscription configs created within the same payload.

Parameters:

  • (String)

Returns:

  • (String, nil)


3436
# File 'lib/metronome_sdk/models/v2/contract_edit_params.rb', line 3436

optional :temporary_id, String

Class Method Details

.valuesArray<Symbol>

Returns:

  • (Array<Symbol>)


# File 'lib/metronome_sdk/models/v2/contract_edit_params.rb', line 3476

Instance Method Details

#to_hash{

Returns:

  • ({)


3156
# File 'sig/metronome_sdk/models/v2/contract_edit_params.rbs', line 3156

def to_hash: -> {