metronome-sdk 0.1.0.pre.alpha.4 → 0.1.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 (48) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/internal/cursor_page.rb +1 -1
  5. data/lib/metronome_sdk/models/commit.rb +46 -3
  6. data/lib/metronome_sdk/models/contract_without_amendments.rb +242 -2
  7. data/lib/metronome_sdk/models/credit.rb +46 -3
  8. data/lib/metronome_sdk/models/v1/contract_create_params.rb +242 -2
  9. data/lib/metronome_sdk/models/v1/contract_list_balances_params.rb +9 -1
  10. data/lib/metronome_sdk/models/v1/customers/commit_list_params.rb +9 -1
  11. data/lib/metronome_sdk/models/v1/customers/credit_list_params.rb +9 -1
  12. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +242 -2
  13. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +214 -6
  14. data/lib/metronome_sdk/models/v2/contract_list_response.rb +343 -13
  15. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +343 -13
  16. data/lib/metronome_sdk/resources/v1/contracts.rb +3 -1
  17. data/lib/metronome_sdk/resources/v1/customers/commits.rb +3 -1
  18. data/lib/metronome_sdk/resources/v1/customers/credits.rb +3 -1
  19. data/lib/metronome_sdk/version.rb +1 -1
  20. data/rbi/metronome_sdk/models/commit.rbi +84 -0
  21. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +584 -0
  22. data/rbi/metronome_sdk/models/credit.rbi +87 -3
  23. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +747 -147
  24. data/rbi/metronome_sdk/models/v1/contract_list_balances_params.rbi +11 -0
  25. data/rbi/metronome_sdk/models/v1/customers/commit_list_params.rbi +11 -0
  26. data/rbi/metronome_sdk/models/v1/customers/credit_list_params.rbi +11 -0
  27. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +747 -147
  28. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +584 -6
  29. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +867 -48
  30. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +867 -48
  31. data/rbi/metronome_sdk/resources/v1/contracts.rbi +3 -0
  32. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +3 -0
  33. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +3 -0
  34. data/sig/metronome_sdk/models/commit.rbs +43 -0
  35. data/sig/metronome_sdk/models/contract_without_amendments.rbs +246 -0
  36. data/sig/metronome_sdk/models/credit.rbs +43 -0
  37. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +246 -0
  38. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +7 -0
  39. data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +7 -0
  40. data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +7 -0
  41. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +246 -0
  42. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +246 -0
  43. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +353 -0
  44. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +353 -0
  45. data/sig/metronome_sdk/resources/v1/contracts.rbs +1 -0
  46. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +1 -0
  47. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +1 -0
  48. 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 }
@@ -944,6 +955,45 @@ module MetronomeSDK
944
955
  end
945
956
  end
946
957
 
958
+ class PrepaidCommitSeatBasedAdjustmentLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
959
+ # @!attribute amount
960
+ #
961
+ # @return [Float]
962
+ required :amount, Float
963
+
964
+ # @!attribute segment_id
965
+ #
966
+ # @return [String]
967
+ required :segment_id, String
968
+
969
+ # @!attribute timestamp
970
+ #
971
+ # @return [Time]
972
+ required :timestamp, Time
973
+
974
+ # @!attribute type
975
+ #
976
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::Type]
977
+ required :type,
978
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::Type }
979
+
980
+ # @!method initialize(amount:, segment_id:, timestamp:, type:)
981
+ # @param amount [Float]
982
+ # @param segment_id [String]
983
+ # @param timestamp [Time]
984
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::Type]
985
+
986
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry#type
987
+ module Type
988
+ extend MetronomeSDK::Internal::Type::Enum
989
+
990
+ PREPAID_COMMIT_SEAT_BASED_ADJUSTMENT = :PREPAID_COMMIT_SEAT_BASED_ADJUSTMENT
991
+
992
+ # @!method self.values
993
+ # @return [Array<Symbol>]
994
+ end
995
+ end
996
+
947
997
  class PostpaidCommitInitialBalanceLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
948
998
  # @!attribute amount
949
999
  #
@@ -1218,7 +1268,7 @@ module MetronomeSDK
1218
1268
  end
1219
1269
 
1220
1270
  # @!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)]
1271
+ # @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
1272
  end
1223
1273
 
1224
1274
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#rate_type
@@ -1763,7 +1813,7 @@ module MetronomeSDK
1763
1813
  # A list of ordered events that impact the balance of a credit. For example, an
1764
1814
  # invoice deduction or an expiration.
1765
1815
  #
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]
1816
+ # @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
1817
  optional :ledger,
1768
1818
  -> { MetronomeSDK::Internal::Type::ArrayOf[union: MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger] }
1769
1819
 
@@ -1828,7 +1878,7 @@ module MetronomeSDK
1828
1878
  #
1829
1879
  # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration] Optional configuration for credit hierarchy access control
1830
1880
  #
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
1881
+ # @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
1882
  #
1833
1883
  # @param name [String]
1834
1884
  #
@@ -1990,6 +2040,8 @@ module MetronomeSDK
1990
2040
 
1991
2041
  variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry }
1992
2042
 
2043
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry }
2044
+
1993
2045
  class CreditSegmentStartLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1994
2046
  # @!attribute amount
1995
2047
  #
@@ -2242,8 +2294,47 @@ module MetronomeSDK
2242
2294
  end
2243
2295
  end
2244
2296
 
2297
+ class CreditSeatBasedAdjustmentLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2298
+ # @!attribute amount
2299
+ #
2300
+ # @return [Float]
2301
+ required :amount, Float
2302
+
2303
+ # @!attribute segment_id
2304
+ #
2305
+ # @return [String]
2306
+ required :segment_id, String
2307
+
2308
+ # @!attribute timestamp
2309
+ #
2310
+ # @return [Time]
2311
+ required :timestamp, Time
2312
+
2313
+ # @!attribute type
2314
+ #
2315
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type]
2316
+ required :type,
2317
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type }
2318
+
2319
+ # @!method initialize(amount:, segment_id:, timestamp:, type:)
2320
+ # @param amount [Float]
2321
+ # @param segment_id [String]
2322
+ # @param timestamp [Time]
2323
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type]
2324
+
2325
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry#type
2326
+ module Type
2327
+ extend MetronomeSDK::Internal::Type::Enum
2328
+
2329
+ CREDIT_SEAT_BASED_ADJUSTMENT = :CREDIT_SEAT_BASED_ADJUSTMENT
2330
+
2331
+ # @!method self.values
2332
+ # @return [Array<Symbol>]
2333
+ end
2334
+ end
2335
+
2245
2336
  # @!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)]
2337
+ # @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
2338
  end
2248
2339
 
2249
2340
  class Specifier < MetronomeSDK::Internal::Type::BaseModel
@@ -2336,6 +2427,37 @@ module MetronomeSDK
2336
2427
  end
2337
2428
  end
2338
2429
 
2430
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data#has_more
2431
+ class HasMore < MetronomeSDK::Internal::Type::BaseModel
2432
+ # @!attribute commits
2433
+ # Whether there are more commits on this contract than the limit for this
2434
+ # endpoint. Use the /contracts/customerCommits/list endpoint to get the full list
2435
+ # of commits.
2436
+ #
2437
+ # @return [Boolean]
2438
+ required :commits, MetronomeSDK::Internal::Type::Boolean
2439
+
2440
+ # @!attribute credits
2441
+ # Whether there are more credits on this contract than the limit for this
2442
+ # endpoint. Use the /contracts/customerCredits/list endpoint to get the full list
2443
+ # of credits.
2444
+ #
2445
+ # @return [Boolean]
2446
+ required :credits, MetronomeSDK::Internal::Type::Boolean
2447
+
2448
+ # @!method initialize(commits:, credits:)
2449
+ # Some parameter documentations has been truncated, see
2450
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::HasMore} for more
2451
+ # details.
2452
+ #
2453
+ # Indicates whether there are more items than the limit for this endpoint. Use the
2454
+ # respective list endpoints to get the full lists.
2455
+ #
2456
+ # @param commits [Boolean] Whether there are more commits on this contract than the limit for this endpoint
2457
+ #
2458
+ # @param credits [Boolean] Whether there are more credits on this contract than the limit for this endpoint
2459
+ end
2460
+
2339
2461
  # Either a **parent** configuration with a list of children or a **child**
2340
2462
  # configuration with a single parent.
2341
2463
  #
@@ -2822,6 +2944,13 @@ module MetronomeSDK
2822
2944
  # @return [Time, nil]
2823
2945
  optional :ending_before, Time
2824
2946
 
2947
+ # @!attribute hierarchy_configuration
2948
+ # Optional configuration for recurring commit/credit hierarchy access control
2949
+ #
2950
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration, nil]
2951
+ optional :hierarchy_configuration,
2952
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration }
2953
+
2825
2954
  # @!attribute invoice_amount
2826
2955
  # The amount the customer should be billed for the commit. Not required.
2827
2956
  #
@@ -2844,7 +2973,6 @@ module MetronomeSDK
2844
2973
  # @!attribute proration
2845
2974
  # Determines whether the first and last commit will be prorated. If not provided,
2846
2975
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
2847
- # subscription_config:
2848
2976
  #
2849
2977
  # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Proration, nil]
2850
2978
  optional :proration,
@@ -2878,7 +3006,7 @@ module MetronomeSDK
2878
3006
  optional :specifiers,
2879
3007
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Specifier] }
2880
3008
 
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)
3009
+ # @!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)
2882
3010
  # Some parameter documentations has been truncated, see
2883
3011
  # {MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit} for more
2884
3012
  # details.
@@ -2907,6 +3035,8 @@ module MetronomeSDK
2907
3035
  #
2908
3036
  # @param ending_before [Time] Determines when the contract will stop creating recurring commits. Optional
2909
3037
  #
3038
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration] Optional configuration for recurring commit/credit hierarchy access control
3039
+ #
2910
3040
  # @param invoice_amount [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::InvoiceAmount] The amount the customer should be billed for the commit. Not required.
2911
3041
  #
2912
3042
  # @param name [String] Displayed on invoices. Will be passed through to the individual commits
@@ -3017,6 +3147,103 @@ module MetronomeSDK
3017
3147
  # @param id [String]
3018
3148
  end
3019
3149
 
3150
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#hierarchy_configuration
3151
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
3152
+ # @!attribute child_access
3153
+ #
3154
+ # @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]
3155
+ required :child_access,
3156
+ union: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess }
3157
+
3158
+ # @!method initialize(child_access:)
3159
+ # Optional configuration for recurring commit/credit hierarchy access control
3160
+ #
3161
+ # @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]
3162
+
3163
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration#child_access
3164
+ module ChildAccess
3165
+ extend MetronomeSDK::Internal::Type::Union
3166
+
3167
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
3168
+
3169
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
3170
+
3171
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
3172
+
3173
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
3174
+ # @!attribute type
3175
+ #
3176
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3177
+ required :type,
3178
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
3179
+
3180
+ # @!method initialize(type:)
3181
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3182
+
3183
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
3184
+ module Type
3185
+ extend MetronomeSDK::Internal::Type::Enum
3186
+
3187
+ ALL = :ALL
3188
+
3189
+ # @!method self.values
3190
+ # @return [Array<Symbol>]
3191
+ end
3192
+ end
3193
+
3194
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
3195
+ # @!attribute type
3196
+ #
3197
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3198
+ required :type,
3199
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
3200
+
3201
+ # @!method initialize(type:)
3202
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3203
+
3204
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
3205
+ module Type
3206
+ extend MetronomeSDK::Internal::Type::Enum
3207
+
3208
+ NONE = :NONE
3209
+
3210
+ # @!method self.values
3211
+ # @return [Array<Symbol>]
3212
+ end
3213
+ end
3214
+
3215
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
3216
+ # @!attribute contract_ids
3217
+ #
3218
+ # @return [Array<String>]
3219
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
3220
+
3221
+ # @!attribute type
3222
+ #
3223
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3224
+ required :type,
3225
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
3226
+
3227
+ # @!method initialize(contract_ids:, type:)
3228
+ # @param contract_ids [Array<String>]
3229
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3230
+
3231
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
3232
+ module Type
3233
+ extend MetronomeSDK::Internal::Type::Enum
3234
+
3235
+ CONTRACT_IDS = :CONTRACT_IDS
3236
+
3237
+ # @!method self.values
3238
+ # @return [Array<Symbol>]
3239
+ end
3240
+ end
3241
+
3242
+ # @!method self.variants
3243
+ # @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)]
3244
+ end
3245
+ end
3246
+
3020
3247
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#invoice_amount
3021
3248
  class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
3022
3249
  # @!attribute credit_type_id
@@ -3044,7 +3271,6 @@ module MetronomeSDK
3044
3271
 
3045
3272
  # Determines whether the first and last commit will be prorated. If not provided,
3046
3273
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3047
- # subscription_config:
3048
3274
  #
3049
3275
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#proration
3050
3276
  module Proration
@@ -3190,6 +3416,13 @@ module MetronomeSDK
3190
3416
  # @return [Time, nil]
3191
3417
  optional :ending_before, Time
3192
3418
 
3419
+ # @!attribute hierarchy_configuration
3420
+ # Optional configuration for recurring commit/credit hierarchy access control
3421
+ #
3422
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration, nil]
3423
+ optional :hierarchy_configuration,
3424
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration }
3425
+
3193
3426
  # @!attribute name
3194
3427
  # Displayed on invoices. Will be passed through to the individual commits
3195
3428
  #
@@ -3205,7 +3438,6 @@ module MetronomeSDK
3205
3438
  # @!attribute proration
3206
3439
  # Determines whether the first and last commit will be prorated. If not provided,
3207
3440
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3208
- # subscription_config:
3209
3441
  #
3210
3442
  # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Proration, nil]
3211
3443
  optional :proration,
@@ -3239,7 +3471,7 @@ module MetronomeSDK
3239
3471
  optional :specifiers,
3240
3472
  -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Specifier] }
3241
3473
 
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)
3474
+ # @!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)
3243
3475
  # Some parameter documentations has been truncated, see
3244
3476
  # {MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit} for more
3245
3477
  # details.
@@ -3268,6 +3500,8 @@ module MetronomeSDK
3268
3500
  #
3269
3501
  # @param ending_before [Time] Determines when the contract will stop creating recurring commits. Optional
3270
3502
  #
3503
+ # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration] Optional configuration for recurring commit/credit hierarchy access control
3504
+ #
3271
3505
  # @param name [String] Displayed on invoices. Will be passed through to the individual commits
3272
3506
  #
3273
3507
  # @param netsuite_sales_order_id [String] Will be passed down to the individual commits
@@ -3376,9 +3610,105 @@ module MetronomeSDK
3376
3610
  # @param id [String]
3377
3611
  end
3378
3612
 
3613
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#hierarchy_configuration
3614
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
3615
+ # @!attribute child_access
3616
+ #
3617
+ # @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]
3618
+ required :child_access,
3619
+ union: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess }
3620
+
3621
+ # @!method initialize(child_access:)
3622
+ # Optional configuration for recurring commit/credit hierarchy access control
3623
+ #
3624
+ # @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]
3625
+
3626
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration#child_access
3627
+ module ChildAccess
3628
+ extend MetronomeSDK::Internal::Type::Union
3629
+
3630
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
3631
+
3632
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
3633
+
3634
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
3635
+
3636
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
3637
+ # @!attribute type
3638
+ #
3639
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3640
+ required :type,
3641
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
3642
+
3643
+ # @!method initialize(type:)
3644
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3645
+
3646
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
3647
+ module Type
3648
+ extend MetronomeSDK::Internal::Type::Enum
3649
+
3650
+ ALL = :ALL
3651
+
3652
+ # @!method self.values
3653
+ # @return [Array<Symbol>]
3654
+ end
3655
+ end
3656
+
3657
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
3658
+ # @!attribute type
3659
+ #
3660
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3661
+ required :type,
3662
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
3663
+
3664
+ # @!method initialize(type:)
3665
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3666
+
3667
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
3668
+ module Type
3669
+ extend MetronomeSDK::Internal::Type::Enum
3670
+
3671
+ NONE = :NONE
3672
+
3673
+ # @!method self.values
3674
+ # @return [Array<Symbol>]
3675
+ end
3676
+ end
3677
+
3678
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
3679
+ # @!attribute contract_ids
3680
+ #
3681
+ # @return [Array<String>]
3682
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
3683
+
3684
+ # @!attribute type
3685
+ #
3686
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3687
+ required :type,
3688
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
3689
+
3690
+ # @!method initialize(contract_ids:, type:)
3691
+ # @param contract_ids [Array<String>]
3692
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3693
+
3694
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
3695
+ module Type
3696
+ extend MetronomeSDK::Internal::Type::Enum
3697
+
3698
+ CONTRACT_IDS = :CONTRACT_IDS
3699
+
3700
+ # @!method self.values
3701
+ # @return [Array<Symbol>]
3702
+ end
3703
+ end
3704
+
3705
+ # @!method self.variants
3706
+ # @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)]
3707
+ end
3708
+ end
3709
+
3379
3710
  # Determines whether the first and last commit will be prorated. If not provided,
3380
3711
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3381
- # subscription_config:
3382
3712
  #
3383
3713
  # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#proration
3384
3714
  module Proration