metronome-sdk 0.1.0.pre.alpha.4 → 0.2.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.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +30 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/internal/cursor_page.rb +1 -1
  5. data/lib/metronome_sdk/internal/transport/base_client.rb +1 -1
  6. data/lib/metronome_sdk/models/commit.rb +81 -8
  7. data/lib/metronome_sdk/models/contract_without_amendments.rb +368 -2
  8. data/lib/metronome_sdk/models/credit.rb +67 -6
  9. data/lib/metronome_sdk/models/v1/alert_create_params.rb +9 -11
  10. data/lib/metronome_sdk/models/v1/contract_create_params.rb +399 -12
  11. data/lib/metronome_sdk/models/v1/contract_list_balances_params.rb +9 -1
  12. data/lib/metronome_sdk/models/v1/customers/commit_list_params.rb +9 -1
  13. data/lib/metronome_sdk/models/v1/customers/credit_list_params.rb +9 -1
  14. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +29 -1
  15. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +2 -0
  16. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +2 -0
  17. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +2 -0
  18. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +417 -18
  19. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +776 -12
  20. data/lib/metronome_sdk/models/v2/contract_list_response.rb +529 -22
  21. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +529 -22
  22. data/lib/metronome_sdk/resources/v1/alerts.rb +2 -2
  23. data/lib/metronome_sdk/resources/v1/contracts.rb +3 -1
  24. data/lib/metronome_sdk/resources/v1/customers/commits.rb +3 -1
  25. data/lib/metronome_sdk/resources/v1/customers/credits.rb +3 -1
  26. data/lib/metronome_sdk/version.rb +1 -1
  27. data/rbi/metronome_sdk/internal/transport/base_client.rbi +1 -1
  28. data/rbi/metronome_sdk/models/commit.rbi +173 -15
  29. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +888 -6
  30. data/rbi/metronome_sdk/models/credit.rbi +141 -12
  31. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +16 -18
  32. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1160 -226
  33. data/rbi/metronome_sdk/models/v1/contract_list_balances_params.rbi +11 -0
  34. data/rbi/metronome_sdk/models/v1/customers/commit_list_params.rbi +11 -0
  35. data/rbi/metronome_sdk/models/v1/customers/credit_list_params.rbi +11 -0
  36. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +60 -0
  37. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +10 -0
  38. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +4 -0
  39. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +4 -0
  40. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +1192 -234
  41. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +2155 -87
  42. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +1260 -47
  43. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +1260 -47
  44. data/rbi/metronome_sdk/resources/v1/alerts.rbi +5 -5
  45. data/rbi/metronome_sdk/resources/v1/contracts.rbi +3 -0
  46. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +3 -0
  47. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +3 -0
  48. data/rbi/metronome_sdk/resources/v2/contracts.rbi +4 -0
  49. data/sig/metronome_sdk/internal/transport/base_client.rbs +1 -1
  50. data/sig/metronome_sdk/models/commit.rbs +93 -15
  51. data/sig/metronome_sdk/models/contract_without_amendments.rbs +366 -6
  52. data/sig/metronome_sdk/models/credit.rbs +73 -9
  53. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +9 -9
  54. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +376 -3
  55. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +7 -0
  56. data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +7 -0
  57. data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +7 -0
  58. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +21 -0
  59. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +4 -0
  60. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +376 -3
  61. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +858 -6
  62. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +558 -30
  63. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +558 -30
  64. data/sig/metronome_sdk/resources/v1/alerts.rbs +1 -1
  65. data/sig/metronome_sdk/resources/v1/contracts.rbs +1 -0
  66. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +1 -0
  67. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +1 -0
  68. metadata +4 -4
@@ -112,6 +112,13 @@ module MetronomeSDK
112
112
  # @return [Time, nil]
113
113
  optional :ending_before, Time
114
114
 
115
+ # @!attribute has_more
116
+ # Indicates whether there are more items than the limit for this endpoint. Use the
117
+ # respective list endpoints to get the full lists.
118
+ #
119
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HasMore, nil]
120
+ optional :has_more, -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HasMore }
121
+
115
122
  # @!attribute hierarchy_configuration
116
123
  # Either a **parent** configuration with a list of children or a **child**
117
124
  # configuration with a single parent.
@@ -234,7 +241,7 @@ module MetronomeSDK
234
241
  # @return [String, nil]
235
242
  optional :uniqueness_key, String
236
243
 
237
- # @!method initialize(id:, commits:, created_at:, created_by:, customer_id:, overrides:, scheduled_charges:, starting_at:, transitions:, usage_filter:, usage_statement_schedule:, archived_at: nil, credits: nil, custom_fields: nil, customer_billing_provider_configuration: nil, discounts: nil, ending_before: nil, hierarchy_configuration: nil, multiplier_override_prioritization: nil, name: nil, net_payment_terms_days: nil, netsuite_sales_order_id: nil, prepaid_balance_threshold_configuration: nil, priority: nil, professional_services: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, reseller_royalties: nil, salesforce_opportunity_id: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, subscriptions: nil, total_contract_value: nil, uniqueness_key: nil)
244
+ # @!method initialize(id:, commits:, created_at:, created_by:, customer_id:, overrides:, scheduled_charges:, starting_at:, transitions:, usage_filter:, usage_statement_schedule:, archived_at: nil, credits: nil, custom_fields: nil, customer_billing_provider_configuration: nil, discounts: nil, ending_before: nil, has_more: nil, hierarchy_configuration: nil, multiplier_override_prioritization: nil, name: nil, net_payment_terms_days: nil, netsuite_sales_order_id: nil, prepaid_balance_threshold_configuration: nil, priority: nil, professional_services: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, reseller_royalties: nil, salesforce_opportunity_id: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, subscriptions: nil, total_contract_value: nil, uniqueness_key: nil)
238
245
  # Some parameter documentations has been truncated, see
239
246
  # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data} for more details.
240
247
  #
@@ -272,6 +279,8 @@ module MetronomeSDK
272
279
  #
273
280
  # @param ending_before [Time]
274
281
  #
282
+ # @param has_more [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HasMore] Indicates whether there are more items than the limit for this endpoint. Use the
283
+ #
275
284
  # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration] Either a **parent** configuration with a list of children or a **child** configu
276
285
  #
277
286
  # @param multiplier_override_prioritization [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::MultiplierOverridePrioritization] Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list price
@@ -403,7 +412,7 @@ module MetronomeSDK
403
412
  # A list of ordered events that impact the balance of a commit. For example, an
404
413
  # invoice deduction or a rollover.
405
414
  #
406
- # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry>, nil]
415
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry>, nil]
407
416
  optional :ledger,
408
417
  -> { MetronomeSDK::Internal::Type::ArrayOf[union: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger] }
409
418
 
@@ -492,7 +501,7 @@ module MetronomeSDK
492
501
  #
493
502
  # @param invoice_schedule [MetronomeSDK::Models::SchedulePointInTime] The schedule that the customer will be invoiced for this commit.
494
503
  #
495
- # @param ledger [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry>] A list of ordered events that impact the balance of a commit. For example, an in
504
+ # @param ledger [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry>] A list of ordered events that impact the balance of a commit. For example, an in
496
505
  #
497
506
  # @param name [String]
498
507
  #
@@ -674,6 +683,8 @@ module MetronomeSDK
674
683
 
675
684
  variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry }
676
685
 
686
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry }
687
+
677
688
  variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry }
678
689
 
679
690
  variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry }
@@ -754,12 +765,18 @@ module MetronomeSDK
754
765
  required :type,
755
766
  enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type }
756
767
 
757
- # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
768
+ # @!attribute contract_id
769
+ #
770
+ # @return [String, nil]
771
+ optional :contract_id, String
772
+
773
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:, contract_id: nil)
758
774
  # @param amount [Float]
759
775
  # @param invoice_id [String]
760
776
  # @param segment_id [String]
761
777
  # @param timestamp [Time]
762
778
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
779
+ # @param contract_id [String]
763
780
 
764
781
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry#type
765
782
  module Type
@@ -883,12 +900,18 @@ module MetronomeSDK
883
900
  required :type,
884
901
  enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type }
885
902
 
886
- # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
903
+ # @!attribute contract_id
904
+ #
905
+ # @return [String, nil]
906
+ optional :contract_id, String
907
+
908
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:, contract_id: nil)
887
909
  # @param amount [Float]
888
910
  # @param invoice_id [String]
889
911
  # @param segment_id [String]
890
912
  # @param timestamp [Time]
891
913
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type]
914
+ # @param contract_id [String]
892
915
 
893
916
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry#type
894
917
  module Type
@@ -928,12 +951,18 @@ module MetronomeSDK
928
951
  required :type,
929
952
  enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type }
930
953
 
931
- # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
954
+ # @!attribute contract_id
955
+ #
956
+ # @return [String, nil]
957
+ optional :contract_id, String
958
+
959
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:, contract_id: nil)
932
960
  # @param amount [Float]
933
961
  # @param invoice_id [String]
934
962
  # @param segment_id [String]
935
963
  # @param timestamp [Time]
936
964
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type]
965
+ # @param contract_id [String]
937
966
 
938
967
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry#type
939
968
  module Type
@@ -946,6 +975,45 @@ module MetronomeSDK
946
975
  end
947
976
  end
948
977
 
978
+ class PrepaidCommitSeatBasedAdjustmentLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
979
+ # @!attribute amount
980
+ #
981
+ # @return [Float]
982
+ required :amount, Float
983
+
984
+ # @!attribute segment_id
985
+ #
986
+ # @return [String]
987
+ required :segment_id, String
988
+
989
+ # @!attribute timestamp
990
+ #
991
+ # @return [Time]
992
+ required :timestamp, Time
993
+
994
+ # @!attribute type
995
+ #
996
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::Type]
997
+ required :type,
998
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::Type }
999
+
1000
+ # @!method initialize(amount:, segment_id:, timestamp:, type:)
1001
+ # @param amount [Float]
1002
+ # @param segment_id [String]
1003
+ # @param timestamp [Time]
1004
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::Type]
1005
+
1006
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry#type
1007
+ module Type
1008
+ extend MetronomeSDK::Internal::Type::Enum
1009
+
1010
+ PREPAID_COMMIT_SEAT_BASED_ADJUSTMENT = :PREPAID_COMMIT_SEAT_BASED_ADJUSTMENT
1011
+
1012
+ # @!method self.values
1013
+ # @return [Array<Symbol>]
1014
+ end
1015
+ end
1016
+
949
1017
  class PostpaidCommitInitialBalanceLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
950
1018
  # @!attribute amount
951
1019
  #
@@ -1006,12 +1074,18 @@ module MetronomeSDK
1006
1074
  required :type,
1007
1075
  enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type }
1008
1076
 
1009
- # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
1077
+ # @!attribute contract_id
1078
+ #
1079
+ # @return [String, nil]
1080
+ optional :contract_id, String
1081
+
1082
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:, contract_id: nil)
1010
1083
  # @param amount [Float]
1011
1084
  # @param invoice_id [String]
1012
1085
  # @param segment_id [String]
1013
1086
  # @param timestamp [Time]
1014
1087
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
1088
+ # @param contract_id [String]
1015
1089
 
1016
1090
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry#type
1017
1091
  module Type
@@ -1091,11 +1165,17 @@ module MetronomeSDK
1091
1165
  required :type,
1092
1166
  enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type }
1093
1167
 
1094
- # @!method initialize(amount:, invoice_id:, timestamp:, type:)
1168
+ # @!attribute contract_id
1169
+ #
1170
+ # @return [String, nil]
1171
+ optional :contract_id, String
1172
+
1173
+ # @!method initialize(amount:, invoice_id:, timestamp:, type:, contract_id: nil)
1095
1174
  # @param amount [Float]
1096
1175
  # @param invoice_id [String]
1097
1176
  # @param timestamp [Time]
1098
1177
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type]
1178
+ # @param contract_id [String]
1099
1179
 
1100
1180
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry#type
1101
1181
  module Type
@@ -1220,7 +1300,7 @@ module MetronomeSDK
1220
1300
  end
1221
1301
 
1222
1302
  # @!method self.variants
1223
- # @return [Array(MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry)]
1303
+ # @return [Array(MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry)]
1224
1304
  end
1225
1305
 
1226
1306
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Commit#rate_type
@@ -1765,7 +1845,7 @@ module MetronomeSDK
1765
1845
  # A list of ordered events that impact the balance of a credit. For example, an
1766
1846
  # invoice deduction or an expiration.
1767
1847
  #
1768
- # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry>, nil]
1848
+ # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry>, nil]
1769
1849
  optional :ledger,
1770
1850
  -> { MetronomeSDK::Internal::Type::ArrayOf[union: MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger] }
1771
1851
 
@@ -1831,7 +1911,7 @@ module MetronomeSDK
1831
1911
  #
1832
1912
  # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::HierarchyConfiguration] Optional configuration for credit hierarchy access control
1833
1913
  #
1834
- # @param ledger [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry>] A list of ordered events that impact the balance of a credit. For example, an in
1914
+ # @param ledger [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry>] A list of ordered events that impact the balance of a credit. For example, an in
1835
1915
  #
1836
1916
  # @param name [String]
1837
1917
  #
@@ -1993,6 +2073,8 @@ module MetronomeSDK
1993
2073
 
1994
2074
  variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry }
1995
2075
 
2076
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry }
2077
+
1996
2078
  class CreditSegmentStartLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1997
2079
  # @!attribute amount
1998
2080
  #
@@ -2059,12 +2141,18 @@ module MetronomeSDK
2059
2141
  required :type,
2060
2142
  enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type }
2061
2143
 
2062
- # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
2144
+ # @!attribute contract_id
2145
+ #
2146
+ # @return [String, nil]
2147
+ optional :contract_id, String
2148
+
2149
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:, contract_id: nil)
2063
2150
  # @param amount [Float]
2064
2151
  # @param invoice_id [String]
2065
2152
  # @param segment_id [String]
2066
2153
  # @param timestamp [Time]
2067
2154
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type]
2155
+ # @param contract_id [String]
2068
2156
 
2069
2157
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry#type
2070
2158
  module Type
@@ -2143,12 +2231,18 @@ module MetronomeSDK
2143
2231
  required :type,
2144
2232
  enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type }
2145
2233
 
2146
- # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
2234
+ # @!attribute contract_id
2235
+ #
2236
+ # @return [String, nil]
2237
+ optional :contract_id, String
2238
+
2239
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:, contract_id: nil)
2147
2240
  # @param amount [Float]
2148
2241
  # @param invoice_id [String]
2149
2242
  # @param segment_id [String]
2150
2243
  # @param timestamp [Time]
2151
2244
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type]
2245
+ # @param contract_id [String]
2152
2246
 
2153
2247
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry#type
2154
2248
  module Type
@@ -2188,12 +2282,18 @@ module MetronomeSDK
2188
2282
  required :type,
2189
2283
  enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type }
2190
2284
 
2191
- # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
2285
+ # @!attribute contract_id
2286
+ #
2287
+ # @return [String, nil]
2288
+ optional :contract_id, String
2289
+
2290
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:, contract_id: nil)
2192
2291
  # @param amount [Float]
2193
2292
  # @param invoice_id [String]
2194
2293
  # @param segment_id [String]
2195
2294
  # @param timestamp [Time]
2196
2295
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type]
2296
+ # @param contract_id [String]
2197
2297
 
2198
2298
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry#type
2199
2299
  module Type
@@ -2245,8 +2345,47 @@ module MetronomeSDK
2245
2345
  end
2246
2346
  end
2247
2347
 
2348
+ class CreditSeatBasedAdjustmentLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2349
+ # @!attribute amount
2350
+ #
2351
+ # @return [Float]
2352
+ required :amount, Float
2353
+
2354
+ # @!attribute segment_id
2355
+ #
2356
+ # @return [String]
2357
+ required :segment_id, String
2358
+
2359
+ # @!attribute timestamp
2360
+ #
2361
+ # @return [Time]
2362
+ required :timestamp, Time
2363
+
2364
+ # @!attribute type
2365
+ #
2366
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type]
2367
+ required :type,
2368
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type }
2369
+
2370
+ # @!method initialize(amount:, segment_id:, timestamp:, type:)
2371
+ # @param amount [Float]
2372
+ # @param segment_id [String]
2373
+ # @param timestamp [Time]
2374
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type]
2375
+
2376
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry#type
2377
+ module Type
2378
+ extend MetronomeSDK::Internal::Type::Enum
2379
+
2380
+ CREDIT_SEAT_BASED_ADJUSTMENT = :CREDIT_SEAT_BASED_ADJUSTMENT
2381
+
2382
+ # @!method self.values
2383
+ # @return [Array<Symbol>]
2384
+ end
2385
+ end
2386
+
2248
2387
  # @!method self.variants
2249
- # @return [Array(MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry)]
2388
+ # @return [Array(MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditManualLedgerEntry, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry)]
2250
2389
  end
2251
2390
 
2252
2391
  class Specifier < MetronomeSDK::Internal::Type::BaseModel
@@ -2290,6 +2429,12 @@ module MetronomeSDK
2290
2429
 
2291
2430
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data#customer_billing_provider_configuration
2292
2431
  class CustomerBillingProviderConfiguration < MetronomeSDK::Internal::Type::BaseModel
2432
+ # @!attribute id
2433
+ # ID of Customer's billing provider configuration.
2434
+ #
2435
+ # @return [String]
2436
+ required :id, String
2437
+
2293
2438
  # @!attribute billing_provider
2294
2439
  #
2295
2440
  # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration::BillingProvider]
@@ -2302,10 +2447,13 @@ module MetronomeSDK
2302
2447
  required :delivery_method,
2303
2448
  enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod }
2304
2449
 
2305
- # @!method initialize(billing_provider:, delivery_method:)
2450
+ # @!method initialize(id:, billing_provider:, delivery_method:)
2306
2451
  # This field's availability is dependent on your client's configuration.
2307
2452
  #
2453
+ # @param id [String] ID of Customer's billing provider configuration.
2454
+ #
2308
2455
  # @param billing_provider [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration::BillingProvider]
2456
+ #
2309
2457
  # @param delivery_method [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod]
2310
2458
 
2311
2459
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::CustomerBillingProviderConfiguration#billing_provider
@@ -2339,6 +2487,37 @@ module MetronomeSDK
2339
2487
  end
2340
2488
  end
2341
2489
 
2490
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data#has_more
2491
+ class HasMore < MetronomeSDK::Internal::Type::BaseModel
2492
+ # @!attribute commits
2493
+ # Whether there are more commits on this contract than the limit for this
2494
+ # endpoint. Use the /contracts/customerCommits/list endpoint to get the full list
2495
+ # of commits.
2496
+ #
2497
+ # @return [Boolean]
2498
+ required :commits, MetronomeSDK::Internal::Type::Boolean
2499
+
2500
+ # @!attribute credits
2501
+ # Whether there are more credits on this contract than the limit for this
2502
+ # endpoint. Use the /contracts/customerCredits/list endpoint to get the full list
2503
+ # of credits.
2504
+ #
2505
+ # @return [Boolean]
2506
+ required :credits, MetronomeSDK::Internal::Type::Boolean
2507
+
2508
+ # @!method initialize(commits:, credits:)
2509
+ # Some parameter documentations has been truncated, see
2510
+ # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::HasMore} for more
2511
+ # details.
2512
+ #
2513
+ # Indicates whether there are more items than the limit for this endpoint. Use the
2514
+ # respective list endpoints to get the full lists.
2515
+ #
2516
+ # @param commits [Boolean] Whether there are more commits on this contract than the limit for this endpoint
2517
+ #
2518
+ # @param credits [Boolean] Whether there are more credits on this contract than the limit for this endpoint
2519
+ end
2520
+
2342
2521
  # Either a **parent** configuration with a list of children or a **child**
2343
2522
  # configuration with a single parent.
2344
2523
  #
@@ -2534,6 +2713,8 @@ module MetronomeSDK
2534
2713
  # or credit. A customer's usage needs to meet the condition of at least one of the
2535
2714
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
2536
2715
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
2716
+ # Instead, to target usage by product or product tag, pass those values in the
2717
+ # body of `specifiers`.
2537
2718
  #
2538
2719
  # @return [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier>, nil]
2539
2720
  optional :specifiers,
@@ -2827,6 +3008,13 @@ module MetronomeSDK
2827
3008
  # @return [Time, nil]
2828
3009
  optional :ending_before, Time
2829
3010
 
3011
+ # @!attribute hierarchy_configuration
3012
+ # Optional configuration for recurring credit hierarchy access control
3013
+ #
3014
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration, nil]
3015
+ optional :hierarchy_configuration,
3016
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration }
3017
+
2830
3018
  # @!attribute invoice_amount
2831
3019
  # The amount the customer should be billed for the commit. Not required.
2832
3020
  #
@@ -2849,7 +3037,6 @@ module MetronomeSDK
2849
3037
  # @!attribute proration
2850
3038
  # Determines whether the first and last commit will be prorated. If not provided,
2851
3039
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
2852
- # subscription_config:
2853
3040
  #
2854
3041
  # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::Proration, nil]
2855
3042
  optional :proration,
@@ -2883,7 +3070,14 @@ module MetronomeSDK
2883
3070
  optional :specifiers,
2884
3071
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::Specifier] }
2885
3072
 
2886
- # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil)
3073
+ # @!attribute subscription_config
3074
+ # Attach a subscription to the recurring commit/credit.
3075
+ #
3076
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig, nil]
3077
+ optional :subscription_config,
3078
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig }
3079
+
3080
+ # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, hierarchy_configuration: nil, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, subscription_config: nil)
2887
3081
  # Some parameter documentations has been truncated, see
2888
3082
  # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit} for
2889
3083
  # more details.
@@ -2912,6 +3106,8 @@ module MetronomeSDK
2912
3106
  #
2913
3107
  # @param ending_before [Time] Determines when the contract will stop creating recurring commits. Optional
2914
3108
  #
3109
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration] Optional configuration for recurring credit hierarchy access control
3110
+ #
2915
3111
  # @param invoice_amount [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::InvoiceAmount] The amount the customer should be billed for the commit. Not required.
2916
3112
  #
2917
3113
  # @param name [String] Displayed on invoices. Will be passed through to the individual commits
@@ -2925,6 +3121,8 @@ module MetronomeSDK
2925
3121
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
2926
3122
  #
2927
3123
  # @param specifiers [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
3124
+ #
3125
+ # @param subscription_config [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig] Attach a subscription to the recurring commit/credit.
2928
3126
 
2929
3127
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit#access_amount
2930
3128
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
@@ -3022,6 +3220,103 @@ module MetronomeSDK
3022
3220
  # @param id [String]
3023
3221
  end
3024
3222
 
3223
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit#hierarchy_configuration
3224
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
3225
+ # @!attribute child_access
3226
+ #
3227
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
3228
+ required :child_access,
3229
+ union: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess }
3230
+
3231
+ # @!method initialize(child_access:)
3232
+ # Optional configuration for recurring credit hierarchy access control
3233
+ #
3234
+ # @param child_access [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
3235
+
3236
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration#child_access
3237
+ module ChildAccess
3238
+ extend MetronomeSDK::Internal::Type::Union
3239
+
3240
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
3241
+
3242
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
3243
+
3244
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
3245
+
3246
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
3247
+ # @!attribute type
3248
+ #
3249
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3250
+ required :type,
3251
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
3252
+
3253
+ # @!method initialize(type:)
3254
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3255
+
3256
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
3257
+ module Type
3258
+ extend MetronomeSDK::Internal::Type::Enum
3259
+
3260
+ ALL = :ALL
3261
+
3262
+ # @!method self.values
3263
+ # @return [Array<Symbol>]
3264
+ end
3265
+ end
3266
+
3267
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
3268
+ # @!attribute type
3269
+ #
3270
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3271
+ required :type,
3272
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
3273
+
3274
+ # @!method initialize(type:)
3275
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3276
+
3277
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
3278
+ module Type
3279
+ extend MetronomeSDK::Internal::Type::Enum
3280
+
3281
+ NONE = :NONE
3282
+
3283
+ # @!method self.values
3284
+ # @return [Array<Symbol>]
3285
+ end
3286
+ end
3287
+
3288
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
3289
+ # @!attribute contract_ids
3290
+ #
3291
+ # @return [Array<String>]
3292
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
3293
+
3294
+ # @!attribute type
3295
+ #
3296
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3297
+ required :type,
3298
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
3299
+
3300
+ # @!method initialize(contract_ids:, type:)
3301
+ # @param contract_ids [Array<String>]
3302
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3303
+
3304
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
3305
+ module Type
3306
+ extend MetronomeSDK::Internal::Type::Enum
3307
+
3308
+ CONTRACT_IDS = :CONTRACT_IDS
3309
+
3310
+ # @!method self.values
3311
+ # @return [Array<Symbol>]
3312
+ end
3313
+ end
3314
+
3315
+ # @!method self.variants
3316
+ # @return [Array(MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
3317
+ end
3318
+ end
3319
+
3025
3320
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit#invoice_amount
3026
3321
  class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
3027
3322
  # @!attribute credit_type_id
@@ -3049,7 +3344,6 @@ module MetronomeSDK
3049
3344
 
3050
3345
  # Determines whether the first and last commit will be prorated. If not provided,
3051
3346
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3052
- # subscription_config:
3053
3347
  #
3054
3348
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit#proration
3055
3349
  module Proration
@@ -3120,6 +3414,56 @@ module MetronomeSDK
3120
3414
  #
3121
3415
  # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
3122
3416
  end
3417
+
3418
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit#subscription_config
3419
+ class SubscriptionConfig < MetronomeSDK::Internal::Type::BaseModel
3420
+ # @!attribute allocation
3421
+ #
3422
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig::Allocation]
3423
+ required :allocation,
3424
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig::Allocation }
3425
+
3426
+ # @!attribute apply_seat_increase_config
3427
+ #
3428
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig]
3429
+ required :apply_seat_increase_config,
3430
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig }
3431
+
3432
+ # @!attribute subscription_id
3433
+ #
3434
+ # @return [String]
3435
+ required :subscription_id, String
3436
+
3437
+ # @!method initialize(allocation:, apply_seat_increase_config:, subscription_id:)
3438
+ # Attach a subscription to the recurring commit/credit.
3439
+ #
3440
+ # @param allocation [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig::Allocation]
3441
+ # @param apply_seat_increase_config [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig]
3442
+ # @param subscription_id [String]
3443
+
3444
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig#allocation
3445
+ module Allocation
3446
+ extend MetronomeSDK::Internal::Type::Enum
3447
+
3448
+ INDIVIDUAL = :INDIVIDUAL
3449
+ POOLED = :POOLED
3450
+
3451
+ # @!method self.values
3452
+ # @return [Array<Symbol>]
3453
+ end
3454
+
3455
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCommit::SubscriptionConfig#apply_seat_increase_config
3456
+ class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
3457
+ # @!attribute is_prorated
3458
+ # Indicates whether a mid-period seat increase should be prorated.
3459
+ #
3460
+ # @return [Boolean]
3461
+ required :is_prorated, MetronomeSDK::Internal::Type::Boolean
3462
+
3463
+ # @!method initialize(is_prorated:)
3464
+ # @param is_prorated [Boolean] Indicates whether a mid-period seat increase should be prorated.
3465
+ end
3466
+ end
3123
3467
  end
3124
3468
 
3125
3469
  class RecurringCredit < MetronomeSDK::Internal::Type::BaseModel
@@ -3197,6 +3541,13 @@ module MetronomeSDK
3197
3541
  # @return [Time, nil]
3198
3542
  optional :ending_before, Time
3199
3543
 
3544
+ # @!attribute hierarchy_configuration
3545
+ # Optional configuration for recurring credit hierarchy access control
3546
+ #
3547
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration, nil]
3548
+ optional :hierarchy_configuration,
3549
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration }
3550
+
3200
3551
  # @!attribute name
3201
3552
  # Displayed on invoices. Will be passed through to the individual commits
3202
3553
  #
@@ -3212,7 +3563,6 @@ module MetronomeSDK
3212
3563
  # @!attribute proration
3213
3564
  # Determines whether the first and last commit will be prorated. If not provided,
3214
3565
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3215
- # subscription_config:
3216
3566
  #
3217
3567
  # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::Proration, nil]
3218
3568
  optional :proration,
@@ -3246,7 +3596,14 @@ module MetronomeSDK
3246
3596
  optional :specifiers,
3247
3597
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::Specifier] }
3248
3598
 
3249
- # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil)
3599
+ # @!attribute subscription_config
3600
+ # Attach a subscription to the recurring commit/credit.
3601
+ #
3602
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig, nil]
3603
+ optional :subscription_config,
3604
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig }
3605
+
3606
+ # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, hierarchy_configuration: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, subscription_config: nil)
3250
3607
  # Some parameter documentations has been truncated, see
3251
3608
  # {MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit} for
3252
3609
  # more details.
@@ -3275,6 +3632,8 @@ module MetronomeSDK
3275
3632
  #
3276
3633
  # @param ending_before [Time] Determines when the contract will stop creating recurring commits. Optional
3277
3634
  #
3635
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration] Optional configuration for recurring credit hierarchy access control
3636
+ #
3278
3637
  # @param name [String] Displayed on invoices. Will be passed through to the individual commits
3279
3638
  #
3280
3639
  # @param netsuite_sales_order_id [String] Will be passed down to the individual commits
@@ -3286,6 +3645,8 @@ module MetronomeSDK
3286
3645
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
3287
3646
  #
3288
3647
  # @param specifiers [Array<MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
3648
+ #
3649
+ # @param subscription_config [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig] Attach a subscription to the recurring commit/credit.
3289
3650
 
3290
3651
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit#access_amount
3291
3652
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
@@ -3383,9 +3744,105 @@ module MetronomeSDK
3383
3744
  # @param id [String]
3384
3745
  end
3385
3746
 
3747
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit#hierarchy_configuration
3748
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
3749
+ # @!attribute child_access
3750
+ #
3751
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
3752
+ required :child_access,
3753
+ union: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess }
3754
+
3755
+ # @!method initialize(child_access:)
3756
+ # Optional configuration for recurring credit hierarchy access control
3757
+ #
3758
+ # @param child_access [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
3759
+
3760
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration#child_access
3761
+ module ChildAccess
3762
+ extend MetronomeSDK::Internal::Type::Union
3763
+
3764
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
3765
+
3766
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
3767
+
3768
+ variant -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
3769
+
3770
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
3771
+ # @!attribute type
3772
+ #
3773
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3774
+ required :type,
3775
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
3776
+
3777
+ # @!method initialize(type:)
3778
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3779
+
3780
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
3781
+ module Type
3782
+ extend MetronomeSDK::Internal::Type::Enum
3783
+
3784
+ ALL = :ALL
3785
+
3786
+ # @!method self.values
3787
+ # @return [Array<Symbol>]
3788
+ end
3789
+ end
3790
+
3791
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
3792
+ # @!attribute type
3793
+ #
3794
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3795
+ required :type,
3796
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
3797
+
3798
+ # @!method initialize(type:)
3799
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3800
+
3801
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
3802
+ module Type
3803
+ extend MetronomeSDK::Internal::Type::Enum
3804
+
3805
+ NONE = :NONE
3806
+
3807
+ # @!method self.values
3808
+ # @return [Array<Symbol>]
3809
+ end
3810
+ end
3811
+
3812
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
3813
+ # @!attribute contract_ids
3814
+ #
3815
+ # @return [Array<String>]
3816
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
3817
+
3818
+ # @!attribute type
3819
+ #
3820
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3821
+ required :type,
3822
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
3823
+
3824
+ # @!method initialize(contract_ids:, type:)
3825
+ # @param contract_ids [Array<String>]
3826
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3827
+
3828
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
3829
+ module Type
3830
+ extend MetronomeSDK::Internal::Type::Enum
3831
+
3832
+ CONTRACT_IDS = :CONTRACT_IDS
3833
+
3834
+ # @!method self.values
3835
+ # @return [Array<Symbol>]
3836
+ end
3837
+ end
3838
+
3839
+ # @!method self.variants
3840
+ # @return [Array(MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
3841
+ end
3842
+ end
3843
+
3386
3844
  # Determines whether the first and last commit will be prorated. If not provided,
3387
3845
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3388
- # subscription_config:
3389
3846
  #
3390
3847
  # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit#proration
3391
3848
  module Proration
@@ -3456,6 +3913,56 @@ module MetronomeSDK
3456
3913
  #
3457
3914
  # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
3458
3915
  end
3916
+
3917
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit#subscription_config
3918
+ class SubscriptionConfig < MetronomeSDK::Internal::Type::BaseModel
3919
+ # @!attribute allocation
3920
+ #
3921
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig::Allocation]
3922
+ required :allocation,
3923
+ enum: -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig::Allocation }
3924
+
3925
+ # @!attribute apply_seat_increase_config
3926
+ #
3927
+ # @return [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig]
3928
+ required :apply_seat_increase_config,
3929
+ -> { MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig }
3930
+
3931
+ # @!attribute subscription_id
3932
+ #
3933
+ # @return [String]
3934
+ required :subscription_id, String
3935
+
3936
+ # @!method initialize(allocation:, apply_seat_increase_config:, subscription_id:)
3937
+ # Attach a subscription to the recurring commit/credit.
3938
+ #
3939
+ # @param allocation [Symbol, MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig::Allocation]
3940
+ # @param apply_seat_increase_config [MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig]
3941
+ # @param subscription_id [String]
3942
+
3943
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig#allocation
3944
+ module Allocation
3945
+ extend MetronomeSDK::Internal::Type::Enum
3946
+
3947
+ INDIVIDUAL = :INDIVIDUAL
3948
+ POOLED = :POOLED
3949
+
3950
+ # @!method self.values
3951
+ # @return [Array<Symbol>]
3952
+ end
3953
+
3954
+ # @see MetronomeSDK::Models::V2::ContractRetrieveResponse::Data::RecurringCredit::SubscriptionConfig#apply_seat_increase_config
3955
+ class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
3956
+ # @!attribute is_prorated
3957
+ # Indicates whether a mid-period seat increase should be prorated.
3958
+ #
3959
+ # @return [Boolean]
3960
+ required :is_prorated, MetronomeSDK::Internal::Type::Boolean
3961
+
3962
+ # @!method initialize(is_prorated:)
3963
+ # @param is_prorated [Boolean] Indicates whether a mid-period seat increase should be prorated.
3964
+ end
3965
+ end
3459
3966
  end
3460
3967
 
3461
3968
  class ResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel