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::ContractListResponse::Data::HasMore, nil]
120
+ optional :has_more, -> { MetronomeSDK::Models::V2::ContractListResponse::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::ContractListResponse::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::ContractListResponse::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::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration, MetronomeSDK::Models::V2::ContractListResponse::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::ContractListResponse::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::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry>, nil]
415
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry>, nil]
407
416
  optional :ledger,
408
417
  -> { MetronomeSDK::Internal::Type::ArrayOf[union: MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger] }
409
418
 
@@ -490,7 +499,7 @@ module MetronomeSDK
490
499
  #
491
500
  # @param invoice_schedule [MetronomeSDK::Models::SchedulePointInTime] The schedule that the customer will be invoiced for this commit.
492
501
  #
493
- # @param ledger [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry>] A list of ordered events that impact the balance of a commit. For example, an in
502
+ # @param ledger [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry>] A list of ordered events that impact the balance of a commit. For example, an in
494
503
  #
495
504
  # @param name [String]
496
505
  #
@@ -672,6 +681,8 @@ module MetronomeSDK
672
681
 
673
682
  variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry }
674
683
 
684
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry }
685
+
675
686
  variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry }
676
687
 
677
688
  variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry }
@@ -752,12 +763,18 @@ module MetronomeSDK
752
763
  required :type,
753
764
  enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type }
754
765
 
755
- # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
766
+ # @!attribute contract_id
767
+ #
768
+ # @return [String, nil]
769
+ optional :contract_id, String
770
+
771
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:, contract_id: nil)
756
772
  # @param amount [Float]
757
773
  # @param invoice_id [String]
758
774
  # @param segment_id [String]
759
775
  # @param timestamp [Time]
760
776
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
777
+ # @param contract_id [String]
761
778
 
762
779
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry#type
763
780
  module Type
@@ -881,12 +898,18 @@ module MetronomeSDK
881
898
  required :type,
882
899
  enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type }
883
900
 
884
- # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
901
+ # @!attribute contract_id
902
+ #
903
+ # @return [String, nil]
904
+ optional :contract_id, String
905
+
906
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:, contract_id: nil)
885
907
  # @param amount [Float]
886
908
  # @param invoice_id [String]
887
909
  # @param segment_id [String]
888
910
  # @param timestamp [Time]
889
911
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type]
912
+ # @param contract_id [String]
890
913
 
891
914
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry#type
892
915
  module Type
@@ -926,12 +949,18 @@ module MetronomeSDK
926
949
  required :type,
927
950
  enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type }
928
951
 
929
- # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
952
+ # @!attribute contract_id
953
+ #
954
+ # @return [String, nil]
955
+ optional :contract_id, String
956
+
957
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:, contract_id: nil)
930
958
  # @param amount [Float]
931
959
  # @param invoice_id [String]
932
960
  # @param segment_id [String]
933
961
  # @param timestamp [Time]
934
962
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type]
963
+ # @param contract_id [String]
935
964
 
936
965
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry#type
937
966
  module Type
@@ -944,6 +973,45 @@ module MetronomeSDK
944
973
  end
945
974
  end
946
975
 
976
+ class PrepaidCommitSeatBasedAdjustmentLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
977
+ # @!attribute amount
978
+ #
979
+ # @return [Float]
980
+ required :amount, Float
981
+
982
+ # @!attribute segment_id
983
+ #
984
+ # @return [String]
985
+ required :segment_id, String
986
+
987
+ # @!attribute timestamp
988
+ #
989
+ # @return [Time]
990
+ required :timestamp, Time
991
+
992
+ # @!attribute type
993
+ #
994
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::Type]
995
+ required :type,
996
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::Type }
997
+
998
+ # @!method initialize(amount:, segment_id:, timestamp:, type:)
999
+ # @param amount [Float]
1000
+ # @param segment_id [String]
1001
+ # @param timestamp [Time]
1002
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::Type]
1003
+
1004
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry#type
1005
+ module Type
1006
+ extend MetronomeSDK::Internal::Type::Enum
1007
+
1008
+ PREPAID_COMMIT_SEAT_BASED_ADJUSTMENT = :PREPAID_COMMIT_SEAT_BASED_ADJUSTMENT
1009
+
1010
+ # @!method self.values
1011
+ # @return [Array<Symbol>]
1012
+ end
1013
+ end
1014
+
947
1015
  class PostpaidCommitInitialBalanceLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
948
1016
  # @!attribute amount
949
1017
  #
@@ -1004,12 +1072,18 @@ module MetronomeSDK
1004
1072
  required :type,
1005
1073
  enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type }
1006
1074
 
1007
- # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
1075
+ # @!attribute contract_id
1076
+ #
1077
+ # @return [String, nil]
1078
+ optional :contract_id, String
1079
+
1080
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:, contract_id: nil)
1008
1081
  # @param amount [Float]
1009
1082
  # @param invoice_id [String]
1010
1083
  # @param segment_id [String]
1011
1084
  # @param timestamp [Time]
1012
1085
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
1086
+ # @param contract_id [String]
1013
1087
 
1014
1088
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry#type
1015
1089
  module Type
@@ -1089,11 +1163,17 @@ module MetronomeSDK
1089
1163
  required :type,
1090
1164
  enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type }
1091
1165
 
1092
- # @!method initialize(amount:, invoice_id:, timestamp:, type:)
1166
+ # @!attribute contract_id
1167
+ #
1168
+ # @return [String, nil]
1169
+ optional :contract_id, String
1170
+
1171
+ # @!method initialize(amount:, invoice_id:, timestamp:, type:, contract_id: nil)
1093
1172
  # @param amount [Float]
1094
1173
  # @param invoice_id [String]
1095
1174
  # @param timestamp [Time]
1096
1175
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type]
1176
+ # @param contract_id [String]
1097
1177
 
1098
1178
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry#type
1099
1179
  module Type
@@ -1218,7 +1298,7 @@ module MetronomeSDK
1218
1298
  end
1219
1299
 
1220
1300
  # @!method self.variants
1221
- # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry)]
1301
+ # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry)]
1222
1302
  end
1223
1303
 
1224
1304
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#rate_type
@@ -1763,7 +1843,7 @@ module MetronomeSDK
1763
1843
  # A list of ordered events that impact the balance of a credit. For example, an
1764
1844
  # invoice deduction or an expiration.
1765
1845
  #
1766
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry>, nil]
1846
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry>, nil]
1767
1847
  optional :ledger,
1768
1848
  -> { MetronomeSDK::Internal::Type::ArrayOf[union: MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger] }
1769
1849
 
@@ -1828,7 +1908,7 @@ module MetronomeSDK
1828
1908
  #
1829
1909
  # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration] Optional configuration for credit hierarchy access control
1830
1910
  #
1831
- # @param ledger [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry>] A list of ordered events that impact the balance of a credit. For example, an in
1911
+ # @param ledger [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry>] A list of ordered events that impact the balance of a credit. For example, an in
1832
1912
  #
1833
1913
  # @param name [String]
1834
1914
  #
@@ -1990,6 +2070,8 @@ module MetronomeSDK
1990
2070
 
1991
2071
  variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry }
1992
2072
 
2073
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry }
2074
+
1993
2075
  class CreditSegmentStartLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1994
2076
  # @!attribute amount
1995
2077
  #
@@ -2056,12 +2138,18 @@ module MetronomeSDK
2056
2138
  required :type,
2057
2139
  enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type }
2058
2140
 
2059
- # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
2141
+ # @!attribute contract_id
2142
+ #
2143
+ # @return [String, nil]
2144
+ optional :contract_id, String
2145
+
2146
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:, contract_id: nil)
2060
2147
  # @param amount [Float]
2061
2148
  # @param invoice_id [String]
2062
2149
  # @param segment_id [String]
2063
2150
  # @param timestamp [Time]
2064
2151
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type]
2152
+ # @param contract_id [String]
2065
2153
 
2066
2154
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry#type
2067
2155
  module Type
@@ -2140,12 +2228,18 @@ module MetronomeSDK
2140
2228
  required :type,
2141
2229
  enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type }
2142
2230
 
2143
- # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
2231
+ # @!attribute contract_id
2232
+ #
2233
+ # @return [String, nil]
2234
+ optional :contract_id, String
2235
+
2236
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:, contract_id: nil)
2144
2237
  # @param amount [Float]
2145
2238
  # @param invoice_id [String]
2146
2239
  # @param segment_id [String]
2147
2240
  # @param timestamp [Time]
2148
2241
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type]
2242
+ # @param contract_id [String]
2149
2243
 
2150
2244
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry#type
2151
2245
  module Type
@@ -2185,12 +2279,18 @@ module MetronomeSDK
2185
2279
  required :type,
2186
2280
  enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type }
2187
2281
 
2188
- # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
2282
+ # @!attribute contract_id
2283
+ #
2284
+ # @return [String, nil]
2285
+ optional :contract_id, String
2286
+
2287
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:, contract_id: nil)
2189
2288
  # @param amount [Float]
2190
2289
  # @param invoice_id [String]
2191
2290
  # @param segment_id [String]
2192
2291
  # @param timestamp [Time]
2193
2292
  # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type]
2293
+ # @param contract_id [String]
2194
2294
 
2195
2295
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry#type
2196
2296
  module Type
@@ -2242,8 +2342,47 @@ module MetronomeSDK
2242
2342
  end
2243
2343
  end
2244
2344
 
2345
+ class CreditSeatBasedAdjustmentLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2346
+ # @!attribute amount
2347
+ #
2348
+ # @return [Float]
2349
+ required :amount, Float
2350
+
2351
+ # @!attribute segment_id
2352
+ #
2353
+ # @return [String]
2354
+ required :segment_id, String
2355
+
2356
+ # @!attribute timestamp
2357
+ #
2358
+ # @return [Time]
2359
+ required :timestamp, Time
2360
+
2361
+ # @!attribute type
2362
+ #
2363
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type]
2364
+ required :type,
2365
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type }
2366
+
2367
+ # @!method initialize(amount:, segment_id:, timestamp:, type:)
2368
+ # @param amount [Float]
2369
+ # @param segment_id [String]
2370
+ # @param timestamp [Time]
2371
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type]
2372
+
2373
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry#type
2374
+ module Type
2375
+ extend MetronomeSDK::Internal::Type::Enum
2376
+
2377
+ CREDIT_SEAT_BASED_ADJUSTMENT = :CREDIT_SEAT_BASED_ADJUSTMENT
2378
+
2379
+ # @!method self.values
2380
+ # @return [Array<Symbol>]
2381
+ end
2382
+ end
2383
+
2245
2384
  # @!method self.variants
2246
- # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry)]
2385
+ # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry)]
2247
2386
  end
2248
2387
 
2249
2388
  class Specifier < MetronomeSDK::Internal::Type::BaseModel
@@ -2287,6 +2426,12 @@ module MetronomeSDK
2287
2426
 
2288
2427
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data#customer_billing_provider_configuration
2289
2428
  class CustomerBillingProviderConfiguration < MetronomeSDK::Internal::Type::BaseModel
2429
+ # @!attribute id
2430
+ # ID of Customer's billing provider configuration.
2431
+ #
2432
+ # @return [String]
2433
+ required :id, String
2434
+
2290
2435
  # @!attribute billing_provider
2291
2436
  #
2292
2437
  # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration::BillingProvider]
@@ -2299,10 +2444,13 @@ module MetronomeSDK
2299
2444
  required :delivery_method,
2300
2445
  enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod }
2301
2446
 
2302
- # @!method initialize(billing_provider:, delivery_method:)
2447
+ # @!method initialize(id:, billing_provider:, delivery_method:)
2303
2448
  # This field's availability is dependent on your client's configuration.
2304
2449
  #
2450
+ # @param id [String] ID of Customer's billing provider configuration.
2451
+ #
2305
2452
  # @param billing_provider [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration::BillingProvider]
2453
+ #
2306
2454
  # @param delivery_method [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod]
2307
2455
 
2308
2456
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration#billing_provider
@@ -2336,6 +2484,37 @@ module MetronomeSDK
2336
2484
  end
2337
2485
  end
2338
2486
 
2487
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data#has_more
2488
+ class HasMore < MetronomeSDK::Internal::Type::BaseModel
2489
+ # @!attribute commits
2490
+ # Whether there are more commits on this contract than the limit for this
2491
+ # endpoint. Use the /contracts/customerCommits/list endpoint to get the full list
2492
+ # of commits.
2493
+ #
2494
+ # @return [Boolean]
2495
+ required :commits, MetronomeSDK::Internal::Type::Boolean
2496
+
2497
+ # @!attribute credits
2498
+ # Whether there are more credits on this contract than the limit for this
2499
+ # endpoint. Use the /contracts/customerCredits/list endpoint to get the full list
2500
+ # of credits.
2501
+ #
2502
+ # @return [Boolean]
2503
+ required :credits, MetronomeSDK::Internal::Type::Boolean
2504
+
2505
+ # @!method initialize(commits:, credits:)
2506
+ # Some parameter documentations has been truncated, see
2507
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::HasMore} for more
2508
+ # details.
2509
+ #
2510
+ # Indicates whether there are more items than the limit for this endpoint. Use the
2511
+ # respective list endpoints to get the full lists.
2512
+ #
2513
+ # @param commits [Boolean] Whether there are more commits on this contract than the limit for this endpoint
2514
+ #
2515
+ # @param credits [Boolean] Whether there are more credits on this contract than the limit for this endpoint
2516
+ end
2517
+
2339
2518
  # Either a **parent** configuration with a list of children or a **child**
2340
2519
  # configuration with a single parent.
2341
2520
  #
@@ -2531,6 +2710,8 @@ module MetronomeSDK
2531
2710
  # or credit. A customer's usage needs to meet the condition of at least one of the
2532
2711
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
2533
2712
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
2713
+ # Instead, to target usage by product or product tag, pass those values in the
2714
+ # body of `specifiers`.
2534
2715
  #
2535
2716
  # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier>, nil]
2536
2717
  optional :specifiers,
@@ -2822,6 +3003,13 @@ module MetronomeSDK
2822
3003
  # @return [Time, nil]
2823
3004
  optional :ending_before, Time
2824
3005
 
3006
+ # @!attribute hierarchy_configuration
3007
+ # Optional configuration for recurring credit hierarchy access control
3008
+ #
3009
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration, nil]
3010
+ optional :hierarchy_configuration,
3011
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration }
3012
+
2825
3013
  # @!attribute invoice_amount
2826
3014
  # The amount the customer should be billed for the commit. Not required.
2827
3015
  #
@@ -2844,7 +3032,6 @@ module MetronomeSDK
2844
3032
  # @!attribute proration
2845
3033
  # Determines whether the first and last commit will be prorated. If not provided,
2846
3034
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
2847
- # subscription_config:
2848
3035
  #
2849
3036
  # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Proration, nil]
2850
3037
  optional :proration,
@@ -2878,7 +3065,14 @@ module MetronomeSDK
2878
3065
  optional :specifiers,
2879
3066
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Specifier] }
2880
3067
 
2881
- # @!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)
3068
+ # @!attribute subscription_config
3069
+ # Attach a subscription to the recurring commit/credit.
3070
+ #
3071
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig, nil]
3072
+ optional :subscription_config,
3073
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig }
3074
+
3075
+ # @!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)
2882
3076
  # Some parameter documentations has been truncated, see
2883
3077
  # {MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit} for more
2884
3078
  # details.
@@ -2907,6 +3101,8 @@ module MetronomeSDK
2907
3101
  #
2908
3102
  # @param ending_before [Time] Determines when the contract will stop creating recurring commits. Optional
2909
3103
  #
3104
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration] Optional configuration for recurring credit hierarchy access control
3105
+ #
2910
3106
  # @param invoice_amount [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::InvoiceAmount] The amount the customer should be billed for the commit. Not required.
2911
3107
  #
2912
3108
  # @param name [String] Displayed on invoices. Will be passed through to the individual commits
@@ -2920,6 +3116,8 @@ module MetronomeSDK
2920
3116
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
2921
3117
  #
2922
3118
  # @param specifiers [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
3119
+ #
3120
+ # @param subscription_config [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig] Attach a subscription to the recurring commit/credit.
2923
3121
 
2924
3122
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#access_amount
2925
3123
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
@@ -3017,6 +3215,103 @@ module MetronomeSDK
3017
3215
  # @param id [String]
3018
3216
  end
3019
3217
 
3218
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#hierarchy_configuration
3219
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
3220
+ # @!attribute child_access
3221
+ #
3222
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
3223
+ required :child_access,
3224
+ union: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess }
3225
+
3226
+ # @!method initialize(child_access:)
3227
+ # Optional configuration for recurring credit hierarchy access control
3228
+ #
3229
+ # @param child_access [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
3230
+
3231
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration#child_access
3232
+ module ChildAccess
3233
+ extend MetronomeSDK::Internal::Type::Union
3234
+
3235
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
3236
+
3237
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
3238
+
3239
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
3240
+
3241
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
3242
+ # @!attribute type
3243
+ #
3244
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3245
+ required :type,
3246
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
3247
+
3248
+ # @!method initialize(type:)
3249
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3250
+
3251
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
3252
+ module Type
3253
+ extend MetronomeSDK::Internal::Type::Enum
3254
+
3255
+ ALL = :ALL
3256
+
3257
+ # @!method self.values
3258
+ # @return [Array<Symbol>]
3259
+ end
3260
+ end
3261
+
3262
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
3263
+ # @!attribute type
3264
+ #
3265
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3266
+ required :type,
3267
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
3268
+
3269
+ # @!method initialize(type:)
3270
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3271
+
3272
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
3273
+ module Type
3274
+ extend MetronomeSDK::Internal::Type::Enum
3275
+
3276
+ NONE = :NONE
3277
+
3278
+ # @!method self.values
3279
+ # @return [Array<Symbol>]
3280
+ end
3281
+ end
3282
+
3283
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
3284
+ # @!attribute contract_ids
3285
+ #
3286
+ # @return [Array<String>]
3287
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
3288
+
3289
+ # @!attribute type
3290
+ #
3291
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3292
+ required :type,
3293
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
3294
+
3295
+ # @!method initialize(contract_ids:, type:)
3296
+ # @param contract_ids [Array<String>]
3297
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3298
+
3299
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
3300
+ module Type
3301
+ extend MetronomeSDK::Internal::Type::Enum
3302
+
3303
+ CONTRACT_IDS = :CONTRACT_IDS
3304
+
3305
+ # @!method self.values
3306
+ # @return [Array<Symbol>]
3307
+ end
3308
+ end
3309
+
3310
+ # @!method self.variants
3311
+ # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
3312
+ end
3313
+ end
3314
+
3020
3315
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#invoice_amount
3021
3316
  class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
3022
3317
  # @!attribute credit_type_id
@@ -3044,7 +3339,6 @@ module MetronomeSDK
3044
3339
 
3045
3340
  # Determines whether the first and last commit will be prorated. If not provided,
3046
3341
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3047
- # subscription_config:
3048
3342
  #
3049
3343
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#proration
3050
3344
  module Proration
@@ -3115,6 +3409,56 @@ module MetronomeSDK
3115
3409
  #
3116
3410
  # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
3117
3411
  end
3412
+
3413
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#subscription_config
3414
+ class SubscriptionConfig < MetronomeSDK::Internal::Type::BaseModel
3415
+ # @!attribute allocation
3416
+ #
3417
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig::Allocation]
3418
+ required :allocation,
3419
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig::Allocation }
3420
+
3421
+ # @!attribute apply_seat_increase_config
3422
+ #
3423
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig]
3424
+ required :apply_seat_increase_config,
3425
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig }
3426
+
3427
+ # @!attribute subscription_id
3428
+ #
3429
+ # @return [String]
3430
+ required :subscription_id, String
3431
+
3432
+ # @!method initialize(allocation:, apply_seat_increase_config:, subscription_id:)
3433
+ # Attach a subscription to the recurring commit/credit.
3434
+ #
3435
+ # @param allocation [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig::Allocation]
3436
+ # @param apply_seat_increase_config [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig]
3437
+ # @param subscription_id [String]
3438
+
3439
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig#allocation
3440
+ module Allocation
3441
+ extend MetronomeSDK::Internal::Type::Enum
3442
+
3443
+ INDIVIDUAL = :INDIVIDUAL
3444
+ POOLED = :POOLED
3445
+
3446
+ # @!method self.values
3447
+ # @return [Array<Symbol>]
3448
+ end
3449
+
3450
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig#apply_seat_increase_config
3451
+ class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
3452
+ # @!attribute is_prorated
3453
+ # Indicates whether a mid-period seat increase should be prorated.
3454
+ #
3455
+ # @return [Boolean]
3456
+ required :is_prorated, MetronomeSDK::Internal::Type::Boolean
3457
+
3458
+ # @!method initialize(is_prorated:)
3459
+ # @param is_prorated [Boolean] Indicates whether a mid-period seat increase should be prorated.
3460
+ end
3461
+ end
3118
3462
  end
3119
3463
 
3120
3464
  class RecurringCredit < MetronomeSDK::Internal::Type::BaseModel
@@ -3190,6 +3534,13 @@ module MetronomeSDK
3190
3534
  # @return [Time, nil]
3191
3535
  optional :ending_before, Time
3192
3536
 
3537
+ # @!attribute hierarchy_configuration
3538
+ # Optional configuration for recurring credit hierarchy access control
3539
+ #
3540
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration, nil]
3541
+ optional :hierarchy_configuration,
3542
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration }
3543
+
3193
3544
  # @!attribute name
3194
3545
  # Displayed on invoices. Will be passed through to the individual commits
3195
3546
  #
@@ -3205,7 +3556,6 @@ module MetronomeSDK
3205
3556
  # @!attribute proration
3206
3557
  # Determines whether the first and last commit will be prorated. If not provided,
3207
3558
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3208
- # subscription_config:
3209
3559
  #
3210
3560
  # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Proration, nil]
3211
3561
  optional :proration,
@@ -3239,7 +3589,14 @@ module MetronomeSDK
3239
3589
  optional :specifiers,
3240
3590
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Specifier] }
3241
3591
 
3242
- # @!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)
3592
+ # @!attribute subscription_config
3593
+ # Attach a subscription to the recurring commit/credit.
3594
+ #
3595
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig, nil]
3596
+ optional :subscription_config,
3597
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig }
3598
+
3599
+ # @!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)
3243
3600
  # Some parameter documentations has been truncated, see
3244
3601
  # {MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit} for more
3245
3602
  # details.
@@ -3268,6 +3625,8 @@ module MetronomeSDK
3268
3625
  #
3269
3626
  # @param ending_before [Time] Determines when the contract will stop creating recurring commits. Optional
3270
3627
  #
3628
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration] Optional configuration for recurring credit hierarchy access control
3629
+ #
3271
3630
  # @param name [String] Displayed on invoices. Will be passed through to the individual commits
3272
3631
  #
3273
3632
  # @param netsuite_sales_order_id [String] Will be passed down to the individual commits
@@ -3279,6 +3638,8 @@ module MetronomeSDK
3279
3638
  # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
3280
3639
  #
3281
3640
  # @param specifiers [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
3641
+ #
3642
+ # @param subscription_config [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig] Attach a subscription to the recurring commit/credit.
3282
3643
 
3283
3644
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#access_amount
3284
3645
  class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
@@ -3376,9 +3737,105 @@ module MetronomeSDK
3376
3737
  # @param id [String]
3377
3738
  end
3378
3739
 
3740
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#hierarchy_configuration
3741
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
3742
+ # @!attribute child_access
3743
+ #
3744
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
3745
+ required :child_access,
3746
+ union: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess }
3747
+
3748
+ # @!method initialize(child_access:)
3749
+ # Optional configuration for recurring credit hierarchy access control
3750
+ #
3751
+ # @param child_access [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
3752
+
3753
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration#child_access
3754
+ module ChildAccess
3755
+ extend MetronomeSDK::Internal::Type::Union
3756
+
3757
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
3758
+
3759
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
3760
+
3761
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
3762
+
3763
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
3764
+ # @!attribute type
3765
+ #
3766
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3767
+ required :type,
3768
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
3769
+
3770
+ # @!method initialize(type:)
3771
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3772
+
3773
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
3774
+ module Type
3775
+ extend MetronomeSDK::Internal::Type::Enum
3776
+
3777
+ ALL = :ALL
3778
+
3779
+ # @!method self.values
3780
+ # @return [Array<Symbol>]
3781
+ end
3782
+ end
3783
+
3784
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
3785
+ # @!attribute type
3786
+ #
3787
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3788
+ required :type,
3789
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
3790
+
3791
+ # @!method initialize(type:)
3792
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3793
+
3794
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
3795
+ module Type
3796
+ extend MetronomeSDK::Internal::Type::Enum
3797
+
3798
+ NONE = :NONE
3799
+
3800
+ # @!method self.values
3801
+ # @return [Array<Symbol>]
3802
+ end
3803
+ end
3804
+
3805
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
3806
+ # @!attribute contract_ids
3807
+ #
3808
+ # @return [Array<String>]
3809
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
3810
+
3811
+ # @!attribute type
3812
+ #
3813
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3814
+ required :type,
3815
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
3816
+
3817
+ # @!method initialize(contract_ids:, type:)
3818
+ # @param contract_ids [Array<String>]
3819
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3820
+
3821
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
3822
+ module Type
3823
+ extend MetronomeSDK::Internal::Type::Enum
3824
+
3825
+ CONTRACT_IDS = :CONTRACT_IDS
3826
+
3827
+ # @!method self.values
3828
+ # @return [Array<Symbol>]
3829
+ end
3830
+ end
3831
+
3832
+ # @!method self.variants
3833
+ # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
3834
+ end
3835
+ end
3836
+
3379
3837
  # Determines whether the first and last commit will be prorated. If not provided,
3380
3838
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3381
- # subscription_config:
3382
3839
  #
3383
3840
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#proration
3384
3841
  module Proration
@@ -3449,6 +3906,56 @@ module MetronomeSDK
3449
3906
  #
3450
3907
  # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
3451
3908
  end
3909
+
3910
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#subscription_config
3911
+ class SubscriptionConfig < MetronomeSDK::Internal::Type::BaseModel
3912
+ # @!attribute allocation
3913
+ #
3914
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig::Allocation]
3915
+ required :allocation,
3916
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig::Allocation }
3917
+
3918
+ # @!attribute apply_seat_increase_config
3919
+ #
3920
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig]
3921
+ required :apply_seat_increase_config,
3922
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig }
3923
+
3924
+ # @!attribute subscription_id
3925
+ #
3926
+ # @return [String]
3927
+ required :subscription_id, String
3928
+
3929
+ # @!method initialize(allocation:, apply_seat_increase_config:, subscription_id:)
3930
+ # Attach a subscription to the recurring commit/credit.
3931
+ #
3932
+ # @param allocation [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig::Allocation]
3933
+ # @param apply_seat_increase_config [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig]
3934
+ # @param subscription_id [String]
3935
+
3936
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig#allocation
3937
+ module Allocation
3938
+ extend MetronomeSDK::Internal::Type::Enum
3939
+
3940
+ INDIVIDUAL = :INDIVIDUAL
3941
+ POOLED = :POOLED
3942
+
3943
+ # @!method self.values
3944
+ # @return [Array<Symbol>]
3945
+ end
3946
+
3947
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig#apply_seat_increase_config
3948
+ class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
3949
+ # @!attribute is_prorated
3950
+ # Indicates whether a mid-period seat increase should be prorated.
3951
+ #
3952
+ # @return [Boolean]
3953
+ required :is_prorated, MetronomeSDK::Internal::Type::Boolean
3954
+
3955
+ # @!method initialize(is_prorated:)
3956
+ # @param is_prorated [Boolean] Indicates whether a mid-period seat increase should be prorated.
3957
+ end
3958
+ end
3452
3959
  end
3453
3960
 
3454
3961
  class ResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel