metronome-sdk 3.6.0 → 3.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +54 -0
- data/README.md +1 -1
- data/lib/metronome_sdk/internal/transport/base_client.rb +4 -1
- data/lib/metronome_sdk/internal/type/enum.rb +0 -25
- data/lib/metronome_sdk/models/commit.rb +36 -1
- data/lib/metronome_sdk/models/contract.rb +140 -1
- data/lib/metronome_sdk/models/contract_v2.rb +457 -8
- data/lib/metronome_sdk/models/contract_without_amendments.rb +320 -5
- data/lib/metronome_sdk/models/credit.rb +10 -1
- data/lib/metronome_sdk/models/override.rb +7 -1
- data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +113 -2
- data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +105 -2
- data/lib/metronome_sdk/models/spend_threshold_configuration.rb +33 -1
- data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +33 -1
- data/lib/metronome_sdk/models/subscription.rb +90 -2
- data/lib/metronome_sdk/models/v1/alert_create_params.rb +127 -1
- data/lib/metronome_sdk/models/v1/contract_amend_params.rb +46 -5
- data/lib/metronome_sdk/models/v1/contract_create_params.rb +436 -12
- data/lib/metronome_sdk/models/v1/contract_create_response.rb +1308 -3
- data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rb +88 -0
- data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rb +62 -0
- data/lib/metronome_sdk/models/v1/contract_list_seat_balances_params.rb +10 -1
- data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +127 -1
- data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +130 -3
- data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +10 -1
- data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +2 -0
- data/lib/metronome_sdk/models/v1/package_create_params.rb +394 -11
- data/lib/metronome_sdk/models/v1/package_list_response.rb +374 -8
- data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +378 -8
- data/lib/metronome_sdk/models/v2/contract_edit_params.rb +817 -13
- data/lib/metronome_sdk/models/v2/contract_edit_response.rb +4310 -3
- data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +600 -10
- data/lib/metronome_sdk/resources/v1/alerts.rb +3 -1
- data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +4 -0
- data/lib/metronome_sdk/resources/v1/contracts.rb +71 -2
- data/lib/metronome_sdk/resources/v1/customers/alerts.rb +4 -2
- data/lib/metronome_sdk/resources/v1/customers/invoices.rb +3 -1
- data/lib/metronome_sdk/resources/v1/dashboards.rb +7 -2
- data/lib/metronome_sdk/resources/v1/packages.rb +6 -5
- data/lib/metronome_sdk/resources/v1.rb +0 -4
- data/lib/metronome_sdk/resources/v2/contracts.rb +5 -1
- data/lib/metronome_sdk/version.rb +1 -1
- data/lib/metronome_sdk.rb +2 -8
- data/rbi/metronome_sdk/models/commit.rbi +61 -0
- data/rbi/metronome_sdk/models/contract.rbi +354 -0
- data/rbi/metronome_sdk/models/contract_v2.rbi +1132 -11
- data/rbi/metronome_sdk/models/contract_without_amendments.rbi +831 -0
- data/rbi/metronome_sdk/models/credit.rbi +13 -0
- data/rbi/metronome_sdk/models/override.rbi +9 -0
- data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +299 -6
- data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +287 -6
- data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +78 -3
- data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -3
- data/rbi/metronome_sdk/models/subscription.rbi +212 -3
- data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +373 -0
- data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +81 -6
- data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1095 -17
- data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +2911 -4
- data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbi +112 -0
- data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbi +119 -0
- data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_params.rbi +13 -0
- data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +360 -0
- data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +379 -2
- data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +13 -0
- data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +10 -0
- data/rbi/metronome_sdk/models/v1/package_create_params.rbi +1049 -42
- data/rbi/metronome_sdk/models/v1/package_list_response.rbi +1051 -54
- data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +1051 -54
- data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +2130 -114
- data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +9749 -4
- data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1567 -82
- data/rbi/metronome_sdk/resources/v1/alerts.rbi +8 -0
- data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/contracts.rbi +77 -0
- data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +8 -1
- data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/dashboards.rbi +7 -2
- data/rbi/metronome_sdk/resources/v1/packages.rbi +8 -4
- data/rbi/metronome_sdk/resources/v1.rbi +0 -3
- data/rbi/metronome_sdk/resources/v2/contracts.rbi +10 -0
- data/sig/metronome_sdk/models/commit.rbs +26 -0
- data/sig/metronome_sdk/models/contract.rbs +151 -0
- data/sig/metronome_sdk/models/contract_v2.rbs +448 -5
- data/sig/metronome_sdk/models/contract_without_amendments.rbs +320 -2
- data/sig/metronome_sdk/models/credit.rbs +7 -0
- data/sig/metronome_sdk/models/override.rbs +7 -0
- data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +116 -6
- data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +116 -6
- data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +31 -3
- data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +31 -3
- data/sig/metronome_sdk/models/subscription.rbs +88 -3
- data/sig/metronome_sdk/models/v1/alert_create_params.rbs +144 -0
- data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +26 -0
- data/sig/metronome_sdk/models/v1/contract_create_params.rbs +412 -5
- data/sig/metronome_sdk/models/v1/contract_create_response.rbs +1210 -4
- data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbs +63 -0
- data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbs +59 -0
- data/sig/metronome_sdk/models/v1/contract_list_seat_balances_params.rbs +7 -0
- data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +141 -0
- data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +150 -0
- data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +8 -1
- data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +4 -0
- data/sig/metronome_sdk/models/v1/package_create_params.rbs +386 -5
- data/sig/metronome_sdk/models/v1/package_list_response.rbs +380 -5
- data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +378 -5
- data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +751 -14
- data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +4215 -4
- data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +569 -14
- data/sig/metronome_sdk/resources/v1/alerts.rbs +1 -0
- data/sig/metronome_sdk/resources/v1/contracts.rbs +14 -0
- data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -0
- data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -0
- data/sig/metronome_sdk/resources/v1/packages.rbs +1 -0
- data/sig/metronome_sdk/resources/v1.rbs +0 -2
- data/sig/metronome_sdk/resources/v2/contracts.rbs +2 -0
- metadata +8 -26
- data/lib/metronome_sdk/models/v1/payment.rb +0 -196
- data/lib/metronome_sdk/models/v1/payment_attempt_params.rb +0 -28
- data/lib/metronome_sdk/models/v1/payment_attempt_response.rb +0 -18
- data/lib/metronome_sdk/models/v1/payment_cancel_params.rb +0 -28
- data/lib/metronome_sdk/models/v1/payment_cancel_response.rb +0 -18
- data/lib/metronome_sdk/models/v1/payment_list_params.rb +0 -53
- data/lib/metronome_sdk/models/v1/payment_status.rb +0 -19
- data/lib/metronome_sdk/resources/v1/payments.rb +0 -102
- data/rbi/metronome_sdk/models/v1/payment.rbi +0 -403
- data/rbi/metronome_sdk/models/v1/payment_attempt_params.rbi +0 -48
- data/rbi/metronome_sdk/models/v1/payment_attempt_response.rbi +0 -35
- data/rbi/metronome_sdk/models/v1/payment_cancel_params.rbi +0 -48
- data/rbi/metronome_sdk/models/v1/payment_cancel_response.rbi +0 -35
- data/rbi/metronome_sdk/models/v1/payment_list_params.rbi +0 -91
- data/rbi/metronome_sdk/models/v1/payment_status.rbi +0 -33
- data/rbi/metronome_sdk/resources/v1/payments.rbi +0 -72
- data/sig/metronome_sdk/models/v1/payment.rbs +0 -243
- data/sig/metronome_sdk/models/v1/payment_attempt_params.rbs +0 -30
- data/sig/metronome_sdk/models/v1/payment_attempt_response.rbs +0 -15
- data/sig/metronome_sdk/models/v1/payment_cancel_params.rbs +0 -30
- data/sig/metronome_sdk/models/v1/payment_cancel_response.rbs +0 -15
- data/sig/metronome_sdk/models/v1/payment_list_params.rbs +0 -56
- data/sig/metronome_sdk/models/v1/payment_status.rbs +0 -19
- data/sig/metronome_sdk/resources/v1/payments.rbs +0 -30
|
@@ -255,6 +255,27 @@ module MetronomeSDK
|
|
|
255
255
|
end
|
|
256
256
|
attr_writer :add_spend_threshold_configuration
|
|
257
257
|
|
|
258
|
+
# Spend trackers to add to this contract. Aliases must be unique within a
|
|
259
|
+
# contract.
|
|
260
|
+
sig do
|
|
261
|
+
returns(
|
|
262
|
+
T.nilable(
|
|
263
|
+
T::Array[MetronomeSDK::V2::ContractEditParams::AddSpendTracker]
|
|
264
|
+
)
|
|
265
|
+
)
|
|
266
|
+
end
|
|
267
|
+
attr_reader :add_spend_trackers
|
|
268
|
+
|
|
269
|
+
sig do
|
|
270
|
+
params(
|
|
271
|
+
add_spend_trackers:
|
|
272
|
+
T::Array[
|
|
273
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::OrHash
|
|
274
|
+
]
|
|
275
|
+
).void
|
|
276
|
+
end
|
|
277
|
+
attr_writer :add_spend_trackers
|
|
278
|
+
|
|
258
279
|
# Optional list of
|
|
259
280
|
# [subscriptions](https://docs.metronome.com/manage-product-access/create-subscription/)
|
|
260
281
|
# to add to the contract.
|
|
@@ -353,6 +374,13 @@ module MetronomeSDK
|
|
|
353
374
|
end
|
|
354
375
|
attr_writer :archive_scheduled_charges
|
|
355
376
|
|
|
377
|
+
# Aliases of spend trackers to archive.
|
|
378
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
379
|
+
attr_reader :archive_spend_trackers
|
|
380
|
+
|
|
381
|
+
sig { params(archive_spend_trackers: T::Array[String]).void }
|
|
382
|
+
attr_writer :archive_spend_trackers
|
|
383
|
+
|
|
356
384
|
# IDs of overrides to remove
|
|
357
385
|
sig do
|
|
358
386
|
returns(
|
|
@@ -599,6 +627,10 @@ module MetronomeSDK
|
|
|
599
627
|
],
|
|
600
628
|
add_spend_threshold_configuration:
|
|
601
629
|
MetronomeSDK::SpendThresholdConfigurationV2::OrHash,
|
|
630
|
+
add_spend_trackers:
|
|
631
|
+
T::Array[
|
|
632
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::OrHash
|
|
633
|
+
],
|
|
602
634
|
add_subscriptions:
|
|
603
635
|
T::Array[
|
|
604
636
|
MetronomeSDK::V2::ContractEditParams::AddSubscription::OrHash
|
|
@@ -616,6 +648,7 @@ module MetronomeSDK
|
|
|
616
648
|
T::Array[
|
|
617
649
|
MetronomeSDK::V2::ContractEditParams::ArchiveScheduledCharge::OrHash
|
|
618
650
|
],
|
|
651
|
+
archive_spend_trackers: T::Array[String],
|
|
619
652
|
remove_overrides:
|
|
620
653
|
T::Array[
|
|
621
654
|
MetronomeSDK::V2::ContractEditParams::RemoveOverride::OrHash
|
|
@@ -680,6 +713,9 @@ module MetronomeSDK
|
|
|
680
713
|
add_revenue_system_configuration_update: nil,
|
|
681
714
|
add_scheduled_charges: nil,
|
|
682
715
|
add_spend_threshold_configuration: nil,
|
|
716
|
+
# Spend trackers to add to this contract. Aliases must be unique within a
|
|
717
|
+
# contract.
|
|
718
|
+
add_spend_trackers: nil,
|
|
683
719
|
# Optional list of
|
|
684
720
|
# [subscriptions](https://docs.metronome.com/manage-product-access/create-subscription/)
|
|
685
721
|
# to add to the contract.
|
|
@@ -695,6 +731,8 @@ module MetronomeSDK
|
|
|
695
731
|
archive_credits: nil,
|
|
696
732
|
# IDs of scheduled charges to archive
|
|
697
733
|
archive_scheduled_charges: nil,
|
|
734
|
+
# Aliases of spend trackers to archive.
|
|
735
|
+
archive_spend_trackers: nil,
|
|
698
736
|
# IDs of overrides to remove
|
|
699
737
|
remove_overrides: nil,
|
|
700
738
|
# Optional uniqueness key to prevent duplicate contract edits.
|
|
@@ -767,6 +805,8 @@ module MetronomeSDK
|
|
|
767
805
|
],
|
|
768
806
|
add_spend_threshold_configuration:
|
|
769
807
|
MetronomeSDK::SpendThresholdConfigurationV2,
|
|
808
|
+
add_spend_trackers:
|
|
809
|
+
T::Array[MetronomeSDK::V2::ContractEditParams::AddSpendTracker],
|
|
770
810
|
add_subscriptions:
|
|
771
811
|
T::Array[MetronomeSDK::V2::ContractEditParams::AddSubscription],
|
|
772
812
|
allow_contract_ending_before_finalized_invoice: T::Boolean,
|
|
@@ -778,6 +818,7 @@ module MetronomeSDK
|
|
|
778
818
|
T::Array[
|
|
779
819
|
MetronomeSDK::V2::ContractEditParams::ArchiveScheduledCharge
|
|
780
820
|
],
|
|
821
|
+
archive_spend_trackers: T::Array[String],
|
|
781
822
|
remove_overrides:
|
|
782
823
|
T::Array[MetronomeSDK::V2::ContractEditParams::RemoveOverride],
|
|
783
824
|
uniqueness_key: String,
|
|
@@ -1348,6 +1389,24 @@ module MetronomeSDK
|
|
|
1348
1389
|
end
|
|
1349
1390
|
attr_writer :specifiers
|
|
1350
1391
|
|
|
1392
|
+
# Optional attributes for spend tracker integration. Immutable after creation.
|
|
1393
|
+
sig do
|
|
1394
|
+
returns(
|
|
1395
|
+
T.nilable(
|
|
1396
|
+
MetronomeSDK::V2::ContractEditParams::AddCommit::SpendTrackerAttributes
|
|
1397
|
+
)
|
|
1398
|
+
)
|
|
1399
|
+
end
|
|
1400
|
+
attr_reader :spend_tracker_attributes
|
|
1401
|
+
|
|
1402
|
+
sig do
|
|
1403
|
+
params(
|
|
1404
|
+
spend_tracker_attributes:
|
|
1405
|
+
MetronomeSDK::V2::ContractEditParams::AddCommit::SpendTrackerAttributes::OrHash
|
|
1406
|
+
).void
|
|
1407
|
+
end
|
|
1408
|
+
attr_writer :spend_tracker_attributes
|
|
1409
|
+
|
|
1351
1410
|
# A temporary ID for the commit that can be used to reference the commit for
|
|
1352
1411
|
# commit specific overrides.
|
|
1353
1412
|
sig { returns(T.nilable(String)) }
|
|
@@ -1381,6 +1440,8 @@ module MetronomeSDK
|
|
|
1381
1440
|
MetronomeSDK::V2::ContractEditParams::AddCommit::RateType::OrSymbol,
|
|
1382
1441
|
rollover_fraction: Float,
|
|
1383
1442
|
specifiers: T::Array[MetronomeSDK::CommitSpecifierInput::OrHash],
|
|
1443
|
+
spend_tracker_attributes:
|
|
1444
|
+
MetronomeSDK::V2::ContractEditParams::AddCommit::SpendTrackerAttributes::OrHash,
|
|
1384
1445
|
temporary_id: String
|
|
1385
1446
|
).returns(T.attached_class)
|
|
1386
1447
|
end
|
|
@@ -1431,6 +1492,8 @@ module MetronomeSDK
|
|
|
1431
1492
|
# Instead, to target usage by product or product tag, pass those values in the
|
|
1432
1493
|
# body of `specifiers`.
|
|
1433
1494
|
specifiers: nil,
|
|
1495
|
+
# Optional attributes for spend tracker integration. Immutable after creation.
|
|
1496
|
+
spend_tracker_attributes: nil,
|
|
1434
1497
|
# A temporary ID for the commit that can be used to reference the commit for
|
|
1435
1498
|
# commit specific overrides.
|
|
1436
1499
|
temporary_id: nil
|
|
@@ -1463,6 +1526,8 @@ module MetronomeSDK
|
|
|
1463
1526
|
MetronomeSDK::V2::ContractEditParams::AddCommit::RateType::OrSymbol,
|
|
1464
1527
|
rollover_fraction: Float,
|
|
1465
1528
|
specifiers: T::Array[MetronomeSDK::CommitSpecifierInput],
|
|
1529
|
+
spend_tracker_attributes:
|
|
1530
|
+
MetronomeSDK::V2::ContractEditParams::AddCommit::SpendTrackerAttributes,
|
|
1466
1531
|
temporary_id: String
|
|
1467
1532
|
}
|
|
1468
1533
|
)
|
|
@@ -2406,6 +2471,36 @@ module MetronomeSDK
|
|
|
2406
2471
|
def self.values
|
|
2407
2472
|
end
|
|
2408
2473
|
end
|
|
2474
|
+
|
|
2475
|
+
class SpendTrackerAttributes < MetronomeSDK::Internal::Type::BaseModel
|
|
2476
|
+
OrHash =
|
|
2477
|
+
T.type_alias do
|
|
2478
|
+
T.any(
|
|
2479
|
+
MetronomeSDK::V2::ContractEditParams::AddCommit::SpendTrackerAttributes,
|
|
2480
|
+
MetronomeSDK::Internal::AnyHash
|
|
2481
|
+
)
|
|
2482
|
+
end
|
|
2483
|
+
|
|
2484
|
+
# If true, this commit will be included in spend trackers with discounted set to
|
|
2485
|
+
# DISCOUNTED_ONLY
|
|
2486
|
+
sig { returns(T::Boolean) }
|
|
2487
|
+
attr_accessor :counts_as_discounted
|
|
2488
|
+
|
|
2489
|
+
# Optional attributes for spend tracker integration. Immutable after creation.
|
|
2490
|
+
sig do
|
|
2491
|
+
params(counts_as_discounted: T::Boolean).returns(T.attached_class)
|
|
2492
|
+
end
|
|
2493
|
+
def self.new(
|
|
2494
|
+
# If true, this commit will be included in spend trackers with discounted set to
|
|
2495
|
+
# DISCOUNTED_ONLY
|
|
2496
|
+
counts_as_discounted:
|
|
2497
|
+
)
|
|
2498
|
+
end
|
|
2499
|
+
|
|
2500
|
+
sig { override.returns({ counts_as_discounted: T::Boolean }) }
|
|
2501
|
+
def to_hash
|
|
2502
|
+
end
|
|
2503
|
+
end
|
|
2409
2504
|
end
|
|
2410
2505
|
|
|
2411
2506
|
class AddCredit < MetronomeSDK::Internal::Type::BaseModel
|
|
@@ -3506,6 +3601,17 @@ module MetronomeSDK
|
|
|
3506
3601
|
)
|
|
3507
3602
|
end
|
|
3508
3603
|
|
|
3604
|
+
# Can only be used for commit specific overrides. Must be used in conjunction with
|
|
3605
|
+
# one of `product_id`, `product_tags`, `pricing_group_values`, or
|
|
3606
|
+
# `presentation_group_values`. Must be used instead of both `commit_ids` and
|
|
3607
|
+
# `recurring_commit_ids` If provided, the override will apply to any specified
|
|
3608
|
+
# commit, credit, recurring commit or recurring credit IDs.
|
|
3609
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
3610
|
+
attr_reader :any_commit_or_credit_ids
|
|
3611
|
+
|
|
3612
|
+
sig { params(any_commit_or_credit_ids: T::Array[String]).void }
|
|
3613
|
+
attr_writer :any_commit_or_credit_ids
|
|
3614
|
+
|
|
3509
3615
|
sig do
|
|
3510
3616
|
returns(
|
|
3511
3617
|
T.nilable(
|
|
@@ -3578,6 +3684,7 @@ module MetronomeSDK
|
|
|
3578
3684
|
|
|
3579
3685
|
sig do
|
|
3580
3686
|
params(
|
|
3687
|
+
any_commit_or_credit_ids: T::Array[String],
|
|
3581
3688
|
billing_frequency:
|
|
3582
3689
|
MetronomeSDK::V2::ContractEditParams::AddOverride::OverrideSpecifier::BillingFrequency::OrSymbol,
|
|
3583
3690
|
commit_ids: T::Array[String],
|
|
@@ -3589,6 +3696,12 @@ module MetronomeSDK
|
|
|
3589
3696
|
).returns(T.attached_class)
|
|
3590
3697
|
end
|
|
3591
3698
|
def self.new(
|
|
3699
|
+
# Can only be used for commit specific overrides. Must be used in conjunction with
|
|
3700
|
+
# one of `product_id`, `product_tags`, `pricing_group_values`, or
|
|
3701
|
+
# `presentation_group_values`. Must be used instead of both `commit_ids` and
|
|
3702
|
+
# `recurring_commit_ids` If provided, the override will apply to any specified
|
|
3703
|
+
# commit, credit, recurring commit or recurring credit IDs.
|
|
3704
|
+
any_commit_or_credit_ids: nil,
|
|
3592
3705
|
billing_frequency: nil,
|
|
3593
3706
|
# If provided, the override will only apply to the specified commits. Can only be
|
|
3594
3707
|
# used for commit specific overrides. If not provided, the override will apply to
|
|
@@ -3617,6 +3730,7 @@ module MetronomeSDK
|
|
|
3617
3730
|
sig do
|
|
3618
3731
|
override.returns(
|
|
3619
3732
|
{
|
|
3733
|
+
any_commit_or_credit_ids: T::Array[String],
|
|
3620
3734
|
billing_frequency:
|
|
3621
3735
|
MetronomeSDK::V2::ContractEditParams::AddOverride::OverrideSpecifier::BillingFrequency::OrSymbol,
|
|
3622
3736
|
commit_ids: T::Array[String],
|
|
@@ -4184,6 +4298,24 @@ module MetronomeSDK
|
|
|
4184
4298
|
end
|
|
4185
4299
|
attr_writer :proration
|
|
4186
4300
|
|
|
4301
|
+
# Optional rounding configuration for prorated recurring commit amounts.
|
|
4302
|
+
sig do
|
|
4303
|
+
returns(
|
|
4304
|
+
T.nilable(
|
|
4305
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding
|
|
4306
|
+
)
|
|
4307
|
+
)
|
|
4308
|
+
end
|
|
4309
|
+
attr_reader :proration_rounding
|
|
4310
|
+
|
|
4311
|
+
sig do
|
|
4312
|
+
params(
|
|
4313
|
+
proration_rounding:
|
|
4314
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::OrHash
|
|
4315
|
+
).void
|
|
4316
|
+
end
|
|
4317
|
+
attr_writer :proration_rounding
|
|
4318
|
+
|
|
4187
4319
|
# Whether the created commits will use the commit rate or list rate
|
|
4188
4320
|
sig do
|
|
4189
4321
|
returns(
|
|
@@ -4298,6 +4430,8 @@ module MetronomeSDK
|
|
|
4298
4430
|
netsuite_sales_order_id: String,
|
|
4299
4431
|
proration:
|
|
4300
4432
|
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::Proration::OrSymbol,
|
|
4433
|
+
proration_rounding:
|
|
4434
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::OrHash,
|
|
4301
4435
|
rate_type:
|
|
4302
4436
|
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::RateType::OrSymbol,
|
|
4303
4437
|
recurrence_frequency:
|
|
@@ -4340,6 +4474,8 @@ module MetronomeSDK
|
|
|
4340
4474
|
# Determines whether the first and last commit will be prorated. If not provided,
|
|
4341
4475
|
# the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
|
|
4342
4476
|
proration: nil,
|
|
4477
|
+
# Optional rounding configuration for prorated recurring commit amounts.
|
|
4478
|
+
proration_rounding: nil,
|
|
4343
4479
|
# Whether the created commits will use the commit rate or list rate
|
|
4344
4480
|
rate_type: nil,
|
|
4345
4481
|
# The frequency at which the recurring commits will be created. If not provided: -
|
|
@@ -4389,6 +4525,8 @@ module MetronomeSDK
|
|
|
4389
4525
|
netsuite_sales_order_id: String,
|
|
4390
4526
|
proration:
|
|
4391
4527
|
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::Proration::OrSymbol,
|
|
4528
|
+
proration_rounding:
|
|
4529
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding,
|
|
4392
4530
|
rate_type:
|
|
4393
4531
|
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::RateType::OrSymbol,
|
|
4394
4532
|
recurrence_frequency:
|
|
@@ -4621,6 +4759,255 @@ module MetronomeSDK
|
|
|
4621
4759
|
end
|
|
4622
4760
|
end
|
|
4623
4761
|
|
|
4762
|
+
class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
|
|
4763
|
+
OrHash =
|
|
4764
|
+
T.type_alias do
|
|
4765
|
+
T.any(
|
|
4766
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding,
|
|
4767
|
+
MetronomeSDK::Internal::AnyHash
|
|
4768
|
+
)
|
|
4769
|
+
end
|
|
4770
|
+
|
|
4771
|
+
sig do
|
|
4772
|
+
returns(
|
|
4773
|
+
T.nilable(
|
|
4774
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access
|
|
4775
|
+
)
|
|
4776
|
+
)
|
|
4777
|
+
end
|
|
4778
|
+
attr_reader :access
|
|
4779
|
+
|
|
4780
|
+
sig do
|
|
4781
|
+
params(
|
|
4782
|
+
access:
|
|
4783
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access::OrHash
|
|
4784
|
+
).void
|
|
4785
|
+
end
|
|
4786
|
+
attr_writer :access
|
|
4787
|
+
|
|
4788
|
+
sig do
|
|
4789
|
+
returns(
|
|
4790
|
+
T.nilable(
|
|
4791
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice
|
|
4792
|
+
)
|
|
4793
|
+
)
|
|
4794
|
+
end
|
|
4795
|
+
attr_reader :invoice
|
|
4796
|
+
|
|
4797
|
+
sig do
|
|
4798
|
+
params(
|
|
4799
|
+
invoice:
|
|
4800
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice::OrHash
|
|
4801
|
+
).void
|
|
4802
|
+
end
|
|
4803
|
+
attr_writer :invoice
|
|
4804
|
+
|
|
4805
|
+
# Optional rounding configuration for prorated recurring commit amounts.
|
|
4806
|
+
sig do
|
|
4807
|
+
params(
|
|
4808
|
+
access:
|
|
4809
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access::OrHash,
|
|
4810
|
+
invoice:
|
|
4811
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice::OrHash
|
|
4812
|
+
).returns(T.attached_class)
|
|
4813
|
+
end
|
|
4814
|
+
def self.new(access: nil, invoice: nil)
|
|
4815
|
+
end
|
|
4816
|
+
|
|
4817
|
+
sig do
|
|
4818
|
+
override.returns(
|
|
4819
|
+
{
|
|
4820
|
+
access:
|
|
4821
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access,
|
|
4822
|
+
invoice:
|
|
4823
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice
|
|
4824
|
+
}
|
|
4825
|
+
)
|
|
4826
|
+
end
|
|
4827
|
+
def to_hash
|
|
4828
|
+
end
|
|
4829
|
+
|
|
4830
|
+
class Access < MetronomeSDK::Internal::Type::BaseModel
|
|
4831
|
+
OrHash =
|
|
4832
|
+
T.type_alias do
|
|
4833
|
+
T.any(
|
|
4834
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access,
|
|
4835
|
+
MetronomeSDK::Internal::AnyHash
|
|
4836
|
+
)
|
|
4837
|
+
end
|
|
4838
|
+
|
|
4839
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
4840
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
4841
|
+
# nearest 100 in the stored unit).
|
|
4842
|
+
sig { returns(Float) }
|
|
4843
|
+
attr_accessor :decimal_places
|
|
4844
|
+
|
|
4845
|
+
sig do
|
|
4846
|
+
returns(
|
|
4847
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access::RoundingMethod::OrSymbol
|
|
4848
|
+
)
|
|
4849
|
+
end
|
|
4850
|
+
attr_accessor :rounding_method
|
|
4851
|
+
|
|
4852
|
+
sig do
|
|
4853
|
+
params(
|
|
4854
|
+
decimal_places: Float,
|
|
4855
|
+
rounding_method:
|
|
4856
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access::RoundingMethod::OrSymbol
|
|
4857
|
+
).returns(T.attached_class)
|
|
4858
|
+
end
|
|
4859
|
+
def self.new(
|
|
4860
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
4861
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
4862
|
+
# nearest 100 in the stored unit).
|
|
4863
|
+
decimal_places:,
|
|
4864
|
+
rounding_method:
|
|
4865
|
+
)
|
|
4866
|
+
end
|
|
4867
|
+
|
|
4868
|
+
sig do
|
|
4869
|
+
override.returns(
|
|
4870
|
+
{
|
|
4871
|
+
decimal_places: Float,
|
|
4872
|
+
rounding_method:
|
|
4873
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access::RoundingMethod::OrSymbol
|
|
4874
|
+
}
|
|
4875
|
+
)
|
|
4876
|
+
end
|
|
4877
|
+
def to_hash
|
|
4878
|
+
end
|
|
4879
|
+
|
|
4880
|
+
module RoundingMethod
|
|
4881
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
4882
|
+
|
|
4883
|
+
TaggedSymbol =
|
|
4884
|
+
T.type_alias do
|
|
4885
|
+
T.all(
|
|
4886
|
+
Symbol,
|
|
4887
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access::RoundingMethod
|
|
4888
|
+
)
|
|
4889
|
+
end
|
|
4890
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
4891
|
+
|
|
4892
|
+
HALF_UP =
|
|
4893
|
+
T.let(
|
|
4894
|
+
:HALF_UP,
|
|
4895
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
4896
|
+
)
|
|
4897
|
+
FLOOR =
|
|
4898
|
+
T.let(
|
|
4899
|
+
:FLOOR,
|
|
4900
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
4901
|
+
)
|
|
4902
|
+
CEILING =
|
|
4903
|
+
T.let(
|
|
4904
|
+
:CEILING,
|
|
4905
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
4906
|
+
)
|
|
4907
|
+
|
|
4908
|
+
sig do
|
|
4909
|
+
override.returns(
|
|
4910
|
+
T::Array[
|
|
4911
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
4912
|
+
]
|
|
4913
|
+
)
|
|
4914
|
+
end
|
|
4915
|
+
def self.values
|
|
4916
|
+
end
|
|
4917
|
+
end
|
|
4918
|
+
end
|
|
4919
|
+
|
|
4920
|
+
class Invoice < MetronomeSDK::Internal::Type::BaseModel
|
|
4921
|
+
OrHash =
|
|
4922
|
+
T.type_alias do
|
|
4923
|
+
T.any(
|
|
4924
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice,
|
|
4925
|
+
MetronomeSDK::Internal::AnyHash
|
|
4926
|
+
)
|
|
4927
|
+
end
|
|
4928
|
+
|
|
4929
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
4930
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
4931
|
+
# nearest 100 in the stored unit).
|
|
4932
|
+
sig { returns(Float) }
|
|
4933
|
+
attr_accessor :decimal_places
|
|
4934
|
+
|
|
4935
|
+
sig do
|
|
4936
|
+
returns(
|
|
4937
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice::RoundingMethod::OrSymbol
|
|
4938
|
+
)
|
|
4939
|
+
end
|
|
4940
|
+
attr_accessor :rounding_method
|
|
4941
|
+
|
|
4942
|
+
sig do
|
|
4943
|
+
params(
|
|
4944
|
+
decimal_places: Float,
|
|
4945
|
+
rounding_method:
|
|
4946
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice::RoundingMethod::OrSymbol
|
|
4947
|
+
).returns(T.attached_class)
|
|
4948
|
+
end
|
|
4949
|
+
def self.new(
|
|
4950
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
4951
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
4952
|
+
# nearest 100 in the stored unit).
|
|
4953
|
+
decimal_places:,
|
|
4954
|
+
rounding_method:
|
|
4955
|
+
)
|
|
4956
|
+
end
|
|
4957
|
+
|
|
4958
|
+
sig do
|
|
4959
|
+
override.returns(
|
|
4960
|
+
{
|
|
4961
|
+
decimal_places: Float,
|
|
4962
|
+
rounding_method:
|
|
4963
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice::RoundingMethod::OrSymbol
|
|
4964
|
+
}
|
|
4965
|
+
)
|
|
4966
|
+
end
|
|
4967
|
+
def to_hash
|
|
4968
|
+
end
|
|
4969
|
+
|
|
4970
|
+
module RoundingMethod
|
|
4971
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
4972
|
+
|
|
4973
|
+
TaggedSymbol =
|
|
4974
|
+
T.type_alias do
|
|
4975
|
+
T.all(
|
|
4976
|
+
Symbol,
|
|
4977
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice::RoundingMethod
|
|
4978
|
+
)
|
|
4979
|
+
end
|
|
4980
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
4981
|
+
|
|
4982
|
+
HALF_UP =
|
|
4983
|
+
T.let(
|
|
4984
|
+
:HALF_UP,
|
|
4985
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice::RoundingMethod::TaggedSymbol
|
|
4986
|
+
)
|
|
4987
|
+
FLOOR =
|
|
4988
|
+
T.let(
|
|
4989
|
+
:FLOOR,
|
|
4990
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice::RoundingMethod::TaggedSymbol
|
|
4991
|
+
)
|
|
4992
|
+
CEILING =
|
|
4993
|
+
T.let(
|
|
4994
|
+
:CEILING,
|
|
4995
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice::RoundingMethod::TaggedSymbol
|
|
4996
|
+
)
|
|
4997
|
+
|
|
4998
|
+
sig do
|
|
4999
|
+
override.returns(
|
|
5000
|
+
T::Array[
|
|
5001
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::ProrationRounding::Invoice::RoundingMethod::TaggedSymbol
|
|
5002
|
+
]
|
|
5003
|
+
)
|
|
5004
|
+
end
|
|
5005
|
+
def self.values
|
|
5006
|
+
end
|
|
5007
|
+
end
|
|
5008
|
+
end
|
|
5009
|
+
end
|
|
5010
|
+
|
|
4624
5011
|
# Whether the created commits will use the commit rate or list rate
|
|
4625
5012
|
module RateType
|
|
4626
5013
|
extend MetronomeSDK::Internal::Type::Enum
|
|
@@ -4693,6 +5080,11 @@ module MetronomeSDK
|
|
|
4693
5080
|
:WEEKLY,
|
|
4694
5081
|
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::RecurrenceFrequency::TaggedSymbol
|
|
4695
5082
|
)
|
|
5083
|
+
DAILY =
|
|
5084
|
+
T.let(
|
|
5085
|
+
:DAILY,
|
|
5086
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCommit::RecurrenceFrequency::TaggedSymbol
|
|
5087
|
+
)
|
|
4696
5088
|
|
|
4697
5089
|
sig do
|
|
4698
5090
|
override.returns(
|
|
@@ -4976,6 +5368,24 @@ module MetronomeSDK
|
|
|
4976
5368
|
end
|
|
4977
5369
|
attr_writer :proration
|
|
4978
5370
|
|
|
5371
|
+
# Optional rounding configuration for prorated recurring credit amounts.
|
|
5372
|
+
sig do
|
|
5373
|
+
returns(
|
|
5374
|
+
T.nilable(
|
|
5375
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding
|
|
5376
|
+
)
|
|
5377
|
+
)
|
|
5378
|
+
end
|
|
5379
|
+
attr_reader :proration_rounding
|
|
5380
|
+
|
|
5381
|
+
sig do
|
|
5382
|
+
params(
|
|
5383
|
+
proration_rounding:
|
|
5384
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::OrHash
|
|
5385
|
+
).void
|
|
5386
|
+
end
|
|
5387
|
+
attr_writer :proration_rounding
|
|
5388
|
+
|
|
4979
5389
|
# Whether the created commits will use the commit rate or list rate
|
|
4980
5390
|
sig do
|
|
4981
5391
|
returns(
|
|
@@ -5088,6 +5498,8 @@ module MetronomeSDK
|
|
|
5088
5498
|
netsuite_sales_order_id: String,
|
|
5089
5499
|
proration:
|
|
5090
5500
|
MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::Proration::OrSymbol,
|
|
5501
|
+
proration_rounding:
|
|
5502
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::OrHash,
|
|
5091
5503
|
rate_type:
|
|
5092
5504
|
MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::RateType::OrSymbol,
|
|
5093
5505
|
recurrence_frequency:
|
|
@@ -5128,6 +5540,8 @@ module MetronomeSDK
|
|
|
5128
5540
|
# Determines whether the first and last commit will be prorated. If not provided,
|
|
5129
5541
|
# the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
|
|
5130
5542
|
proration: nil,
|
|
5543
|
+
# Optional rounding configuration for prorated recurring credit amounts.
|
|
5544
|
+
proration_rounding: nil,
|
|
5131
5545
|
# Whether the created commits will use the commit rate or list rate
|
|
5132
5546
|
rate_type: nil,
|
|
5133
5547
|
# The frequency at which the recurring commits will be created. If not provided: -
|
|
@@ -5175,6 +5589,8 @@ module MetronomeSDK
|
|
|
5175
5589
|
netsuite_sales_order_id: String,
|
|
5176
5590
|
proration:
|
|
5177
5591
|
MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::Proration::OrSymbol,
|
|
5592
|
+
proration_rounding:
|
|
5593
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding,
|
|
5178
5594
|
rate_type:
|
|
5179
5595
|
MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::RateType::OrSymbol,
|
|
5180
5596
|
recurrence_frequency:
|
|
@@ -5369,15 +5785,153 @@ module MetronomeSDK
|
|
|
5369
5785
|
end
|
|
5370
5786
|
end
|
|
5371
5787
|
|
|
5372
|
-
|
|
5373
|
-
|
|
5374
|
-
extend MetronomeSDK::Internal::Type::Enum
|
|
5375
|
-
|
|
5376
|
-
TaggedSymbol =
|
|
5788
|
+
class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
|
|
5789
|
+
OrHash =
|
|
5377
5790
|
T.type_alias do
|
|
5378
|
-
T.
|
|
5379
|
-
|
|
5380
|
-
MetronomeSDK::
|
|
5791
|
+
T.any(
|
|
5792
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding,
|
|
5793
|
+
MetronomeSDK::Internal::AnyHash
|
|
5794
|
+
)
|
|
5795
|
+
end
|
|
5796
|
+
|
|
5797
|
+
sig do
|
|
5798
|
+
returns(
|
|
5799
|
+
T.nilable(
|
|
5800
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access
|
|
5801
|
+
)
|
|
5802
|
+
)
|
|
5803
|
+
end
|
|
5804
|
+
attr_reader :access
|
|
5805
|
+
|
|
5806
|
+
sig do
|
|
5807
|
+
params(
|
|
5808
|
+
access:
|
|
5809
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access::OrHash
|
|
5810
|
+
).void
|
|
5811
|
+
end
|
|
5812
|
+
attr_writer :access
|
|
5813
|
+
|
|
5814
|
+
# Optional rounding configuration for prorated recurring credit amounts.
|
|
5815
|
+
sig do
|
|
5816
|
+
params(
|
|
5817
|
+
access:
|
|
5818
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access::OrHash
|
|
5819
|
+
).returns(T.attached_class)
|
|
5820
|
+
end
|
|
5821
|
+
def self.new(access: nil)
|
|
5822
|
+
end
|
|
5823
|
+
|
|
5824
|
+
sig do
|
|
5825
|
+
override.returns(
|
|
5826
|
+
{
|
|
5827
|
+
access:
|
|
5828
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access
|
|
5829
|
+
}
|
|
5830
|
+
)
|
|
5831
|
+
end
|
|
5832
|
+
def to_hash
|
|
5833
|
+
end
|
|
5834
|
+
|
|
5835
|
+
class Access < MetronomeSDK::Internal::Type::BaseModel
|
|
5836
|
+
OrHash =
|
|
5837
|
+
T.type_alias do
|
|
5838
|
+
T.any(
|
|
5839
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access,
|
|
5840
|
+
MetronomeSDK::Internal::AnyHash
|
|
5841
|
+
)
|
|
5842
|
+
end
|
|
5843
|
+
|
|
5844
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
5845
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
5846
|
+
# nearest 100 in the stored unit).
|
|
5847
|
+
sig { returns(Float) }
|
|
5848
|
+
attr_accessor :decimal_places
|
|
5849
|
+
|
|
5850
|
+
sig do
|
|
5851
|
+
returns(
|
|
5852
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access::RoundingMethod::OrSymbol
|
|
5853
|
+
)
|
|
5854
|
+
end
|
|
5855
|
+
attr_accessor :rounding_method
|
|
5856
|
+
|
|
5857
|
+
sig do
|
|
5858
|
+
params(
|
|
5859
|
+
decimal_places: Float,
|
|
5860
|
+
rounding_method:
|
|
5861
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access::RoundingMethod::OrSymbol
|
|
5862
|
+
).returns(T.attached_class)
|
|
5863
|
+
end
|
|
5864
|
+
def self.new(
|
|
5865
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
5866
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
5867
|
+
# nearest 100 in the stored unit).
|
|
5868
|
+
decimal_places:,
|
|
5869
|
+
rounding_method:
|
|
5870
|
+
)
|
|
5871
|
+
end
|
|
5872
|
+
|
|
5873
|
+
sig do
|
|
5874
|
+
override.returns(
|
|
5875
|
+
{
|
|
5876
|
+
decimal_places: Float,
|
|
5877
|
+
rounding_method:
|
|
5878
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access::RoundingMethod::OrSymbol
|
|
5879
|
+
}
|
|
5880
|
+
)
|
|
5881
|
+
end
|
|
5882
|
+
def to_hash
|
|
5883
|
+
end
|
|
5884
|
+
|
|
5885
|
+
module RoundingMethod
|
|
5886
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
5887
|
+
|
|
5888
|
+
TaggedSymbol =
|
|
5889
|
+
T.type_alias do
|
|
5890
|
+
T.all(
|
|
5891
|
+
Symbol,
|
|
5892
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access::RoundingMethod
|
|
5893
|
+
)
|
|
5894
|
+
end
|
|
5895
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
5896
|
+
|
|
5897
|
+
HALF_UP =
|
|
5898
|
+
T.let(
|
|
5899
|
+
:HALF_UP,
|
|
5900
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
5901
|
+
)
|
|
5902
|
+
FLOOR =
|
|
5903
|
+
T.let(
|
|
5904
|
+
:FLOOR,
|
|
5905
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
5906
|
+
)
|
|
5907
|
+
CEILING =
|
|
5908
|
+
T.let(
|
|
5909
|
+
:CEILING,
|
|
5910
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
5911
|
+
)
|
|
5912
|
+
|
|
5913
|
+
sig do
|
|
5914
|
+
override.returns(
|
|
5915
|
+
T::Array[
|
|
5916
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
5917
|
+
]
|
|
5918
|
+
)
|
|
5919
|
+
end
|
|
5920
|
+
def self.values
|
|
5921
|
+
end
|
|
5922
|
+
end
|
|
5923
|
+
end
|
|
5924
|
+
end
|
|
5925
|
+
|
|
5926
|
+
# Whether the created commits will use the commit rate or list rate
|
|
5927
|
+
module RateType
|
|
5928
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
5929
|
+
|
|
5930
|
+
TaggedSymbol =
|
|
5931
|
+
T.type_alias do
|
|
5932
|
+
T.all(
|
|
5933
|
+
Symbol,
|
|
5934
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::RateType
|
|
5381
5935
|
)
|
|
5382
5936
|
end
|
|
5383
5937
|
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
@@ -5441,6 +5995,11 @@ module MetronomeSDK
|
|
|
5441
5995
|
:WEEKLY,
|
|
5442
5996
|
MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::RecurrenceFrequency::TaggedSymbol
|
|
5443
5997
|
)
|
|
5998
|
+
DAILY =
|
|
5999
|
+
T.let(
|
|
6000
|
+
:DAILY,
|
|
6001
|
+
MetronomeSDK::V2::ContractEditParams::AddRecurringCredit::RecurrenceFrequency::TaggedSymbol
|
|
6002
|
+
)
|
|
5444
6003
|
|
|
5445
6004
|
sig do
|
|
5446
6005
|
override.returns(
|
|
@@ -6657,112 +7216,413 @@ module MetronomeSDK
|
|
|
6657
7216
|
end
|
|
6658
7217
|
end
|
|
6659
7218
|
|
|
6660
|
-
class
|
|
7219
|
+
class AddSpendTracker < MetronomeSDK::Internal::Type::BaseModel
|
|
6661
7220
|
OrHash =
|
|
6662
7221
|
T.type_alias do
|
|
6663
7222
|
T.any(
|
|
6664
|
-
MetronomeSDK::V2::ContractEditParams::
|
|
7223
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker,
|
|
6665
7224
|
MetronomeSDK::Internal::AnyHash
|
|
6666
7225
|
)
|
|
6667
7226
|
end
|
|
6668
7227
|
|
|
7228
|
+
# Human-readable identifier, unique per contract.
|
|
7229
|
+
sig { returns(String) }
|
|
7230
|
+
attr_accessor :alias_
|
|
7231
|
+
|
|
6669
7232
|
sig do
|
|
6670
7233
|
returns(
|
|
6671
|
-
|
|
7234
|
+
T::Array[
|
|
7235
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier
|
|
7236
|
+
]
|
|
6672
7237
|
)
|
|
6673
7238
|
end
|
|
6674
|
-
attr_accessor :
|
|
7239
|
+
attr_accessor :applicable_spend_specifiers
|
|
7240
|
+
|
|
7241
|
+
sig { returns(String) }
|
|
7242
|
+
attr_accessor :credit_type_id
|
|
6675
7243
|
|
|
6676
7244
|
sig do
|
|
6677
7245
|
returns(
|
|
6678
|
-
MetronomeSDK::V2::ContractEditParams::
|
|
7246
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ResetFrequency::OrSymbol
|
|
6679
7247
|
)
|
|
6680
7248
|
end
|
|
6681
|
-
|
|
7249
|
+
attr_accessor :reset_frequency
|
|
6682
7250
|
|
|
6683
7251
|
sig do
|
|
6684
7252
|
params(
|
|
6685
|
-
|
|
6686
|
-
|
|
6687
|
-
|
|
7253
|
+
alias_: String,
|
|
7254
|
+
applicable_spend_specifiers:
|
|
7255
|
+
T::Array[
|
|
7256
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::OrHash
|
|
7257
|
+
],
|
|
7258
|
+
credit_type_id: String,
|
|
7259
|
+
reset_frequency:
|
|
7260
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ResetFrequency::OrSymbol
|
|
7261
|
+
).returns(T.attached_class)
|
|
7262
|
+
end
|
|
7263
|
+
def self.new(
|
|
7264
|
+
# Human-readable identifier, unique per contract.
|
|
7265
|
+
alias_:,
|
|
7266
|
+
applicable_spend_specifiers:,
|
|
7267
|
+
credit_type_id:,
|
|
7268
|
+
reset_frequency:
|
|
7269
|
+
)
|
|
6688
7270
|
end
|
|
6689
|
-
attr_writer :proration
|
|
6690
7271
|
|
|
6691
7272
|
sig do
|
|
6692
|
-
returns(
|
|
6693
|
-
|
|
7273
|
+
override.returns(
|
|
7274
|
+
{
|
|
7275
|
+
alias_: String,
|
|
7276
|
+
applicable_spend_specifiers:
|
|
7277
|
+
T::Array[
|
|
7278
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier
|
|
7279
|
+
],
|
|
7280
|
+
credit_type_id: String,
|
|
7281
|
+
reset_frequency:
|
|
7282
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ResetFrequency::OrSymbol
|
|
7283
|
+
}
|
|
6694
7284
|
)
|
|
6695
7285
|
end
|
|
6696
|
-
|
|
6697
|
-
|
|
6698
|
-
sig do
|
|
6699
|
-
params(
|
|
6700
|
-
subscription_rate:
|
|
6701
|
-
MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate::OrHash
|
|
6702
|
-
).void
|
|
7286
|
+
def to_hash
|
|
6703
7287
|
end
|
|
6704
|
-
attr_writer :subscription_rate
|
|
6705
7288
|
|
|
6706
|
-
|
|
6707
|
-
|
|
6708
|
-
|
|
7289
|
+
class ApplicableSpendSpecifier < MetronomeSDK::Internal::Type::BaseModel
|
|
7290
|
+
OrHash =
|
|
7291
|
+
T.type_alias do
|
|
7292
|
+
T.any(
|
|
7293
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier,
|
|
7294
|
+
MetronomeSDK::Internal::AnyHash
|
|
7295
|
+
)
|
|
7296
|
+
end
|
|
6709
7297
|
|
|
6710
|
-
|
|
6711
|
-
|
|
7298
|
+
sig do
|
|
7299
|
+
returns(
|
|
7300
|
+
T::Array[
|
|
7301
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::Source::OrSymbol
|
|
7302
|
+
]
|
|
7303
|
+
)
|
|
7304
|
+
end
|
|
7305
|
+
attr_accessor :sources
|
|
6712
7306
|
|
|
6713
|
-
|
|
6714
|
-
|
|
7307
|
+
sig do
|
|
7308
|
+
returns(
|
|
7309
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::SpendType::OrSymbol
|
|
7310
|
+
)
|
|
7311
|
+
end
|
|
7312
|
+
attr_accessor :spend_type
|
|
6715
7313
|
|
|
6716
|
-
|
|
6717
|
-
|
|
7314
|
+
# Filter by whether the spend was discounted. Defaults to ANY if omitted.
|
|
7315
|
+
sig do
|
|
7316
|
+
returns(
|
|
7317
|
+
T.nilable(
|
|
7318
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::Discounted::OrSymbol
|
|
7319
|
+
)
|
|
7320
|
+
)
|
|
7321
|
+
end
|
|
7322
|
+
attr_reader :discounted
|
|
6718
7323
|
|
|
6719
|
-
|
|
6720
|
-
|
|
6721
|
-
|
|
6722
|
-
|
|
7324
|
+
sig do
|
|
7325
|
+
params(
|
|
7326
|
+
discounted:
|
|
7327
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::Discounted::OrSymbol
|
|
7328
|
+
).void
|
|
7329
|
+
end
|
|
7330
|
+
attr_writer :discounted
|
|
6723
7331
|
|
|
6724
|
-
|
|
6725
|
-
|
|
7332
|
+
sig do
|
|
7333
|
+
params(
|
|
7334
|
+
sources:
|
|
7335
|
+
T::Array[
|
|
7336
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::Source::OrSymbol
|
|
7337
|
+
],
|
|
7338
|
+
spend_type:
|
|
7339
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::SpendType::OrSymbol,
|
|
7340
|
+
discounted:
|
|
7341
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::Discounted::OrSymbol
|
|
7342
|
+
).returns(T.attached_class)
|
|
7343
|
+
end
|
|
7344
|
+
def self.new(
|
|
7345
|
+
sources:,
|
|
7346
|
+
spend_type:,
|
|
7347
|
+
# Filter by whether the spend was discounted. Defaults to ANY if omitted.
|
|
7348
|
+
discounted: nil
|
|
7349
|
+
)
|
|
7350
|
+
end
|
|
6726
7351
|
|
|
6727
|
-
|
|
6728
|
-
|
|
6729
|
-
|
|
6730
|
-
|
|
7352
|
+
sig do
|
|
7353
|
+
override.returns(
|
|
7354
|
+
{
|
|
7355
|
+
sources:
|
|
7356
|
+
T::Array[
|
|
7357
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::Source::OrSymbol
|
|
7358
|
+
],
|
|
7359
|
+
spend_type:
|
|
7360
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::SpendType::OrSymbol,
|
|
7361
|
+
discounted:
|
|
7362
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::Discounted::OrSymbol
|
|
7363
|
+
}
|
|
7364
|
+
)
|
|
7365
|
+
end
|
|
7366
|
+
def to_hash
|
|
7367
|
+
end
|
|
6731
7368
|
|
|
6732
|
-
|
|
6733
|
-
|
|
7369
|
+
module Source
|
|
7370
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
6734
7371
|
|
|
6735
|
-
|
|
6736
|
-
|
|
7372
|
+
TaggedSymbol =
|
|
7373
|
+
T.type_alias do
|
|
7374
|
+
T.all(
|
|
7375
|
+
Symbol,
|
|
7376
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::Source
|
|
7377
|
+
)
|
|
7378
|
+
end
|
|
7379
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
6737
7380
|
|
|
6738
|
-
|
|
6739
|
-
|
|
7381
|
+
THRESHOLD_RECHARGE =
|
|
7382
|
+
T.let(
|
|
7383
|
+
:THRESHOLD_RECHARGE,
|
|
7384
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::Source::TaggedSymbol
|
|
7385
|
+
)
|
|
7386
|
+
MANUAL =
|
|
7387
|
+
T.let(
|
|
7388
|
+
:MANUAL,
|
|
7389
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::Source::TaggedSymbol
|
|
7390
|
+
)
|
|
6740
7391
|
|
|
6741
|
-
|
|
6742
|
-
|
|
6743
|
-
|
|
6744
|
-
|
|
6745
|
-
|
|
6746
|
-
|
|
6747
|
-
|
|
6748
|
-
|
|
6749
|
-
|
|
6750
|
-
|
|
6751
|
-
returns(
|
|
6752
|
-
T.nilable(
|
|
6753
|
-
MetronomeSDK::V2::ContractEditParams::AddSubscription::QuantityManagementMode::OrSymbol
|
|
6754
|
-
)
|
|
6755
|
-
)
|
|
6756
|
-
end
|
|
6757
|
-
attr_reader :quantity_management_mode
|
|
7392
|
+
sig do
|
|
7393
|
+
override.returns(
|
|
7394
|
+
T::Array[
|
|
7395
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::Source::TaggedSymbol
|
|
7396
|
+
]
|
|
7397
|
+
)
|
|
7398
|
+
end
|
|
7399
|
+
def self.values
|
|
7400
|
+
end
|
|
7401
|
+
end
|
|
6758
7402
|
|
|
6759
|
-
|
|
6760
|
-
|
|
6761
|
-
|
|
6762
|
-
|
|
6763
|
-
|
|
6764
|
-
|
|
6765
|
-
|
|
7403
|
+
module SpendType
|
|
7404
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
7405
|
+
|
|
7406
|
+
TaggedSymbol =
|
|
7407
|
+
T.type_alias do
|
|
7408
|
+
T.all(
|
|
7409
|
+
Symbol,
|
|
7410
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::SpendType
|
|
7411
|
+
)
|
|
7412
|
+
end
|
|
7413
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
7414
|
+
|
|
7415
|
+
COMMIT_PURCHASE =
|
|
7416
|
+
T.let(
|
|
7417
|
+
:COMMIT_PURCHASE,
|
|
7418
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::SpendType::TaggedSymbol
|
|
7419
|
+
)
|
|
7420
|
+
|
|
7421
|
+
sig do
|
|
7422
|
+
override.returns(
|
|
7423
|
+
T::Array[
|
|
7424
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::SpendType::TaggedSymbol
|
|
7425
|
+
]
|
|
7426
|
+
)
|
|
7427
|
+
end
|
|
7428
|
+
def self.values
|
|
7429
|
+
end
|
|
7430
|
+
end
|
|
7431
|
+
|
|
7432
|
+
# Filter by whether the spend was discounted. Defaults to ANY if omitted.
|
|
7433
|
+
module Discounted
|
|
7434
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
7435
|
+
|
|
7436
|
+
TaggedSymbol =
|
|
7437
|
+
T.type_alias do
|
|
7438
|
+
T.all(
|
|
7439
|
+
Symbol,
|
|
7440
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::Discounted
|
|
7441
|
+
)
|
|
7442
|
+
end
|
|
7443
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
7444
|
+
|
|
7445
|
+
ANY =
|
|
7446
|
+
T.let(
|
|
7447
|
+
:ANY,
|
|
7448
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::Discounted::TaggedSymbol
|
|
7449
|
+
)
|
|
7450
|
+
DISCOUNTED_ONLY =
|
|
7451
|
+
T.let(
|
|
7452
|
+
:DISCOUNTED_ONLY,
|
|
7453
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::Discounted::TaggedSymbol
|
|
7454
|
+
)
|
|
7455
|
+
UNDISCOUNTED_ONLY =
|
|
7456
|
+
T.let(
|
|
7457
|
+
:UNDISCOUNTED_ONLY,
|
|
7458
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::Discounted::TaggedSymbol
|
|
7459
|
+
)
|
|
7460
|
+
|
|
7461
|
+
sig do
|
|
7462
|
+
override.returns(
|
|
7463
|
+
T::Array[
|
|
7464
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ApplicableSpendSpecifier::Discounted::TaggedSymbol
|
|
7465
|
+
]
|
|
7466
|
+
)
|
|
7467
|
+
end
|
|
7468
|
+
def self.values
|
|
7469
|
+
end
|
|
7470
|
+
end
|
|
7471
|
+
end
|
|
7472
|
+
|
|
7473
|
+
module ResetFrequency
|
|
7474
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
7475
|
+
|
|
7476
|
+
TaggedSymbol =
|
|
7477
|
+
T.type_alias do
|
|
7478
|
+
T.all(
|
|
7479
|
+
Symbol,
|
|
7480
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ResetFrequency
|
|
7481
|
+
)
|
|
7482
|
+
end
|
|
7483
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
7484
|
+
|
|
7485
|
+
BILLING_PERIOD =
|
|
7486
|
+
T.let(
|
|
7487
|
+
:BILLING_PERIOD,
|
|
7488
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ResetFrequency::TaggedSymbol
|
|
7489
|
+
)
|
|
7490
|
+
|
|
7491
|
+
sig do
|
|
7492
|
+
override.returns(
|
|
7493
|
+
T::Array[
|
|
7494
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::ResetFrequency::TaggedSymbol
|
|
7495
|
+
]
|
|
7496
|
+
)
|
|
7497
|
+
end
|
|
7498
|
+
def self.values
|
|
7499
|
+
end
|
|
7500
|
+
end
|
|
7501
|
+
end
|
|
7502
|
+
|
|
7503
|
+
class AddSubscription < MetronomeSDK::Internal::Type::BaseModel
|
|
7504
|
+
OrHash =
|
|
7505
|
+
T.type_alias do
|
|
7506
|
+
T.any(
|
|
7507
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription,
|
|
7508
|
+
MetronomeSDK::Internal::AnyHash
|
|
7509
|
+
)
|
|
7510
|
+
end
|
|
7511
|
+
|
|
7512
|
+
sig do
|
|
7513
|
+
returns(
|
|
7514
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::CollectionSchedule::OrSymbol
|
|
7515
|
+
)
|
|
7516
|
+
end
|
|
7517
|
+
attr_accessor :collection_schedule
|
|
7518
|
+
|
|
7519
|
+
sig do
|
|
7520
|
+
returns(
|
|
7521
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration
|
|
7522
|
+
)
|
|
7523
|
+
end
|
|
7524
|
+
attr_reader :proration
|
|
7525
|
+
|
|
7526
|
+
sig do
|
|
7527
|
+
params(
|
|
7528
|
+
proration:
|
|
7529
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::OrHash
|
|
7530
|
+
).void
|
|
7531
|
+
end
|
|
7532
|
+
attr_writer :proration
|
|
7533
|
+
|
|
7534
|
+
sig do
|
|
7535
|
+
returns(
|
|
7536
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate
|
|
7537
|
+
)
|
|
7538
|
+
end
|
|
7539
|
+
attr_reader :subscription_rate
|
|
7540
|
+
|
|
7541
|
+
sig do
|
|
7542
|
+
params(
|
|
7543
|
+
subscription_rate:
|
|
7544
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate::OrHash
|
|
7545
|
+
).void
|
|
7546
|
+
end
|
|
7547
|
+
attr_writer :subscription_rate
|
|
7548
|
+
|
|
7549
|
+
sig do
|
|
7550
|
+
returns(
|
|
7551
|
+
T.nilable(
|
|
7552
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig
|
|
7553
|
+
)
|
|
7554
|
+
)
|
|
7555
|
+
end
|
|
7556
|
+
attr_reader :billing_cycle_config
|
|
7557
|
+
|
|
7558
|
+
sig do
|
|
7559
|
+
params(
|
|
7560
|
+
billing_cycle_config:
|
|
7561
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig::OrHash
|
|
7562
|
+
).void
|
|
7563
|
+
end
|
|
7564
|
+
attr_writer :billing_cycle_config
|
|
7565
|
+
|
|
7566
|
+
# Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
7567
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
7568
|
+
attr_reader :custom_fields
|
|
7569
|
+
|
|
7570
|
+
sig { params(custom_fields: T::Hash[Symbol, String]).void }
|
|
7571
|
+
attr_writer :custom_fields
|
|
7572
|
+
|
|
7573
|
+
sig { returns(T.nilable(String)) }
|
|
7574
|
+
attr_reader :description
|
|
7575
|
+
|
|
7576
|
+
sig { params(description: String).void }
|
|
7577
|
+
attr_writer :description
|
|
7578
|
+
|
|
7579
|
+
# Exclusive end time for the subscription. If not provided, subscription inherits
|
|
7580
|
+
# contract end date.
|
|
7581
|
+
sig { returns(T.nilable(Time)) }
|
|
7582
|
+
attr_reader :ending_before
|
|
7583
|
+
|
|
7584
|
+
sig { params(ending_before: Time).void }
|
|
7585
|
+
attr_writer :ending_before
|
|
7586
|
+
|
|
7587
|
+
# The initial quantity for the subscription. It must be non-negative value.
|
|
7588
|
+
# Required if quantity_management_mode is QUANTITY_ONLY.
|
|
7589
|
+
sig { returns(T.nilable(Float)) }
|
|
7590
|
+
attr_reader :initial_quantity
|
|
7591
|
+
|
|
7592
|
+
sig { params(initial_quantity: Float).void }
|
|
7593
|
+
attr_writer :initial_quantity
|
|
7594
|
+
|
|
7595
|
+
sig { returns(T.nilable(String)) }
|
|
7596
|
+
attr_reader :name
|
|
7597
|
+
|
|
7598
|
+
sig { params(name: String).void }
|
|
7599
|
+
attr_writer :name
|
|
7600
|
+
|
|
7601
|
+
# Determines how the subscription's quantity is controlled. Defaults to
|
|
7602
|
+
# QUANTITY_ONLY. **QUANTITY_ONLY**: The subscription quantity is specified
|
|
7603
|
+
# directly on the subscription. `initial_quantity` must be provided with this
|
|
7604
|
+
# option. Compatible with recurring commits/credits that use POOLED allocation.
|
|
7605
|
+
# **SEAT_BASED**: Use when you want to pass specific seat identifiers (e.g. add
|
|
7606
|
+
# user_123) to increment and decrement a subscription quantity, rather than
|
|
7607
|
+
# directly providing the quantity. You must use a **SEAT_BASED** subscription to
|
|
7608
|
+
# use a linked recurring credit with an allocation per seat. `seat_config` must be
|
|
7609
|
+
# provided with this option.
|
|
7610
|
+
sig do
|
|
7611
|
+
returns(
|
|
7612
|
+
T.nilable(
|
|
7613
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::QuantityManagementMode::OrSymbol
|
|
7614
|
+
)
|
|
7615
|
+
)
|
|
7616
|
+
end
|
|
7617
|
+
attr_reader :quantity_management_mode
|
|
7618
|
+
|
|
7619
|
+
sig do
|
|
7620
|
+
params(
|
|
7621
|
+
quantity_management_mode:
|
|
7622
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::QuantityManagementMode::OrSymbol
|
|
7623
|
+
).void
|
|
7624
|
+
end
|
|
7625
|
+
attr_writer :quantity_management_mode
|
|
6766
7626
|
|
|
6767
7627
|
sig do
|
|
6768
7628
|
returns(
|
|
@@ -6805,6 +7665,8 @@ module MetronomeSDK
|
|
|
6805
7665
|
MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::OrHash,
|
|
6806
7666
|
subscription_rate:
|
|
6807
7667
|
MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate::OrHash,
|
|
7668
|
+
billing_cycle_config:
|
|
7669
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig::OrHash,
|
|
6808
7670
|
custom_fields: T::Hash[Symbol, String],
|
|
6809
7671
|
description: String,
|
|
6810
7672
|
ending_before: Time,
|
|
@@ -6822,6 +7684,7 @@ module MetronomeSDK
|
|
|
6822
7684
|
collection_schedule:,
|
|
6823
7685
|
proration:,
|
|
6824
7686
|
subscription_rate:,
|
|
7687
|
+
billing_cycle_config: nil,
|
|
6825
7688
|
# Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
6826
7689
|
custom_fields: nil,
|
|
6827
7690
|
description: nil,
|
|
@@ -6861,6 +7724,8 @@ module MetronomeSDK
|
|
|
6861
7724
|
MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration,
|
|
6862
7725
|
subscription_rate:
|
|
6863
7726
|
MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate,
|
|
7727
|
+
billing_cycle_config:
|
|
7728
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig,
|
|
6864
7729
|
custom_fields: T::Hash[Symbol, String],
|
|
6865
7730
|
description: String,
|
|
6866
7731
|
ending_before: Time,
|
|
@@ -6950,11 +7815,30 @@ module MetronomeSDK
|
|
|
6950
7815
|
sig { params(is_prorated: T::Boolean).void }
|
|
6951
7816
|
attr_writer :is_prorated
|
|
6952
7817
|
|
|
7818
|
+
sig do
|
|
7819
|
+
returns(
|
|
7820
|
+
T.nilable(
|
|
7821
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::Rounding
|
|
7822
|
+
)
|
|
7823
|
+
)
|
|
7824
|
+
end
|
|
7825
|
+
attr_reader :rounding
|
|
7826
|
+
|
|
7827
|
+
sig do
|
|
7828
|
+
params(
|
|
7829
|
+
rounding:
|
|
7830
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::Rounding::OrHash
|
|
7831
|
+
).void
|
|
7832
|
+
end
|
|
7833
|
+
attr_writer :rounding
|
|
7834
|
+
|
|
6953
7835
|
sig do
|
|
6954
7836
|
params(
|
|
6955
7837
|
invoice_behavior:
|
|
6956
7838
|
MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::InvoiceBehavior::OrSymbol,
|
|
6957
|
-
is_prorated: T::Boolean
|
|
7839
|
+
is_prorated: T::Boolean,
|
|
7840
|
+
rounding:
|
|
7841
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::Rounding::OrHash
|
|
6958
7842
|
).returns(T.attached_class)
|
|
6959
7843
|
end
|
|
6960
7844
|
def self.new(
|
|
@@ -6965,7 +7849,8 @@ module MetronomeSDK
|
|
|
6965
7849
|
# in-arrears at the end of the period.
|
|
6966
7850
|
invoice_behavior: nil,
|
|
6967
7851
|
# Indicates if the partial period will be prorated or charged a full amount.
|
|
6968
|
-
is_prorated: nil
|
|
7852
|
+
is_prorated: nil,
|
|
7853
|
+
rounding: nil
|
|
6969
7854
|
)
|
|
6970
7855
|
end
|
|
6971
7856
|
|
|
@@ -6974,7 +7859,9 @@ module MetronomeSDK
|
|
|
6974
7859
|
{
|
|
6975
7860
|
invoice_behavior:
|
|
6976
7861
|
MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::InvoiceBehavior::OrSymbol,
|
|
6977
|
-
is_prorated: T::Boolean
|
|
7862
|
+
is_prorated: T::Boolean,
|
|
7863
|
+
rounding:
|
|
7864
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::Rounding
|
|
6978
7865
|
}
|
|
6979
7866
|
)
|
|
6980
7867
|
end
|
|
@@ -7019,36 +7906,126 @@ module MetronomeSDK
|
|
|
7019
7906
|
def self.values
|
|
7020
7907
|
end
|
|
7021
7908
|
end
|
|
7022
|
-
end
|
|
7023
7909
|
|
|
7024
|
-
|
|
7025
|
-
|
|
7026
|
-
|
|
7027
|
-
|
|
7028
|
-
|
|
7029
|
-
|
|
7910
|
+
class Rounding < MetronomeSDK::Internal::Type::BaseModel
|
|
7911
|
+
OrHash =
|
|
7912
|
+
T.type_alias do
|
|
7913
|
+
T.any(
|
|
7914
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::Rounding,
|
|
7915
|
+
MetronomeSDK::Internal::AnyHash
|
|
7916
|
+
)
|
|
7917
|
+
end
|
|
7918
|
+
|
|
7919
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
7920
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
7921
|
+
# nearest 100 in the stored unit).
|
|
7922
|
+
sig { returns(Float) }
|
|
7923
|
+
attr_accessor :decimal_places
|
|
7924
|
+
|
|
7925
|
+
sig do
|
|
7926
|
+
returns(
|
|
7927
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::Rounding::RoundingMethod::OrSymbol
|
|
7030
7928
|
)
|
|
7031
7929
|
end
|
|
7930
|
+
attr_accessor :rounding_method
|
|
7032
7931
|
|
|
7033
|
-
|
|
7034
|
-
|
|
7035
|
-
|
|
7036
|
-
|
|
7037
|
-
|
|
7932
|
+
sig do
|
|
7933
|
+
params(
|
|
7934
|
+
decimal_places: Float,
|
|
7935
|
+
rounding_method:
|
|
7936
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::Rounding::RoundingMethod::OrSymbol
|
|
7937
|
+
).returns(T.attached_class)
|
|
7938
|
+
end
|
|
7939
|
+
def self.new(
|
|
7940
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
7941
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
7942
|
+
# nearest 100 in the stored unit).
|
|
7943
|
+
decimal_places:,
|
|
7944
|
+
rounding_method:
|
|
7038
7945
|
)
|
|
7039
|
-
|
|
7040
|
-
attr_accessor :billing_frequency
|
|
7946
|
+
end
|
|
7041
7947
|
|
|
7042
|
-
|
|
7043
|
-
|
|
7044
|
-
|
|
7948
|
+
sig do
|
|
7949
|
+
override.returns(
|
|
7950
|
+
{
|
|
7951
|
+
decimal_places: Float,
|
|
7952
|
+
rounding_method:
|
|
7953
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::Rounding::RoundingMethod::OrSymbol
|
|
7954
|
+
}
|
|
7955
|
+
)
|
|
7956
|
+
end
|
|
7957
|
+
def to_hash
|
|
7958
|
+
end
|
|
7045
7959
|
|
|
7046
|
-
|
|
7047
|
-
|
|
7048
|
-
|
|
7049
|
-
|
|
7050
|
-
|
|
7051
|
-
|
|
7960
|
+
module RoundingMethod
|
|
7961
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
7962
|
+
|
|
7963
|
+
TaggedSymbol =
|
|
7964
|
+
T.type_alias do
|
|
7965
|
+
T.all(
|
|
7966
|
+
Symbol,
|
|
7967
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::Rounding::RoundingMethod
|
|
7968
|
+
)
|
|
7969
|
+
end
|
|
7970
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
7971
|
+
|
|
7972
|
+
HALF_UP =
|
|
7973
|
+
T.let(
|
|
7974
|
+
:HALF_UP,
|
|
7975
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::Rounding::RoundingMethod::TaggedSymbol
|
|
7976
|
+
)
|
|
7977
|
+
FLOOR =
|
|
7978
|
+
T.let(
|
|
7979
|
+
:FLOOR,
|
|
7980
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::Rounding::RoundingMethod::TaggedSymbol
|
|
7981
|
+
)
|
|
7982
|
+
CEILING =
|
|
7983
|
+
T.let(
|
|
7984
|
+
:CEILING,
|
|
7985
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::Rounding::RoundingMethod::TaggedSymbol
|
|
7986
|
+
)
|
|
7987
|
+
|
|
7988
|
+
sig do
|
|
7989
|
+
override.returns(
|
|
7990
|
+
T::Array[
|
|
7991
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::Proration::Rounding::RoundingMethod::TaggedSymbol
|
|
7992
|
+
]
|
|
7993
|
+
)
|
|
7994
|
+
end
|
|
7995
|
+
def self.values
|
|
7996
|
+
end
|
|
7997
|
+
end
|
|
7998
|
+
end
|
|
7999
|
+
end
|
|
8000
|
+
|
|
8001
|
+
class SubscriptionRate < MetronomeSDK::Internal::Type::BaseModel
|
|
8002
|
+
OrHash =
|
|
8003
|
+
T.type_alias do
|
|
8004
|
+
T.any(
|
|
8005
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate,
|
|
8006
|
+
MetronomeSDK::Internal::AnyHash
|
|
8007
|
+
)
|
|
8008
|
+
end
|
|
8009
|
+
|
|
8010
|
+
# Frequency to bill subscription with. Together with product_id, must match
|
|
8011
|
+
# existing rate on the rate card.
|
|
8012
|
+
sig do
|
|
8013
|
+
returns(
|
|
8014
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate::BillingFrequency::OrSymbol
|
|
8015
|
+
)
|
|
8016
|
+
end
|
|
8017
|
+
attr_accessor :billing_frequency
|
|
8018
|
+
|
|
8019
|
+
# Must be subscription type product
|
|
8020
|
+
sig { returns(String) }
|
|
8021
|
+
attr_accessor :product_id
|
|
8022
|
+
|
|
8023
|
+
sig do
|
|
8024
|
+
params(
|
|
8025
|
+
billing_frequency:
|
|
8026
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::SubscriptionRate::BillingFrequency::OrSymbol,
|
|
8027
|
+
product_id: String
|
|
8028
|
+
).returns(T.attached_class)
|
|
7052
8029
|
end
|
|
7053
8030
|
def self.new(
|
|
7054
8031
|
# Frequency to bill subscription with. Together with product_id, must match
|
|
@@ -7118,6 +8095,108 @@ module MetronomeSDK
|
|
|
7118
8095
|
end
|
|
7119
8096
|
end
|
|
7120
8097
|
|
|
8098
|
+
class BillingCycleConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
8099
|
+
OrHash =
|
|
8100
|
+
T.type_alias do
|
|
8101
|
+
T.any(
|
|
8102
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig,
|
|
8103
|
+
MetronomeSDK::Internal::AnyHash
|
|
8104
|
+
)
|
|
8105
|
+
end
|
|
8106
|
+
|
|
8107
|
+
# The date to anchor the billing cycle to. If omitted, defaults to the contract's
|
|
8108
|
+
# usage invoice billing cycle anchor date.
|
|
8109
|
+
sig { returns(T.nilable(Time)) }
|
|
8110
|
+
attr_reader :anchor_date
|
|
8111
|
+
|
|
8112
|
+
sig { params(anchor_date: Time).void }
|
|
8113
|
+
attr_writer :anchor_date
|
|
8114
|
+
|
|
8115
|
+
# Controls whether this subscription consolidates onto usage invoices or gets its
|
|
8116
|
+
# own scheduled invoice. Defaults to ON_USAGE_INVOICE if omitted.
|
|
8117
|
+
sig do
|
|
8118
|
+
returns(
|
|
8119
|
+
T.nilable(
|
|
8120
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig::InvoicePlacement::OrSymbol
|
|
8121
|
+
)
|
|
8122
|
+
)
|
|
8123
|
+
end
|
|
8124
|
+
attr_reader :invoice_placement
|
|
8125
|
+
|
|
8126
|
+
sig do
|
|
8127
|
+
params(
|
|
8128
|
+
invoice_placement:
|
|
8129
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig::InvoicePlacement::OrSymbol
|
|
8130
|
+
).void
|
|
8131
|
+
end
|
|
8132
|
+
attr_writer :invoice_placement
|
|
8133
|
+
|
|
8134
|
+
sig do
|
|
8135
|
+
params(
|
|
8136
|
+
anchor_date: Time,
|
|
8137
|
+
invoice_placement:
|
|
8138
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig::InvoicePlacement::OrSymbol
|
|
8139
|
+
).returns(T.attached_class)
|
|
8140
|
+
end
|
|
8141
|
+
def self.new(
|
|
8142
|
+
# The date to anchor the billing cycle to. If omitted, defaults to the contract's
|
|
8143
|
+
# usage invoice billing cycle anchor date.
|
|
8144
|
+
anchor_date: nil,
|
|
8145
|
+
# Controls whether this subscription consolidates onto usage invoices or gets its
|
|
8146
|
+
# own scheduled invoice. Defaults to ON_USAGE_INVOICE if omitted.
|
|
8147
|
+
invoice_placement: nil
|
|
8148
|
+
)
|
|
8149
|
+
end
|
|
8150
|
+
|
|
8151
|
+
sig do
|
|
8152
|
+
override.returns(
|
|
8153
|
+
{
|
|
8154
|
+
anchor_date: Time,
|
|
8155
|
+
invoice_placement:
|
|
8156
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig::InvoicePlacement::OrSymbol
|
|
8157
|
+
}
|
|
8158
|
+
)
|
|
8159
|
+
end
|
|
8160
|
+
def to_hash
|
|
8161
|
+
end
|
|
8162
|
+
|
|
8163
|
+
# Controls whether this subscription consolidates onto usage invoices or gets its
|
|
8164
|
+
# own scheduled invoice. Defaults to ON_USAGE_INVOICE if omitted.
|
|
8165
|
+
module InvoicePlacement
|
|
8166
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
8167
|
+
|
|
8168
|
+
TaggedSymbol =
|
|
8169
|
+
T.type_alias do
|
|
8170
|
+
T.all(
|
|
8171
|
+
Symbol,
|
|
8172
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig::InvoicePlacement
|
|
8173
|
+
)
|
|
8174
|
+
end
|
|
8175
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
8176
|
+
|
|
8177
|
+
ON_SCHEDULED_INVOICE =
|
|
8178
|
+
T.let(
|
|
8179
|
+
:ON_SCHEDULED_INVOICE,
|
|
8180
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig::InvoicePlacement::TaggedSymbol
|
|
8181
|
+
)
|
|
8182
|
+
ON_USAGE_INVOICE =
|
|
8183
|
+
T.let(
|
|
8184
|
+
:ON_USAGE_INVOICE,
|
|
8185
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig::InvoicePlacement::TaggedSymbol
|
|
8186
|
+
)
|
|
8187
|
+
|
|
8188
|
+
sig do
|
|
8189
|
+
override.returns(
|
|
8190
|
+
T::Array[
|
|
8191
|
+
MetronomeSDK::V2::ContractEditParams::AddSubscription::BillingCycleConfig::InvoicePlacement::TaggedSymbol
|
|
8192
|
+
]
|
|
8193
|
+
)
|
|
8194
|
+
end
|
|
8195
|
+
def self.values
|
|
8196
|
+
end
|
|
8197
|
+
end
|
|
8198
|
+
end
|
|
8199
|
+
|
|
7121
8200
|
# Determines how the subscription's quantity is controlled. Defaults to
|
|
7122
8201
|
# QUANTITY_ONLY. **QUANTITY_ONLY**: The subscription quantity is specified
|
|
7123
8202
|
# directly on the subscription. `initial_quantity` must be provided with this
|
|
@@ -8567,6 +9646,19 @@ module MetronomeSDK
|
|
|
8567
9646
|
sig { params(threshold_amount: Float).void }
|
|
8568
9647
|
attr_writer :threshold_amount
|
|
8569
9648
|
|
|
9649
|
+
# Determines which balances are excluded from remaining balance calculation for
|
|
9650
|
+
# threshold billing.
|
|
9651
|
+
sig do
|
|
9652
|
+
returns(
|
|
9653
|
+
T.nilable(
|
|
9654
|
+
T::Array[
|
|
9655
|
+
MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier
|
|
9656
|
+
]
|
|
9657
|
+
)
|
|
9658
|
+
)
|
|
9659
|
+
end
|
|
9660
|
+
attr_accessor :threshold_balance_specifiers
|
|
9661
|
+
|
|
8570
9662
|
sig do
|
|
8571
9663
|
params(
|
|
8572
9664
|
commit:
|
|
@@ -8579,7 +9671,13 @@ module MetronomeSDK
|
|
|
8579
9671
|
is_enabled: T::Boolean,
|
|
8580
9672
|
payment_gate_config: MetronomeSDK::PaymentGateConfigV2::OrHash,
|
|
8581
9673
|
recharge_to_amount: Float,
|
|
8582
|
-
threshold_amount: Float
|
|
9674
|
+
threshold_amount: Float,
|
|
9675
|
+
threshold_balance_specifiers:
|
|
9676
|
+
T.nilable(
|
|
9677
|
+
T::Array[
|
|
9678
|
+
MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::OrHash
|
|
9679
|
+
]
|
|
9680
|
+
)
|
|
8583
9681
|
).returns(T.attached_class)
|
|
8584
9682
|
end
|
|
8585
9683
|
def self.new(
|
|
@@ -8597,7 +9695,10 @@ module MetronomeSDK
|
|
|
8597
9695
|
recharge_to_amount: nil,
|
|
8598
9696
|
# Specify the threshold amount for the contract. Each time the contract's balance
|
|
8599
9697
|
# lowers to this amount, a threshold charge will be initiated.
|
|
8600
|
-
threshold_amount: nil
|
|
9698
|
+
threshold_amount: nil,
|
|
9699
|
+
# Determines which balances are excluded from remaining balance calculation for
|
|
9700
|
+
# threshold billing.
|
|
9701
|
+
threshold_balance_specifiers: nil
|
|
8601
9702
|
)
|
|
8602
9703
|
end
|
|
8603
9704
|
|
|
@@ -8614,7 +9715,13 @@ module MetronomeSDK
|
|
|
8614
9715
|
is_enabled: T::Boolean,
|
|
8615
9716
|
payment_gate_config: MetronomeSDK::PaymentGateConfigV2,
|
|
8616
9717
|
recharge_to_amount: Float,
|
|
8617
|
-
threshold_amount: Float
|
|
9718
|
+
threshold_amount: Float,
|
|
9719
|
+
threshold_balance_specifiers:
|
|
9720
|
+
T.nilable(
|
|
9721
|
+
T::Array[
|
|
9722
|
+
MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier
|
|
9723
|
+
]
|
|
9724
|
+
)
|
|
8618
9725
|
}
|
|
8619
9726
|
)
|
|
8620
9727
|
end
|
|
@@ -8703,6 +9810,26 @@ module MetronomeSDK
|
|
|
8703
9810
|
)
|
|
8704
9811
|
end
|
|
8705
9812
|
|
|
9813
|
+
# Update the discount cap. Set to null to remove an existing cap.
|
|
9814
|
+
sig do
|
|
9815
|
+
returns(
|
|
9816
|
+
T.nilable(
|
|
9817
|
+
MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap
|
|
9818
|
+
)
|
|
9819
|
+
)
|
|
9820
|
+
end
|
|
9821
|
+
attr_reader :cap
|
|
9822
|
+
|
|
9823
|
+
sig do
|
|
9824
|
+
params(
|
|
9825
|
+
cap:
|
|
9826
|
+
T.nilable(
|
|
9827
|
+
MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap::OrHash
|
|
9828
|
+
)
|
|
9829
|
+
).void
|
|
9830
|
+
end
|
|
9831
|
+
attr_writer :cap
|
|
9832
|
+
|
|
8706
9833
|
# The fraction of the original amount that the customer pays after applying the
|
|
8707
9834
|
# discount. Set to null to remove the discount fraction. For example, 0.85 means
|
|
8708
9835
|
# the customer pays 85% of the original amount (a 15% discount).
|
|
@@ -8710,11 +9837,17 @@ module MetronomeSDK
|
|
|
8710
9837
|
attr_accessor :payment_fraction
|
|
8711
9838
|
|
|
8712
9839
|
sig do
|
|
8713
|
-
params(
|
|
8714
|
-
|
|
8715
|
-
|
|
9840
|
+
params(
|
|
9841
|
+
cap:
|
|
9842
|
+
T.nilable(
|
|
9843
|
+
MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap::OrHash
|
|
9844
|
+
),
|
|
9845
|
+
payment_fraction: T.nilable(Float)
|
|
9846
|
+
).returns(T.attached_class)
|
|
8716
9847
|
end
|
|
8717
9848
|
def self.new(
|
|
9849
|
+
# Update the discount cap. Set to null to remove an existing cap.
|
|
9850
|
+
cap: nil,
|
|
8718
9851
|
# The fraction of the original amount that the customer pays after applying the
|
|
8719
9852
|
# discount. Set to null to remove the discount fraction. For example, 0.85 means
|
|
8720
9853
|
# the customer pays 85% of the original amount (a 15% discount).
|
|
@@ -8722,9 +9855,229 @@ module MetronomeSDK
|
|
|
8722
9855
|
)
|
|
8723
9856
|
end
|
|
8724
9857
|
|
|
8725
|
-
sig
|
|
9858
|
+
sig do
|
|
9859
|
+
override.returns(
|
|
9860
|
+
{
|
|
9861
|
+
cap:
|
|
9862
|
+
T.nilable(
|
|
9863
|
+
MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap
|
|
9864
|
+
),
|
|
9865
|
+
payment_fraction: T.nilable(Float)
|
|
9866
|
+
}
|
|
9867
|
+
)
|
|
9868
|
+
end
|
|
8726
9869
|
def to_hash
|
|
8727
9870
|
end
|
|
9871
|
+
|
|
9872
|
+
class Cap < MetronomeSDK::Internal::Type::BaseModel
|
|
9873
|
+
OrHash =
|
|
9874
|
+
T.type_alias do
|
|
9875
|
+
T.any(
|
|
9876
|
+
MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::DiscountConfiguration::Cap,
|
|
9877
|
+
MetronomeSDK::Internal::AnyHash
|
|
9878
|
+
)
|
|
9879
|
+
end
|
|
9880
|
+
|
|
9881
|
+
# Accumulated spend ceiling above which the discount stops applying.
|
|
9882
|
+
sig { returns(Float) }
|
|
9883
|
+
attr_accessor :amount
|
|
9884
|
+
|
|
9885
|
+
# Alias of the spend tracker this cap is measured against.
|
|
9886
|
+
sig { returns(String) }
|
|
9887
|
+
attr_accessor :spend_tracker_alias
|
|
9888
|
+
|
|
9889
|
+
# Update the discount cap. Set to null to remove an existing cap.
|
|
9890
|
+
sig do
|
|
9891
|
+
params(amount: Float, spend_tracker_alias: String).returns(
|
|
9892
|
+
T.attached_class
|
|
9893
|
+
)
|
|
9894
|
+
end
|
|
9895
|
+
def self.new(
|
|
9896
|
+
# Accumulated spend ceiling above which the discount stops applying.
|
|
9897
|
+
amount:,
|
|
9898
|
+
# Alias of the spend tracker this cap is measured against.
|
|
9899
|
+
spend_tracker_alias:
|
|
9900
|
+
)
|
|
9901
|
+
end
|
|
9902
|
+
|
|
9903
|
+
sig do
|
|
9904
|
+
override.returns({ amount: Float, spend_tracker_alias: String })
|
|
9905
|
+
end
|
|
9906
|
+
def to_hash
|
|
9907
|
+
end
|
|
9908
|
+
end
|
|
9909
|
+
end
|
|
9910
|
+
|
|
9911
|
+
class ThresholdBalanceSpecifier < MetronomeSDK::Internal::Type::BaseModel
|
|
9912
|
+
OrHash =
|
|
9913
|
+
T.type_alias do
|
|
9914
|
+
T.any(
|
|
9915
|
+
MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier,
|
|
9916
|
+
MetronomeSDK::Internal::AnyHash
|
|
9917
|
+
)
|
|
9918
|
+
end
|
|
9919
|
+
|
|
9920
|
+
sig do
|
|
9921
|
+
returns(
|
|
9922
|
+
T::Array[
|
|
9923
|
+
MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude
|
|
9924
|
+
]
|
|
9925
|
+
)
|
|
9926
|
+
end
|
|
9927
|
+
attr_accessor :exclude
|
|
9928
|
+
|
|
9929
|
+
sig do
|
|
9930
|
+
params(
|
|
9931
|
+
exclude:
|
|
9932
|
+
T::Array[
|
|
9933
|
+
MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::OrHash
|
|
9934
|
+
]
|
|
9935
|
+
).returns(T.attached_class)
|
|
9936
|
+
end
|
|
9937
|
+
def self.new(exclude:)
|
|
9938
|
+
end
|
|
9939
|
+
|
|
9940
|
+
sig do
|
|
9941
|
+
override.returns(
|
|
9942
|
+
{
|
|
9943
|
+
exclude:
|
|
9944
|
+
T::Array[
|
|
9945
|
+
MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude
|
|
9946
|
+
]
|
|
9947
|
+
}
|
|
9948
|
+
)
|
|
9949
|
+
end
|
|
9950
|
+
def to_hash
|
|
9951
|
+
end
|
|
9952
|
+
|
|
9953
|
+
class Exclude < MetronomeSDK::Internal::Type::BaseModel
|
|
9954
|
+
OrHash =
|
|
9955
|
+
T.type_alias do
|
|
9956
|
+
T.any(
|
|
9957
|
+
MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude,
|
|
9958
|
+
MetronomeSDK::Internal::AnyHash
|
|
9959
|
+
)
|
|
9960
|
+
end
|
|
9961
|
+
|
|
9962
|
+
sig do
|
|
9963
|
+
returns(
|
|
9964
|
+
T::Array[
|
|
9965
|
+
MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter
|
|
9966
|
+
]
|
|
9967
|
+
)
|
|
9968
|
+
end
|
|
9969
|
+
attr_accessor :custom_field_filters
|
|
9970
|
+
|
|
9971
|
+
sig do
|
|
9972
|
+
params(
|
|
9973
|
+
custom_field_filters:
|
|
9974
|
+
T::Array[
|
|
9975
|
+
MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::OrHash
|
|
9976
|
+
]
|
|
9977
|
+
).returns(T.attached_class)
|
|
9978
|
+
end
|
|
9979
|
+
def self.new(custom_field_filters:)
|
|
9980
|
+
end
|
|
9981
|
+
|
|
9982
|
+
sig do
|
|
9983
|
+
override.returns(
|
|
9984
|
+
{
|
|
9985
|
+
custom_field_filters:
|
|
9986
|
+
T::Array[
|
|
9987
|
+
MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter
|
|
9988
|
+
]
|
|
9989
|
+
}
|
|
9990
|
+
)
|
|
9991
|
+
end
|
|
9992
|
+
def to_hash
|
|
9993
|
+
end
|
|
9994
|
+
|
|
9995
|
+
class CustomFieldFilter < MetronomeSDK::Internal::Type::BaseModel
|
|
9996
|
+
OrHash =
|
|
9997
|
+
T.type_alias do
|
|
9998
|
+
T.any(
|
|
9999
|
+
MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter,
|
|
10000
|
+
MetronomeSDK::Internal::AnyHash
|
|
10001
|
+
)
|
|
10002
|
+
end
|
|
10003
|
+
|
|
10004
|
+
sig do
|
|
10005
|
+
returns(
|
|
10006
|
+
MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::Entity::OrSymbol
|
|
10007
|
+
)
|
|
10008
|
+
end
|
|
10009
|
+
attr_accessor :entity
|
|
10010
|
+
|
|
10011
|
+
sig { returns(String) }
|
|
10012
|
+
attr_accessor :key
|
|
10013
|
+
|
|
10014
|
+
sig { returns(String) }
|
|
10015
|
+
attr_accessor :value
|
|
10016
|
+
|
|
10017
|
+
sig do
|
|
10018
|
+
params(
|
|
10019
|
+
entity:
|
|
10020
|
+
MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::Entity::OrSymbol,
|
|
10021
|
+
key: String,
|
|
10022
|
+
value: String
|
|
10023
|
+
).returns(T.attached_class)
|
|
10024
|
+
end
|
|
10025
|
+
def self.new(entity:, key:, value:)
|
|
10026
|
+
end
|
|
10027
|
+
|
|
10028
|
+
sig do
|
|
10029
|
+
override.returns(
|
|
10030
|
+
{
|
|
10031
|
+
entity:
|
|
10032
|
+
MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::Entity::OrSymbol,
|
|
10033
|
+
key: String,
|
|
10034
|
+
value: String
|
|
10035
|
+
}
|
|
10036
|
+
)
|
|
10037
|
+
end
|
|
10038
|
+
def to_hash
|
|
10039
|
+
end
|
|
10040
|
+
|
|
10041
|
+
module Entity
|
|
10042
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
10043
|
+
|
|
10044
|
+
TaggedSymbol =
|
|
10045
|
+
T.type_alias do
|
|
10046
|
+
T.all(
|
|
10047
|
+
Symbol,
|
|
10048
|
+
MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::Entity
|
|
10049
|
+
)
|
|
10050
|
+
end
|
|
10051
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
10052
|
+
|
|
10053
|
+
COMMIT =
|
|
10054
|
+
T.let(
|
|
10055
|
+
:Commit,
|
|
10056
|
+
MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::Entity::TaggedSymbol
|
|
10057
|
+
)
|
|
10058
|
+
CONTRACT_CREDIT =
|
|
10059
|
+
T.let(
|
|
10060
|
+
:ContractCredit,
|
|
10061
|
+
MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::Entity::TaggedSymbol
|
|
10062
|
+
)
|
|
10063
|
+
CONTRACT_CREDIT_OR_COMMIT =
|
|
10064
|
+
T.let(
|
|
10065
|
+
:ContractCreditOrCommit,
|
|
10066
|
+
MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::Entity::TaggedSymbol
|
|
10067
|
+
)
|
|
10068
|
+
|
|
10069
|
+
sig do
|
|
10070
|
+
override.returns(
|
|
10071
|
+
T::Array[
|
|
10072
|
+
MetronomeSDK::V2::ContractEditParams::UpdatePrepaidBalanceThresholdConfiguration::ThresholdBalanceSpecifier::Exclude::CustomFieldFilter::Entity::TaggedSymbol
|
|
10073
|
+
]
|
|
10074
|
+
)
|
|
10075
|
+
end
|
|
10076
|
+
def self.values
|
|
10077
|
+
end
|
|
10078
|
+
end
|
|
10079
|
+
end
|
|
10080
|
+
end
|
|
8728
10081
|
end
|
|
8729
10082
|
end
|
|
8730
10083
|
|
|
@@ -8777,6 +10130,27 @@ module MetronomeSDK
|
|
|
8777
10130
|
end
|
|
8778
10131
|
attr_writer :invoice_amount
|
|
8779
10132
|
|
|
10133
|
+
# If provided, updates the rounding config on the recurring commit. Set to null to
|
|
10134
|
+
# clear rounding. Omit to leave unchanged.
|
|
10135
|
+
sig do
|
|
10136
|
+
returns(
|
|
10137
|
+
T.nilable(
|
|
10138
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding
|
|
10139
|
+
)
|
|
10140
|
+
)
|
|
10141
|
+
end
|
|
10142
|
+
attr_reader :proration_rounding
|
|
10143
|
+
|
|
10144
|
+
sig do
|
|
10145
|
+
params(
|
|
10146
|
+
proration_rounding:
|
|
10147
|
+
T.nilable(
|
|
10148
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::OrHash
|
|
10149
|
+
)
|
|
10150
|
+
).void
|
|
10151
|
+
end
|
|
10152
|
+
attr_writer :proration_rounding
|
|
10153
|
+
|
|
8780
10154
|
# If provided, updates the recurring commit to use the specified rate type when
|
|
8781
10155
|
# generating future commits.
|
|
8782
10156
|
sig do
|
|
@@ -8804,6 +10178,10 @@ module MetronomeSDK
|
|
|
8804
10178
|
ending_before: T.nilable(Time),
|
|
8805
10179
|
invoice_amount:
|
|
8806
10180
|
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount::OrHash,
|
|
10181
|
+
proration_rounding:
|
|
10182
|
+
T.nilable(
|
|
10183
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::OrHash
|
|
10184
|
+
),
|
|
8807
10185
|
rate_type:
|
|
8808
10186
|
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::RateType::OrSymbol
|
|
8809
10187
|
).returns(T.attached_class)
|
|
@@ -8813,6 +10191,9 @@ module MetronomeSDK
|
|
|
8813
10191
|
access_amount: nil,
|
|
8814
10192
|
ending_before: nil,
|
|
8815
10193
|
invoice_amount: nil,
|
|
10194
|
+
# If provided, updates the rounding config on the recurring commit. Set to null to
|
|
10195
|
+
# clear rounding. Omit to leave unchanged.
|
|
10196
|
+
proration_rounding: nil,
|
|
8816
10197
|
# If provided, updates the recurring commit to use the specified rate type when
|
|
8817
10198
|
# generating future commits.
|
|
8818
10199
|
rate_type: nil
|
|
@@ -8828,6 +10209,10 @@ module MetronomeSDK
|
|
|
8828
10209
|
ending_before: T.nilable(Time),
|
|
8829
10210
|
invoice_amount:
|
|
8830
10211
|
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::InvoiceAmount,
|
|
10212
|
+
proration_rounding:
|
|
10213
|
+
T.nilable(
|
|
10214
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding
|
|
10215
|
+
),
|
|
8831
10216
|
rate_type:
|
|
8832
10217
|
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::RateType::OrSymbol
|
|
8833
10218
|
}
|
|
@@ -8904,6 +10289,268 @@ module MetronomeSDK
|
|
|
8904
10289
|
end
|
|
8905
10290
|
end
|
|
8906
10291
|
|
|
10292
|
+
class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
|
|
10293
|
+
OrHash =
|
|
10294
|
+
T.type_alias do
|
|
10295
|
+
T.any(
|
|
10296
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding,
|
|
10297
|
+
MetronomeSDK::Internal::AnyHash
|
|
10298
|
+
)
|
|
10299
|
+
end
|
|
10300
|
+
|
|
10301
|
+
sig do
|
|
10302
|
+
returns(
|
|
10303
|
+
T.nilable(
|
|
10304
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access
|
|
10305
|
+
)
|
|
10306
|
+
)
|
|
10307
|
+
end
|
|
10308
|
+
attr_reader :access
|
|
10309
|
+
|
|
10310
|
+
sig do
|
|
10311
|
+
params(
|
|
10312
|
+
access:
|
|
10313
|
+
T.nilable(
|
|
10314
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access::OrHash
|
|
10315
|
+
)
|
|
10316
|
+
).void
|
|
10317
|
+
end
|
|
10318
|
+
attr_writer :access
|
|
10319
|
+
|
|
10320
|
+
sig do
|
|
10321
|
+
returns(
|
|
10322
|
+
T.nilable(
|
|
10323
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice
|
|
10324
|
+
)
|
|
10325
|
+
)
|
|
10326
|
+
end
|
|
10327
|
+
attr_reader :invoice
|
|
10328
|
+
|
|
10329
|
+
sig do
|
|
10330
|
+
params(
|
|
10331
|
+
invoice:
|
|
10332
|
+
T.nilable(
|
|
10333
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice::OrHash
|
|
10334
|
+
)
|
|
10335
|
+
).void
|
|
10336
|
+
end
|
|
10337
|
+
attr_writer :invoice
|
|
10338
|
+
|
|
10339
|
+
# If provided, updates the rounding config on the recurring commit. Set to null to
|
|
10340
|
+
# clear rounding. Omit to leave unchanged.
|
|
10341
|
+
sig do
|
|
10342
|
+
params(
|
|
10343
|
+
access:
|
|
10344
|
+
T.nilable(
|
|
10345
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access::OrHash
|
|
10346
|
+
),
|
|
10347
|
+
invoice:
|
|
10348
|
+
T.nilable(
|
|
10349
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice::OrHash
|
|
10350
|
+
)
|
|
10351
|
+
).returns(T.attached_class)
|
|
10352
|
+
end
|
|
10353
|
+
def self.new(access: nil, invoice: nil)
|
|
10354
|
+
end
|
|
10355
|
+
|
|
10356
|
+
sig do
|
|
10357
|
+
override.returns(
|
|
10358
|
+
{
|
|
10359
|
+
access:
|
|
10360
|
+
T.nilable(
|
|
10361
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access
|
|
10362
|
+
),
|
|
10363
|
+
invoice:
|
|
10364
|
+
T.nilable(
|
|
10365
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice
|
|
10366
|
+
)
|
|
10367
|
+
}
|
|
10368
|
+
)
|
|
10369
|
+
end
|
|
10370
|
+
def to_hash
|
|
10371
|
+
end
|
|
10372
|
+
|
|
10373
|
+
class Access < MetronomeSDK::Internal::Type::BaseModel
|
|
10374
|
+
OrHash =
|
|
10375
|
+
T.type_alias do
|
|
10376
|
+
T.any(
|
|
10377
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access,
|
|
10378
|
+
MetronomeSDK::Internal::AnyHash
|
|
10379
|
+
)
|
|
10380
|
+
end
|
|
10381
|
+
|
|
10382
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
10383
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
10384
|
+
# nearest 100 in the stored unit).
|
|
10385
|
+
sig { returns(Float) }
|
|
10386
|
+
attr_accessor :decimal_places
|
|
10387
|
+
|
|
10388
|
+
sig do
|
|
10389
|
+
returns(
|
|
10390
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access::RoundingMethod::OrSymbol
|
|
10391
|
+
)
|
|
10392
|
+
end
|
|
10393
|
+
attr_accessor :rounding_method
|
|
10394
|
+
|
|
10395
|
+
sig do
|
|
10396
|
+
params(
|
|
10397
|
+
decimal_places: Float,
|
|
10398
|
+
rounding_method:
|
|
10399
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access::RoundingMethod::OrSymbol
|
|
10400
|
+
).returns(T.attached_class)
|
|
10401
|
+
end
|
|
10402
|
+
def self.new(
|
|
10403
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
10404
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
10405
|
+
# nearest 100 in the stored unit).
|
|
10406
|
+
decimal_places:,
|
|
10407
|
+
rounding_method:
|
|
10408
|
+
)
|
|
10409
|
+
end
|
|
10410
|
+
|
|
10411
|
+
sig do
|
|
10412
|
+
override.returns(
|
|
10413
|
+
{
|
|
10414
|
+
decimal_places: Float,
|
|
10415
|
+
rounding_method:
|
|
10416
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access::RoundingMethod::OrSymbol
|
|
10417
|
+
}
|
|
10418
|
+
)
|
|
10419
|
+
end
|
|
10420
|
+
def to_hash
|
|
10421
|
+
end
|
|
10422
|
+
|
|
10423
|
+
module RoundingMethod
|
|
10424
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
10425
|
+
|
|
10426
|
+
TaggedSymbol =
|
|
10427
|
+
T.type_alias do
|
|
10428
|
+
T.all(
|
|
10429
|
+
Symbol,
|
|
10430
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access::RoundingMethod
|
|
10431
|
+
)
|
|
10432
|
+
end
|
|
10433
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
10434
|
+
|
|
10435
|
+
HALF_UP =
|
|
10436
|
+
T.let(
|
|
10437
|
+
:HALF_UP,
|
|
10438
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
10439
|
+
)
|
|
10440
|
+
FLOOR =
|
|
10441
|
+
T.let(
|
|
10442
|
+
:FLOOR,
|
|
10443
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
10444
|
+
)
|
|
10445
|
+
CEILING =
|
|
10446
|
+
T.let(
|
|
10447
|
+
:CEILING,
|
|
10448
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
10449
|
+
)
|
|
10450
|
+
|
|
10451
|
+
sig do
|
|
10452
|
+
override.returns(
|
|
10453
|
+
T::Array[
|
|
10454
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
10455
|
+
]
|
|
10456
|
+
)
|
|
10457
|
+
end
|
|
10458
|
+
def self.values
|
|
10459
|
+
end
|
|
10460
|
+
end
|
|
10461
|
+
end
|
|
10462
|
+
|
|
10463
|
+
class Invoice < MetronomeSDK::Internal::Type::BaseModel
|
|
10464
|
+
OrHash =
|
|
10465
|
+
T.type_alias do
|
|
10466
|
+
T.any(
|
|
10467
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice,
|
|
10468
|
+
MetronomeSDK::Internal::AnyHash
|
|
10469
|
+
)
|
|
10470
|
+
end
|
|
10471
|
+
|
|
10472
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
10473
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
10474
|
+
# nearest 100 in the stored unit).
|
|
10475
|
+
sig { returns(Float) }
|
|
10476
|
+
attr_accessor :decimal_places
|
|
10477
|
+
|
|
10478
|
+
sig do
|
|
10479
|
+
returns(
|
|
10480
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice::RoundingMethod::OrSymbol
|
|
10481
|
+
)
|
|
10482
|
+
end
|
|
10483
|
+
attr_accessor :rounding_method
|
|
10484
|
+
|
|
10485
|
+
sig do
|
|
10486
|
+
params(
|
|
10487
|
+
decimal_places: Float,
|
|
10488
|
+
rounding_method:
|
|
10489
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice::RoundingMethod::OrSymbol
|
|
10490
|
+
).returns(T.attached_class)
|
|
10491
|
+
end
|
|
10492
|
+
def self.new(
|
|
10493
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
10494
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
10495
|
+
# nearest 100 in the stored unit).
|
|
10496
|
+
decimal_places:,
|
|
10497
|
+
rounding_method:
|
|
10498
|
+
)
|
|
10499
|
+
end
|
|
10500
|
+
|
|
10501
|
+
sig do
|
|
10502
|
+
override.returns(
|
|
10503
|
+
{
|
|
10504
|
+
decimal_places: Float,
|
|
10505
|
+
rounding_method:
|
|
10506
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice::RoundingMethod::OrSymbol
|
|
10507
|
+
}
|
|
10508
|
+
)
|
|
10509
|
+
end
|
|
10510
|
+
def to_hash
|
|
10511
|
+
end
|
|
10512
|
+
|
|
10513
|
+
module RoundingMethod
|
|
10514
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
10515
|
+
|
|
10516
|
+
TaggedSymbol =
|
|
10517
|
+
T.type_alias do
|
|
10518
|
+
T.all(
|
|
10519
|
+
Symbol,
|
|
10520
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice::RoundingMethod
|
|
10521
|
+
)
|
|
10522
|
+
end
|
|
10523
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
10524
|
+
|
|
10525
|
+
HALF_UP =
|
|
10526
|
+
T.let(
|
|
10527
|
+
:HALF_UP,
|
|
10528
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice::RoundingMethod::TaggedSymbol
|
|
10529
|
+
)
|
|
10530
|
+
FLOOR =
|
|
10531
|
+
T.let(
|
|
10532
|
+
:FLOOR,
|
|
10533
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice::RoundingMethod::TaggedSymbol
|
|
10534
|
+
)
|
|
10535
|
+
CEILING =
|
|
10536
|
+
T.let(
|
|
10537
|
+
:CEILING,
|
|
10538
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice::RoundingMethod::TaggedSymbol
|
|
10539
|
+
)
|
|
10540
|
+
|
|
10541
|
+
sig do
|
|
10542
|
+
override.returns(
|
|
10543
|
+
T::Array[
|
|
10544
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCommit::ProrationRounding::Invoice::RoundingMethod::TaggedSymbol
|
|
10545
|
+
]
|
|
10546
|
+
)
|
|
10547
|
+
end
|
|
10548
|
+
def self.values
|
|
10549
|
+
end
|
|
10550
|
+
end
|
|
10551
|
+
end
|
|
10552
|
+
end
|
|
10553
|
+
|
|
8907
10554
|
# If provided, updates the recurring commit to use the specified rate type when
|
|
8908
10555
|
# generating future commits.
|
|
8909
10556
|
module RateType
|
|
@@ -8973,6 +10620,27 @@ module MetronomeSDK
|
|
|
8973
10620
|
sig { returns(T.nilable(Time)) }
|
|
8974
10621
|
attr_accessor :ending_before
|
|
8975
10622
|
|
|
10623
|
+
# If provided, updates the rounding config on the recurring credit. Set to null to
|
|
10624
|
+
# clear rounding. Omit to leave unchanged.
|
|
10625
|
+
sig do
|
|
10626
|
+
returns(
|
|
10627
|
+
T.nilable(
|
|
10628
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding
|
|
10629
|
+
)
|
|
10630
|
+
)
|
|
10631
|
+
end
|
|
10632
|
+
attr_reader :proration_rounding
|
|
10633
|
+
|
|
10634
|
+
sig do
|
|
10635
|
+
params(
|
|
10636
|
+
proration_rounding:
|
|
10637
|
+
T.nilable(
|
|
10638
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::OrHash
|
|
10639
|
+
)
|
|
10640
|
+
).void
|
|
10641
|
+
end
|
|
10642
|
+
attr_writer :proration_rounding
|
|
10643
|
+
|
|
8976
10644
|
# If provided, updates the recurring credit to use the specified rate type when
|
|
8977
10645
|
# generating future credits.
|
|
8978
10646
|
sig do
|
|
@@ -8998,6 +10666,10 @@ module MetronomeSDK
|
|
|
8998
10666
|
access_amount:
|
|
8999
10667
|
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::AccessAmount::OrHash,
|
|
9000
10668
|
ending_before: T.nilable(Time),
|
|
10669
|
+
proration_rounding:
|
|
10670
|
+
T.nilable(
|
|
10671
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::OrHash
|
|
10672
|
+
),
|
|
9001
10673
|
rate_type:
|
|
9002
10674
|
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::RateType::OrSymbol
|
|
9003
10675
|
).returns(T.attached_class)
|
|
@@ -9006,6 +10678,9 @@ module MetronomeSDK
|
|
|
9006
10678
|
recurring_credit_id:,
|
|
9007
10679
|
access_amount: nil,
|
|
9008
10680
|
ending_before: nil,
|
|
10681
|
+
# If provided, updates the rounding config on the recurring credit. Set to null to
|
|
10682
|
+
# clear rounding. Omit to leave unchanged.
|
|
10683
|
+
proration_rounding: nil,
|
|
9009
10684
|
# If provided, updates the recurring credit to use the specified rate type when
|
|
9010
10685
|
# generating future credits.
|
|
9011
10686
|
rate_type: nil
|
|
@@ -9019,6 +10694,10 @@ module MetronomeSDK
|
|
|
9019
10694
|
access_amount:
|
|
9020
10695
|
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::AccessAmount,
|
|
9021
10696
|
ending_before: T.nilable(Time),
|
|
10697
|
+
proration_rounding:
|
|
10698
|
+
T.nilable(
|
|
10699
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding
|
|
10700
|
+
),
|
|
9022
10701
|
rate_type:
|
|
9023
10702
|
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::RateType::OrSymbol
|
|
9024
10703
|
}
|
|
@@ -9061,6 +10740,151 @@ module MetronomeSDK
|
|
|
9061
10740
|
end
|
|
9062
10741
|
end
|
|
9063
10742
|
|
|
10743
|
+
class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
|
|
10744
|
+
OrHash =
|
|
10745
|
+
T.type_alias do
|
|
10746
|
+
T.any(
|
|
10747
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding,
|
|
10748
|
+
MetronomeSDK::Internal::AnyHash
|
|
10749
|
+
)
|
|
10750
|
+
end
|
|
10751
|
+
|
|
10752
|
+
sig do
|
|
10753
|
+
returns(
|
|
10754
|
+
T.nilable(
|
|
10755
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access
|
|
10756
|
+
)
|
|
10757
|
+
)
|
|
10758
|
+
end
|
|
10759
|
+
attr_reader :access
|
|
10760
|
+
|
|
10761
|
+
sig do
|
|
10762
|
+
params(
|
|
10763
|
+
access:
|
|
10764
|
+
T.nilable(
|
|
10765
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access::OrHash
|
|
10766
|
+
)
|
|
10767
|
+
).void
|
|
10768
|
+
end
|
|
10769
|
+
attr_writer :access
|
|
10770
|
+
|
|
10771
|
+
# If provided, updates the rounding config on the recurring credit. Set to null to
|
|
10772
|
+
# clear rounding. Omit to leave unchanged.
|
|
10773
|
+
sig do
|
|
10774
|
+
params(
|
|
10775
|
+
access:
|
|
10776
|
+
T.nilable(
|
|
10777
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access::OrHash
|
|
10778
|
+
)
|
|
10779
|
+
).returns(T.attached_class)
|
|
10780
|
+
end
|
|
10781
|
+
def self.new(access: nil)
|
|
10782
|
+
end
|
|
10783
|
+
|
|
10784
|
+
sig do
|
|
10785
|
+
override.returns(
|
|
10786
|
+
{
|
|
10787
|
+
access:
|
|
10788
|
+
T.nilable(
|
|
10789
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access
|
|
10790
|
+
)
|
|
10791
|
+
}
|
|
10792
|
+
)
|
|
10793
|
+
end
|
|
10794
|
+
def to_hash
|
|
10795
|
+
end
|
|
10796
|
+
|
|
10797
|
+
class Access < MetronomeSDK::Internal::Type::BaseModel
|
|
10798
|
+
OrHash =
|
|
10799
|
+
T.type_alias do
|
|
10800
|
+
T.any(
|
|
10801
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access,
|
|
10802
|
+
MetronomeSDK::Internal::AnyHash
|
|
10803
|
+
)
|
|
10804
|
+
end
|
|
10805
|
+
|
|
10806
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
10807
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
10808
|
+
# nearest 100 in the stored unit).
|
|
10809
|
+
sig { returns(Float) }
|
|
10810
|
+
attr_accessor :decimal_places
|
|
10811
|
+
|
|
10812
|
+
sig do
|
|
10813
|
+
returns(
|
|
10814
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access::RoundingMethod::OrSymbol
|
|
10815
|
+
)
|
|
10816
|
+
end
|
|
10817
|
+
attr_accessor :rounding_method
|
|
10818
|
+
|
|
10819
|
+
sig do
|
|
10820
|
+
params(
|
|
10821
|
+
decimal_places: Float,
|
|
10822
|
+
rounding_method:
|
|
10823
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access::RoundingMethod::OrSymbol
|
|
10824
|
+
).returns(T.attached_class)
|
|
10825
|
+
end
|
|
10826
|
+
def self.new(
|
|
10827
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
10828
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
10829
|
+
# nearest 100 in the stored unit).
|
|
10830
|
+
decimal_places:,
|
|
10831
|
+
rounding_method:
|
|
10832
|
+
)
|
|
10833
|
+
end
|
|
10834
|
+
|
|
10835
|
+
sig do
|
|
10836
|
+
override.returns(
|
|
10837
|
+
{
|
|
10838
|
+
decimal_places: Float,
|
|
10839
|
+
rounding_method:
|
|
10840
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access::RoundingMethod::OrSymbol
|
|
10841
|
+
}
|
|
10842
|
+
)
|
|
10843
|
+
end
|
|
10844
|
+
def to_hash
|
|
10845
|
+
end
|
|
10846
|
+
|
|
10847
|
+
module RoundingMethod
|
|
10848
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
10849
|
+
|
|
10850
|
+
TaggedSymbol =
|
|
10851
|
+
T.type_alias do
|
|
10852
|
+
T.all(
|
|
10853
|
+
Symbol,
|
|
10854
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access::RoundingMethod
|
|
10855
|
+
)
|
|
10856
|
+
end
|
|
10857
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
10858
|
+
|
|
10859
|
+
HALF_UP =
|
|
10860
|
+
T.let(
|
|
10861
|
+
:HALF_UP,
|
|
10862
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
10863
|
+
)
|
|
10864
|
+
FLOOR =
|
|
10865
|
+
T.let(
|
|
10866
|
+
:FLOOR,
|
|
10867
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
10868
|
+
)
|
|
10869
|
+
CEILING =
|
|
10870
|
+
T.let(
|
|
10871
|
+
:CEILING,
|
|
10872
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
10873
|
+
)
|
|
10874
|
+
|
|
10875
|
+
sig do
|
|
10876
|
+
override.returns(
|
|
10877
|
+
T::Array[
|
|
10878
|
+
MetronomeSDK::V2::ContractEditParams::UpdateRecurringCredit::ProrationRounding::Access::RoundingMethod::TaggedSymbol
|
|
10879
|
+
]
|
|
10880
|
+
)
|
|
10881
|
+
end
|
|
10882
|
+
def self.values
|
|
10883
|
+
end
|
|
10884
|
+
end
|
|
10885
|
+
end
|
|
10886
|
+
end
|
|
10887
|
+
|
|
9064
10888
|
# If provided, updates the recurring credit to use the specified rate type when
|
|
9065
10889
|
# generating future credits.
|
|
9066
10890
|
module RateType
|
|
@@ -9541,6 +11365,26 @@ module MetronomeSDK
|
|
|
9541
11365
|
)
|
|
9542
11366
|
end
|
|
9543
11367
|
|
|
11368
|
+
# Update the discount cap. Set to null to remove an existing cap.
|
|
11369
|
+
sig do
|
|
11370
|
+
returns(
|
|
11371
|
+
T.nilable(
|
|
11372
|
+
MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::DiscountConfiguration::Cap
|
|
11373
|
+
)
|
|
11374
|
+
)
|
|
11375
|
+
end
|
|
11376
|
+
attr_reader :cap
|
|
11377
|
+
|
|
11378
|
+
sig do
|
|
11379
|
+
params(
|
|
11380
|
+
cap:
|
|
11381
|
+
T.nilable(
|
|
11382
|
+
MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::DiscountConfiguration::Cap::OrHash
|
|
11383
|
+
)
|
|
11384
|
+
).void
|
|
11385
|
+
end
|
|
11386
|
+
attr_writer :cap
|
|
11387
|
+
|
|
9544
11388
|
# The fraction of the original amount that the customer pays after applying the
|
|
9545
11389
|
# discount. Set to null to remove the discount fraction. For example, 0.85 means
|
|
9546
11390
|
# the customer pays 85% of the original amount (a 15% discount).
|
|
@@ -9548,11 +11392,17 @@ module MetronomeSDK
|
|
|
9548
11392
|
attr_accessor :payment_fraction
|
|
9549
11393
|
|
|
9550
11394
|
sig do
|
|
9551
|
-
params(
|
|
9552
|
-
|
|
9553
|
-
|
|
11395
|
+
params(
|
|
11396
|
+
cap:
|
|
11397
|
+
T.nilable(
|
|
11398
|
+
MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::DiscountConfiguration::Cap::OrHash
|
|
11399
|
+
),
|
|
11400
|
+
payment_fraction: T.nilable(Float)
|
|
11401
|
+
).returns(T.attached_class)
|
|
9554
11402
|
end
|
|
9555
11403
|
def self.new(
|
|
11404
|
+
# Update the discount cap. Set to null to remove an existing cap.
|
|
11405
|
+
cap: nil,
|
|
9556
11406
|
# The fraction of the original amount that the customer pays after applying the
|
|
9557
11407
|
# discount. Set to null to remove the discount fraction. For example, 0.85 means
|
|
9558
11408
|
# the customer pays 85% of the original amount (a 15% discount).
|
|
@@ -9560,9 +11410,57 @@ module MetronomeSDK
|
|
|
9560
11410
|
)
|
|
9561
11411
|
end
|
|
9562
11412
|
|
|
9563
|
-
sig
|
|
11413
|
+
sig do
|
|
11414
|
+
override.returns(
|
|
11415
|
+
{
|
|
11416
|
+
cap:
|
|
11417
|
+
T.nilable(
|
|
11418
|
+
MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::DiscountConfiguration::Cap
|
|
11419
|
+
),
|
|
11420
|
+
payment_fraction: T.nilable(Float)
|
|
11421
|
+
}
|
|
11422
|
+
)
|
|
11423
|
+
end
|
|
9564
11424
|
def to_hash
|
|
9565
11425
|
end
|
|
11426
|
+
|
|
11427
|
+
class Cap < MetronomeSDK::Internal::Type::BaseModel
|
|
11428
|
+
OrHash =
|
|
11429
|
+
T.type_alias do
|
|
11430
|
+
T.any(
|
|
11431
|
+
MetronomeSDK::V2::ContractEditParams::UpdateSpendThresholdConfiguration::DiscountConfiguration::Cap,
|
|
11432
|
+
MetronomeSDK::Internal::AnyHash
|
|
11433
|
+
)
|
|
11434
|
+
end
|
|
11435
|
+
|
|
11436
|
+
# Accumulated spend ceiling above which the discount stops applying.
|
|
11437
|
+
sig { returns(Float) }
|
|
11438
|
+
attr_accessor :amount
|
|
11439
|
+
|
|
11440
|
+
# Alias of the spend tracker this cap is measured against.
|
|
11441
|
+
sig { returns(String) }
|
|
11442
|
+
attr_accessor :spend_tracker_alias
|
|
11443
|
+
|
|
11444
|
+
# Update the discount cap. Set to null to remove an existing cap.
|
|
11445
|
+
sig do
|
|
11446
|
+
params(amount: Float, spend_tracker_alias: String).returns(
|
|
11447
|
+
T.attached_class
|
|
11448
|
+
)
|
|
11449
|
+
end
|
|
11450
|
+
def self.new(
|
|
11451
|
+
# Accumulated spend ceiling above which the discount stops applying.
|
|
11452
|
+
amount:,
|
|
11453
|
+
# Alias of the spend tracker this cap is measured against.
|
|
11454
|
+
spend_tracker_alias:
|
|
11455
|
+
)
|
|
11456
|
+
end
|
|
11457
|
+
|
|
11458
|
+
sig do
|
|
11459
|
+
override.returns({ amount: Float, spend_tracker_alias: String })
|
|
11460
|
+
end
|
|
11461
|
+
def to_hash
|
|
11462
|
+
end
|
|
11463
|
+
end
|
|
9566
11464
|
end
|
|
9567
11465
|
end
|
|
9568
11466
|
|
|
@@ -9581,6 +11479,25 @@ module MetronomeSDK
|
|
|
9581
11479
|
sig { returns(T.nilable(Time)) }
|
|
9582
11480
|
attr_accessor :ending_before
|
|
9583
11481
|
|
|
11482
|
+
sig do
|
|
11483
|
+
returns(
|
|
11484
|
+
T.nilable(
|
|
11485
|
+
MetronomeSDK::V2::ContractEditParams::UpdateSubscription::ProrationRounding
|
|
11486
|
+
)
|
|
11487
|
+
)
|
|
11488
|
+
end
|
|
11489
|
+
attr_reader :proration_rounding
|
|
11490
|
+
|
|
11491
|
+
sig do
|
|
11492
|
+
params(
|
|
11493
|
+
proration_rounding:
|
|
11494
|
+
T.nilable(
|
|
11495
|
+
MetronomeSDK::V2::ContractEditParams::UpdateSubscription::ProrationRounding::OrHash
|
|
11496
|
+
)
|
|
11497
|
+
).void
|
|
11498
|
+
end
|
|
11499
|
+
attr_writer :proration_rounding
|
|
11500
|
+
|
|
9584
11501
|
# Update the subscription's quantity management mode from QUANTITY_ONLY to
|
|
9585
11502
|
# SEAT_BASED with the provided seat_group_key.
|
|
9586
11503
|
sig do
|
|
@@ -9645,6 +11562,10 @@ module MetronomeSDK
|
|
|
9645
11562
|
params(
|
|
9646
11563
|
subscription_id: String,
|
|
9647
11564
|
ending_before: T.nilable(Time),
|
|
11565
|
+
proration_rounding:
|
|
11566
|
+
T.nilable(
|
|
11567
|
+
MetronomeSDK::V2::ContractEditParams::UpdateSubscription::ProrationRounding::OrHash
|
|
11568
|
+
),
|
|
9648
11569
|
quantity_management_mode_update:
|
|
9649
11570
|
MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityManagementModeUpdate::OrHash,
|
|
9650
11571
|
quantity_updates:
|
|
@@ -9658,6 +11579,7 @@ module MetronomeSDK
|
|
|
9658
11579
|
def self.new(
|
|
9659
11580
|
subscription_id:,
|
|
9660
11581
|
ending_before: nil,
|
|
11582
|
+
proration_rounding: nil,
|
|
9661
11583
|
# Update the subscription's quantity management mode from QUANTITY_ONLY to
|
|
9662
11584
|
# SEAT_BASED with the provided seat_group_key.
|
|
9663
11585
|
quantity_management_mode_update: nil,
|
|
@@ -9674,6 +11596,10 @@ module MetronomeSDK
|
|
|
9674
11596
|
{
|
|
9675
11597
|
subscription_id: String,
|
|
9676
11598
|
ending_before: T.nilable(Time),
|
|
11599
|
+
proration_rounding:
|
|
11600
|
+
T.nilable(
|
|
11601
|
+
MetronomeSDK::V2::ContractEditParams::UpdateSubscription::ProrationRounding
|
|
11602
|
+
),
|
|
9677
11603
|
quantity_management_mode_update:
|
|
9678
11604
|
MetronomeSDK::V2::ContractEditParams::UpdateSubscription::QuantityManagementModeUpdate,
|
|
9679
11605
|
quantity_updates:
|
|
@@ -9688,6 +11614,96 @@ module MetronomeSDK
|
|
|
9688
11614
|
def to_hash
|
|
9689
11615
|
end
|
|
9690
11616
|
|
|
11617
|
+
class ProrationRounding < MetronomeSDK::Internal::Type::BaseModel
|
|
11618
|
+
OrHash =
|
|
11619
|
+
T.type_alias do
|
|
11620
|
+
T.any(
|
|
11621
|
+
MetronomeSDK::V2::ContractEditParams::UpdateSubscription::ProrationRounding,
|
|
11622
|
+
MetronomeSDK::Internal::AnyHash
|
|
11623
|
+
)
|
|
11624
|
+
end
|
|
11625
|
+
|
|
11626
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
11627
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
11628
|
+
# nearest 100 in the stored unit).
|
|
11629
|
+
sig { returns(Float) }
|
|
11630
|
+
attr_accessor :decimal_places
|
|
11631
|
+
|
|
11632
|
+
sig do
|
|
11633
|
+
returns(
|
|
11634
|
+
MetronomeSDK::V2::ContractEditParams::UpdateSubscription::ProrationRounding::RoundingMethod::OrSymbol
|
|
11635
|
+
)
|
|
11636
|
+
end
|
|
11637
|
+
attr_accessor :rounding_method
|
|
11638
|
+
|
|
11639
|
+
sig do
|
|
11640
|
+
params(
|
|
11641
|
+
decimal_places: Float,
|
|
11642
|
+
rounding_method:
|
|
11643
|
+
MetronomeSDK::V2::ContractEditParams::UpdateSubscription::ProrationRounding::RoundingMethod::OrSymbol
|
|
11644
|
+
).returns(T.attached_class)
|
|
11645
|
+
end
|
|
11646
|
+
def self.new(
|
|
11647
|
+
# Number of decimal places to round to. Applied directly to the stored monetary
|
|
11648
|
+
# representation. Negative values round to powers of 10 (e.g., -2 rounds to
|
|
11649
|
+
# nearest 100 in the stored unit).
|
|
11650
|
+
decimal_places:,
|
|
11651
|
+
rounding_method:
|
|
11652
|
+
)
|
|
11653
|
+
end
|
|
11654
|
+
|
|
11655
|
+
sig do
|
|
11656
|
+
override.returns(
|
|
11657
|
+
{
|
|
11658
|
+
decimal_places: Float,
|
|
11659
|
+
rounding_method:
|
|
11660
|
+
MetronomeSDK::V2::ContractEditParams::UpdateSubscription::ProrationRounding::RoundingMethod::OrSymbol
|
|
11661
|
+
}
|
|
11662
|
+
)
|
|
11663
|
+
end
|
|
11664
|
+
def to_hash
|
|
11665
|
+
end
|
|
11666
|
+
|
|
11667
|
+
module RoundingMethod
|
|
11668
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
11669
|
+
|
|
11670
|
+
TaggedSymbol =
|
|
11671
|
+
T.type_alias do
|
|
11672
|
+
T.all(
|
|
11673
|
+
Symbol,
|
|
11674
|
+
MetronomeSDK::V2::ContractEditParams::UpdateSubscription::ProrationRounding::RoundingMethod
|
|
11675
|
+
)
|
|
11676
|
+
end
|
|
11677
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
11678
|
+
|
|
11679
|
+
HALF_UP =
|
|
11680
|
+
T.let(
|
|
11681
|
+
:HALF_UP,
|
|
11682
|
+
MetronomeSDK::V2::ContractEditParams::UpdateSubscription::ProrationRounding::RoundingMethod::TaggedSymbol
|
|
11683
|
+
)
|
|
11684
|
+
FLOOR =
|
|
11685
|
+
T.let(
|
|
11686
|
+
:FLOOR,
|
|
11687
|
+
MetronomeSDK::V2::ContractEditParams::UpdateSubscription::ProrationRounding::RoundingMethod::TaggedSymbol
|
|
11688
|
+
)
|
|
11689
|
+
CEILING =
|
|
11690
|
+
T.let(
|
|
11691
|
+
:CEILING,
|
|
11692
|
+
MetronomeSDK::V2::ContractEditParams::UpdateSubscription::ProrationRounding::RoundingMethod::TaggedSymbol
|
|
11693
|
+
)
|
|
11694
|
+
|
|
11695
|
+
sig do
|
|
11696
|
+
override.returns(
|
|
11697
|
+
T::Array[
|
|
11698
|
+
MetronomeSDK::V2::ContractEditParams::UpdateSubscription::ProrationRounding::RoundingMethod::TaggedSymbol
|
|
11699
|
+
]
|
|
11700
|
+
)
|
|
11701
|
+
end
|
|
11702
|
+
def self.values
|
|
11703
|
+
end
|
|
11704
|
+
end
|
|
11705
|
+
end
|
|
11706
|
+
|
|
9691
11707
|
class QuantityManagementModeUpdate < MetronomeSDK::Internal::Type::BaseModel
|
|
9692
11708
|
OrHash =
|
|
9693
11709
|
T.type_alias do
|