Class: MetronomeSDK::Models::V2::ContractEditParams::AddCommit

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: RateType, Type Classes: AccessSchedule, InvoiceSchedule, PaymentGateConfig, SpendTrackerAttributes

Constant Summary collapse

MetronomeSDK =

Returns:

  • (:CommitHierarchyConfiguration)

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(timestamp:, amount: nil, quantity: nil, unit_price: nil) ⇒ Object

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

Parameters:

  • timestamp (Time)

    timestamp of the scheduled event

  • amount (Float) (defaults to: nil)

    Amount for the charge. Can be provided instead of unit_price and quantity. If am

  • quantity (Float) (defaults to: nil)

    Quantity for the charge. Will be multiplied by unit_price to determine the amoun

  • unit_price (Float) (defaults to: nil)

    Unit price for the charge. Will be multiplied by quantity to determine the amoun



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

Instance Attribute Details

#access_scheduleMetronomeSDK::Models::V2::ContractEditParams::AddCommit::AccessSchedule?

Required: Schedule for distributing the commit to the customer. For "POSTPAID" commits only one schedule item is allowed and amount must match invoice_schedule total.



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

optional :access_schedule, -> { MetronomeSDK::V2::ContractEditParams::AddCommit::AccessSchedule }

#amountFloat?

(DEPRECATED) Use access_schedule and invoice_schedule instead.

Parameters:

  • (Float)

Returns:

  • (Float, nil)


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

optional :amount, Float

#applicable_product_idsArray<String>?

Which products the commit applies to. If applicable_product_ids, applicable_product_tags or specifiers are not provided, the commit applies to all products.

Parameters:

  • (::Array[String])

Returns:

  • (Array<String>, nil)


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

optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]

#applicable_product_tagsArray<String>?

Which tags the commit applies to. If applicable_product_ids, applicable_product_tags or specifiers are not provided, the commit applies to all products.

Parameters:

  • (::Array[String])

Returns:

  • (Array<String>, nil)


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

optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]

#custom_fieldsHash{Symbol=>String}?

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

Parameters:

  • (::Hash[Symbol, String])

Returns:

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


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

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

#descriptionString?

Used only in UI/API. It is not exposed to end customers.

Parameters:

  • (String)

Returns:

  • (String, nil)


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

optional :description, String

#hierarchy_configurationMetronomeSDK::Models::CommitHierarchyConfiguration?

Optional configuration for commit hierarchy access control



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

optional :hierarchy_configuration, -> { MetronomeSDK::CommitHierarchyConfiguration }

#invoice_scheduleMetronomeSDK::Models::V2::ContractEditParams::AddCommit::InvoiceSchedule?

Required for "POSTPAID" commits: the true up invoice will be generated at this time and only one schedule item is allowed; the total must match access_schedule amount. Optional for "PREPAID" commits: if not provided, this will be a "complimentary" commit with no invoice.



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

optional :invoice_schedule, -> { MetronomeSDK::V2::ContractEditParams::AddCommit::InvoiceSchedule }

#nameString?

displayed on invoices

Parameters:

  • (String)

Returns:

  • (String, nil)


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

optional :name, String

#netsuite_sales_order_idString?

This field's availability is dependent on your client's configuration.

Parameters:

  • (String)

Returns:

  • (String, nil)


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

optional :netsuite_sales_order_id, String

#payment_gate_configMetronomeSDK::Models::V2::ContractEditParams::AddCommit::PaymentGateConfig?

optionally payment gate this commit



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

optional :payment_gate_config, -> { MetronomeSDK::V2::ContractEditParams::AddCommit::PaymentGateConfig }

#priorityFloat?

If multiple commits are applicable, the one with the lower priority will apply first.

Parameters:

  • (Float)

Returns:

  • (Float, nil)


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

optional :priority, Float

#product_idString

Parameters:

  • value (String)

Returns:

  • (String)


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

required :product_id, String

#rate_typeSymbol, ...



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

optional :rate_type, enum: -> { MetronomeSDK::V2::ContractEditParams::AddCommit::RateType }

#rollover_fractionFloat?

Fraction of unused segments that will be rolled over. Must be between 0 and 1.

Parameters:

  • (Float)

Returns:

  • (Float, nil)


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

optional :rollover_fraction, Float

#specifiersArray<MetronomeSDK::Models::CommitSpecifierInput>?

List of filters that determine what kind of customer usage draws down a commit or credit. A customer's usage needs to meet the condition of at least one of the specifiers to contribute to a commit's or credit's drawdown. This field cannot be used together with applicable_product_ids or applicable_product_tags. Instead, to target usage by product or product tag, pass those values in the body of specifiers.



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

optional :specifiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifierInput] }

#spend_tracker_attributesMetronomeSDK::Models::V2::ContractEditParams::AddCommit::SpendTrackerAttributes?

Optional attributes for spend tracker integration. Immutable after creation.



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

optional :spend_tracker_attributes,
-> { MetronomeSDK::V2::ContractEditParams::AddCommit::SpendTrackerAttributes }

#temporary_idString?

A temporary ID for the commit that can be used to reference the commit for commit specific overrides.

Parameters:

  • (String)

Returns:

  • (String, nil)


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

optional :temporary_id, String

#typeSymbol, MetronomeSDK::Models::V2::ContractEditParams::AddCommit::Type

Parameters:

  • value (MetronomeSDK::Models::V2::ContractEditParams::AddCommit::type_)

Returns:



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

required :type, enum: -> { MetronomeSDK::V2::ContractEditParams::AddCommit::Type }

Class Method Details

.valuesArray<Symbol>

Returns:

  • (Array<Symbol>)


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

Instance Method Details

#to_hash{

Returns:

  • ({)


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

def to_hash: -> {