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
@@ -185,6 +185,25 @@ module MetronomeSDK
185
185
  sig { params(ending_before: Time).void }
186
186
  attr_writer :ending_before
187
187
 
188
+ # Indicates whether there are more items than the limit for this endpoint. Use the
189
+ # respective list endpoints to get the full lists.
190
+ sig do
191
+ returns(
192
+ T.nilable(
193
+ MetronomeSDK::Models::V2::ContractListResponse::Data::HasMore
194
+ )
195
+ )
196
+ end
197
+ attr_reader :has_more
198
+
199
+ sig do
200
+ params(
201
+ has_more:
202
+ MetronomeSDK::Models::V2::ContractListResponse::Data::HasMore::OrHash
203
+ ).void
204
+ end
205
+ attr_writer :has_more
206
+
188
207
  # Either a **parent** configuration with a list of children or a **child**
189
208
  # configuration with a single parent.
190
209
  sig do
@@ -472,6 +491,8 @@ module MetronomeSDK
472
491
  MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration::OrHash,
473
492
  discounts: T::Array[MetronomeSDK::Discount::OrHash],
474
493
  ending_before: Time,
494
+ has_more:
495
+ MetronomeSDK::Models::V2::ContractListResponse::Data::HasMore::OrHash,
475
496
  hierarchy_configuration:
476
497
  T.any(
477
498
  MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration::OrHash,
@@ -532,6 +553,9 @@ module MetronomeSDK
532
553
  # This field's availability is dependent on your client's configuration.
533
554
  discounts: nil,
534
555
  ending_before: nil,
556
+ # Indicates whether there are more items than the limit for this endpoint. Use the
557
+ # respective list endpoints to get the full lists.
558
+ has_more: nil,
535
559
  # Either a **parent** configuration with a list of children or a **child**
536
560
  # configuration with a single parent.
537
561
  hierarchy_configuration: nil,
@@ -610,6 +634,8 @@ module MetronomeSDK
610
634
  MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration,
611
635
  discounts: T::Array[MetronomeSDK::Discount],
612
636
  ending_before: Time,
637
+ has_more:
638
+ MetronomeSDK::Models::V2::ContractListResponse::Data::HasMore,
613
639
  hierarchy_configuration:
614
640
  MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::Variants,
615
641
  multiplier_override_prioritization:
@@ -835,6 +861,7 @@ module MetronomeSDK
835
861
  MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::OrHash,
836
862
  MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::OrHash,
837
863
  MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::OrHash,
864
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::OrHash,
838
865
  MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::OrHash,
839
866
  MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::OrHash,
840
867
  MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::OrHash,
@@ -971,6 +998,7 @@ module MetronomeSDK
971
998
  MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::OrHash,
972
999
  MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::OrHash,
973
1000
  MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::OrHash,
1001
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::OrHash,
974
1002
  MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::OrHash,
975
1003
  MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::OrHash,
976
1004
  MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::OrHash,
@@ -1472,6 +1500,7 @@ module MetronomeSDK
1472
1500
  MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry,
1473
1501
  MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry,
1474
1502
  MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry,
1503
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry,
1475
1504
  MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry,
1476
1505
  MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry,
1477
1506
  MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry,
@@ -2012,6 +2041,87 @@ module MetronomeSDK
2012
2041
  end
2013
2042
  end
2014
2043
 
2044
+ class PrepaidCommitSeatBasedAdjustmentLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2045
+ OrHash =
2046
+ T.type_alias do
2047
+ T.any(
2048
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry,
2049
+ MetronomeSDK::Internal::AnyHash
2050
+ )
2051
+ end
2052
+
2053
+ sig { returns(Float) }
2054
+ attr_accessor :amount
2055
+
2056
+ sig { returns(String) }
2057
+ attr_accessor :segment_id
2058
+
2059
+ sig { returns(Time) }
2060
+ attr_accessor :timestamp
2061
+
2062
+ sig do
2063
+ returns(
2064
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::Type::TaggedSymbol
2065
+ )
2066
+ end
2067
+ attr_accessor :type
2068
+
2069
+ sig do
2070
+ params(
2071
+ amount: Float,
2072
+ segment_id: String,
2073
+ timestamp: Time,
2074
+ type:
2075
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::Type::OrSymbol
2076
+ ).returns(T.attached_class)
2077
+ end
2078
+ def self.new(amount:, segment_id:, timestamp:, type:)
2079
+ end
2080
+
2081
+ sig do
2082
+ override.returns(
2083
+ {
2084
+ amount: Float,
2085
+ segment_id: String,
2086
+ timestamp: Time,
2087
+ type:
2088
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::Type::TaggedSymbol
2089
+ }
2090
+ )
2091
+ end
2092
+ def to_hash
2093
+ end
2094
+
2095
+ module Type
2096
+ extend MetronomeSDK::Internal::Type::Enum
2097
+
2098
+ TaggedSymbol =
2099
+ T.type_alias do
2100
+ T.all(
2101
+ Symbol,
2102
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::Type
2103
+ )
2104
+ end
2105
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2106
+
2107
+ PREPAID_COMMIT_SEAT_BASED_ADJUSTMENT =
2108
+ T.let(
2109
+ :PREPAID_COMMIT_SEAT_BASED_ADJUSTMENT,
2110
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::Type::TaggedSymbol
2111
+ )
2112
+
2113
+ sig do
2114
+ override.returns(
2115
+ T::Array[
2116
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::Type::TaggedSymbol
2117
+ ]
2118
+ )
2119
+ end
2120
+ def self.values
2121
+ end
2122
+ end
2123
+ end
2124
+
2015
2125
  class PostpaidCommitInitialBalanceLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2016
2126
  OrHash =
2017
2127
  T.type_alias do
@@ -3807,7 +3917,8 @@ module MetronomeSDK
3807
3917
  MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::OrHash,
3808
3918
  MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::OrHash,
3809
3919
  MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::OrHash,
3810
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry::OrHash
3920
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry::OrHash,
3921
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::OrHash
3811
3922
  )
3812
3923
  ]
3813
3924
  ).void
@@ -3892,7 +4003,8 @@ module MetronomeSDK
3892
4003
  MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::OrHash,
3893
4004
  MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::OrHash,
3894
4005
  MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::OrHash,
3895
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry::OrHash
4006
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry::OrHash,
4007
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::OrHash
3896
4008
  )
3897
4009
  ],
3898
4010
  name: String,
@@ -4336,7 +4448,8 @@ module MetronomeSDK
4336
4448
  MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry,
4337
4449
  MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry,
4338
4450
  MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry,
4339
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry
4451
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry,
4452
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry
4340
4453
  )
4341
4454
  end
4342
4455
 
@@ -4859,6 +4972,87 @@ module MetronomeSDK
4859
4972
  end
4860
4973
  end
4861
4974
 
4975
+ class CreditSeatBasedAdjustmentLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
4976
+ OrHash =
4977
+ T.type_alias do
4978
+ T.any(
4979
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry,
4980
+ MetronomeSDK::Internal::AnyHash
4981
+ )
4982
+ end
4983
+
4984
+ sig { returns(Float) }
4985
+ attr_accessor :amount
4986
+
4987
+ sig { returns(String) }
4988
+ attr_accessor :segment_id
4989
+
4990
+ sig { returns(Time) }
4991
+ attr_accessor :timestamp
4992
+
4993
+ sig do
4994
+ returns(
4995
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type::TaggedSymbol
4996
+ )
4997
+ end
4998
+ attr_accessor :type
4999
+
5000
+ sig do
5001
+ params(
5002
+ amount: Float,
5003
+ segment_id: String,
5004
+ timestamp: Time,
5005
+ type:
5006
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type::OrSymbol
5007
+ ).returns(T.attached_class)
5008
+ end
5009
+ def self.new(amount:, segment_id:, timestamp:, type:)
5010
+ end
5011
+
5012
+ sig do
5013
+ override.returns(
5014
+ {
5015
+ amount: Float,
5016
+ segment_id: String,
5017
+ timestamp: Time,
5018
+ type:
5019
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type::TaggedSymbol
5020
+ }
5021
+ )
5022
+ end
5023
+ def to_hash
5024
+ end
5025
+
5026
+ module Type
5027
+ extend MetronomeSDK::Internal::Type::Enum
5028
+
5029
+ TaggedSymbol =
5030
+ T.type_alias do
5031
+ T.all(
5032
+ Symbol,
5033
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type
5034
+ )
5035
+ end
5036
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
5037
+
5038
+ CREDIT_SEAT_BASED_ADJUSTMENT =
5039
+ T.let(
5040
+ :CREDIT_SEAT_BASED_ADJUSTMENT,
5041
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type::TaggedSymbol
5042
+ )
5043
+
5044
+ sig do
5045
+ override.returns(
5046
+ T::Array[
5047
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type::TaggedSymbol
5048
+ ]
5049
+ )
5050
+ end
5051
+ def self.values
5052
+ end
5053
+ end
5054
+ end
5055
+
4862
5056
  sig do
4863
5057
  override.returns(
4864
5058
  T::Array[
@@ -5099,6 +5293,53 @@ module MetronomeSDK
5099
5293
  end
5100
5294
  end
5101
5295
 
5296
+ class HasMore < MetronomeSDK::Internal::Type::BaseModel
5297
+ OrHash =
5298
+ T.type_alias do
5299
+ T.any(
5300
+ MetronomeSDK::Models::V2::ContractListResponse::Data::HasMore,
5301
+ MetronomeSDK::Internal::AnyHash
5302
+ )
5303
+ end
5304
+
5305
+ # Whether there are more commits on this contract than the limit for this
5306
+ # endpoint. Use the /contracts/customerCommits/list endpoint to get the full list
5307
+ # of commits.
5308
+ sig { returns(T::Boolean) }
5309
+ attr_accessor :commits
5310
+
5311
+ # Whether there are more credits on this contract than the limit for this
5312
+ # endpoint. Use the /contracts/customerCredits/list endpoint to get the full list
5313
+ # of credits.
5314
+ sig { returns(T::Boolean) }
5315
+ attr_accessor :credits
5316
+
5317
+ # Indicates whether there are more items than the limit for this endpoint. Use the
5318
+ # respective list endpoints to get the full lists.
5319
+ sig do
5320
+ params(commits: T::Boolean, credits: T::Boolean).returns(
5321
+ T.attached_class
5322
+ )
5323
+ end
5324
+ def self.new(
5325
+ # Whether there are more commits on this contract than the limit for this
5326
+ # endpoint. Use the /contracts/customerCommits/list endpoint to get the full list
5327
+ # of commits.
5328
+ commits:,
5329
+ # Whether there are more credits on this contract than the limit for this
5330
+ # endpoint. Use the /contracts/customerCredits/list endpoint to get the full list
5331
+ # of credits.
5332
+ credits:
5333
+ )
5334
+ end
5335
+
5336
+ sig do
5337
+ override.returns({ commits: T::Boolean, credits: T::Boolean })
5338
+ end
5339
+ def to_hash
5340
+ end
5341
+ end
5342
+
5102
5343
  # Either a **parent** configuration with a list of children or a **child**
5103
5344
  # configuration with a single parent.
5104
5345
  module HierarchyConfiguration
@@ -6098,6 +6339,24 @@ module MetronomeSDK
6098
6339
  sig { params(ending_before: Time).void }
6099
6340
  attr_writer :ending_before
6100
6341
 
6342
+ # Optional configuration for recurring commit/credit hierarchy access control
6343
+ sig do
6344
+ returns(
6345
+ T.nilable(
6346
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration
6347
+ )
6348
+ )
6349
+ end
6350
+ attr_reader :hierarchy_configuration
6351
+
6352
+ sig do
6353
+ params(
6354
+ hierarchy_configuration:
6355
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::OrHash
6356
+ ).void
6357
+ end
6358
+ attr_writer :hierarchy_configuration
6359
+
6101
6360
  # The amount the customer should be billed for the commit. Not required.
6102
6361
  sig do
6103
6362
  returns(
@@ -6132,7 +6391,6 @@ module MetronomeSDK
6132
6391
 
6133
6392
  # Determines whether the first and last commit will be prorated. If not provided,
6134
6393
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
6135
- # subscription_config:
6136
6394
  sig do
6137
6395
  returns(
6138
6396
  T.nilable(
@@ -6224,6 +6482,8 @@ module MetronomeSDK
6224
6482
  MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Contract::OrHash,
6225
6483
  description: String,
6226
6484
  ending_before: Time,
6485
+ hierarchy_configuration:
6486
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::OrHash,
6227
6487
  invoice_amount:
6228
6488
  MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::InvoiceAmount::OrHash,
6229
6489
  name: String,
@@ -6261,6 +6521,8 @@ module MetronomeSDK
6261
6521
  description: nil,
6262
6522
  # Determines when the contract will stop creating recurring commits. Optional
6263
6523
  ending_before: nil,
6524
+ # Optional configuration for recurring commit/credit hierarchy access control
6525
+ hierarchy_configuration: nil,
6264
6526
  # The amount the customer should be billed for the commit. Not required.
6265
6527
  invoice_amount: nil,
6266
6528
  # Displayed on invoices. Will be passed through to the individual commits
@@ -6269,7 +6531,6 @@ module MetronomeSDK
6269
6531
  netsuite_sales_order_id: nil,
6270
6532
  # Determines whether the first and last commit will be prorated. If not provided,
6271
6533
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
6272
- # subscription_config:
6273
6534
  proration: nil,
6274
6535
  # The frequency at which the recurring commits will be created. If not provided: -
6275
6536
  # The commits will be created on the usage invoice frequency. If provided: - The
@@ -6308,6 +6569,8 @@ module MetronomeSDK
6308
6569
  MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Contract,
6309
6570
  description: String,
6310
6571
  ending_before: Time,
6572
+ hierarchy_configuration:
6573
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration,
6311
6574
  invoice_amount:
6312
6575
  MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::InvoiceAmount,
6313
6576
  name: String,
@@ -6530,69 +6793,336 @@ module MetronomeSDK
6530
6793
  end
6531
6794
  end
6532
6795
 
6533
- class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
6796
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
6534
6797
  OrHash =
6535
6798
  T.type_alias do
6536
6799
  T.any(
6537
- MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::InvoiceAmount,
6800
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration,
6538
6801
  MetronomeSDK::Internal::AnyHash
6539
6802
  )
6540
6803
  end
6541
6804
 
6542
- sig { returns(String) }
6543
- attr_accessor :credit_type_id
6544
-
6545
- sig { returns(Float) }
6546
- attr_accessor :quantity
6547
-
6548
- sig { returns(Float) }
6549
- attr_accessor :unit_price
6805
+ sig do
6806
+ returns(
6807
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::Variants
6808
+ )
6809
+ end
6810
+ attr_accessor :child_access
6550
6811
 
6551
- # The amount the customer should be billed for the commit. Not required.
6812
+ # Optional configuration for recurring commit/credit hierarchy access control
6552
6813
  sig do
6553
6814
  params(
6554
- credit_type_id: String,
6555
- quantity: Float,
6556
- unit_price: Float
6815
+ child_access:
6816
+ T.any(
6817
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::OrHash,
6818
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::OrHash,
6819
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::OrHash
6820
+ )
6557
6821
  ).returns(T.attached_class)
6558
6822
  end
6559
- def self.new(credit_type_id:, quantity:, unit_price:)
6823
+ def self.new(child_access:)
6560
6824
  end
6561
6825
 
6562
6826
  sig do
6563
6827
  override.returns(
6564
- { credit_type_id: String, quantity: Float, unit_price: Float }
6828
+ {
6829
+ child_access:
6830
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::Variants
6831
+ }
6565
6832
  )
6566
6833
  end
6567
6834
  def to_hash
6568
6835
  end
6569
- end
6570
6836
 
6571
- # Determines whether the first and last commit will be prorated. If not provided,
6572
- # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
6573
- # subscription_config:
6574
- module Proration
6575
- extend MetronomeSDK::Internal::Type::Enum
6837
+ module ChildAccess
6838
+ extend MetronomeSDK::Internal::Type::Union
6576
6839
 
6577
- TaggedSymbol =
6578
- T.type_alias do
6579
- T.all(
6580
- Symbol,
6581
- MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Proration
6582
- )
6583
- end
6584
- OrSymbol = T.type_alias { T.any(Symbol, String) }
6840
+ Variants =
6841
+ T.type_alias do
6842
+ T.any(
6843
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
6844
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
6845
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
6846
+ )
6847
+ end
6585
6848
 
6586
- NONE =
6587
- T.let(
6588
- :NONE,
6589
- MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Proration::TaggedSymbol
6590
- )
6591
- FIRST =
6592
- T.let(
6593
- :FIRST,
6594
- MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Proration::TaggedSymbol
6595
- )
6849
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
6850
+ OrHash =
6851
+ T.type_alias do
6852
+ T.any(
6853
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
6854
+ MetronomeSDK::Internal::AnyHash
6855
+ )
6856
+ end
6857
+
6858
+ sig do
6859
+ returns(
6860
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
6861
+ )
6862
+ end
6863
+ attr_accessor :type
6864
+
6865
+ sig do
6866
+ params(
6867
+ type:
6868
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
6869
+ ).returns(T.attached_class)
6870
+ end
6871
+ def self.new(type:)
6872
+ end
6873
+
6874
+ sig do
6875
+ override.returns(
6876
+ {
6877
+ type:
6878
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
6879
+ }
6880
+ )
6881
+ end
6882
+ def to_hash
6883
+ end
6884
+
6885
+ module Type
6886
+ extend MetronomeSDK::Internal::Type::Enum
6887
+
6888
+ TaggedSymbol =
6889
+ T.type_alias do
6890
+ T.all(
6891
+ Symbol,
6892
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
6893
+ )
6894
+ end
6895
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
6896
+
6897
+ ALL =
6898
+ T.let(
6899
+ :ALL,
6900
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
6901
+ )
6902
+
6903
+ sig do
6904
+ override.returns(
6905
+ T::Array[
6906
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
6907
+ ]
6908
+ )
6909
+ end
6910
+ def self.values
6911
+ end
6912
+ end
6913
+ end
6914
+
6915
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
6916
+ OrHash =
6917
+ T.type_alias do
6918
+ T.any(
6919
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
6920
+ MetronomeSDK::Internal::AnyHash
6921
+ )
6922
+ end
6923
+
6924
+ sig do
6925
+ returns(
6926
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
6927
+ )
6928
+ end
6929
+ attr_accessor :type
6930
+
6931
+ sig do
6932
+ params(
6933
+ type:
6934
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
6935
+ ).returns(T.attached_class)
6936
+ end
6937
+ def self.new(type:)
6938
+ end
6939
+
6940
+ sig do
6941
+ override.returns(
6942
+ {
6943
+ type:
6944
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
6945
+ }
6946
+ )
6947
+ end
6948
+ def to_hash
6949
+ end
6950
+
6951
+ module Type
6952
+ extend MetronomeSDK::Internal::Type::Enum
6953
+
6954
+ TaggedSymbol =
6955
+ T.type_alias do
6956
+ T.all(
6957
+ Symbol,
6958
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
6959
+ )
6960
+ end
6961
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
6962
+
6963
+ NONE =
6964
+ T.let(
6965
+ :NONE,
6966
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
6967
+ )
6968
+
6969
+ sig do
6970
+ override.returns(
6971
+ T::Array[
6972
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
6973
+ ]
6974
+ )
6975
+ end
6976
+ def self.values
6977
+ end
6978
+ end
6979
+ end
6980
+
6981
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
6982
+ OrHash =
6983
+ T.type_alias do
6984
+ T.any(
6985
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs,
6986
+ MetronomeSDK::Internal::AnyHash
6987
+ )
6988
+ end
6989
+
6990
+ sig { returns(T::Array[String]) }
6991
+ attr_accessor :contract_ids
6992
+
6993
+ sig do
6994
+ returns(
6995
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
6996
+ )
6997
+ end
6998
+ attr_accessor :type
6999
+
7000
+ sig do
7001
+ params(
7002
+ contract_ids: T::Array[String],
7003
+ type:
7004
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
7005
+ ).returns(T.attached_class)
7006
+ end
7007
+ def self.new(contract_ids:, type:)
7008
+ end
7009
+
7010
+ sig do
7011
+ override.returns(
7012
+ {
7013
+ contract_ids: T::Array[String],
7014
+ type:
7015
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
7016
+ }
7017
+ )
7018
+ end
7019
+ def to_hash
7020
+ end
7021
+
7022
+ module Type
7023
+ extend MetronomeSDK::Internal::Type::Enum
7024
+
7025
+ TaggedSymbol =
7026
+ T.type_alias do
7027
+ T.all(
7028
+ Symbol,
7029
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
7030
+ )
7031
+ end
7032
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
7033
+
7034
+ CONTRACT_IDS =
7035
+ T.let(
7036
+ :CONTRACT_IDS,
7037
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
7038
+ )
7039
+
7040
+ sig do
7041
+ override.returns(
7042
+ T::Array[
7043
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
7044
+ ]
7045
+ )
7046
+ end
7047
+ def self.values
7048
+ end
7049
+ end
7050
+ end
7051
+
7052
+ sig do
7053
+ override.returns(
7054
+ T::Array[
7055
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::Variants
7056
+ ]
7057
+ )
7058
+ end
7059
+ def self.variants
7060
+ end
7061
+ end
7062
+ end
7063
+
7064
+ class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
7065
+ OrHash =
7066
+ T.type_alias do
7067
+ T.any(
7068
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::InvoiceAmount,
7069
+ MetronomeSDK::Internal::AnyHash
7070
+ )
7071
+ end
7072
+
7073
+ sig { returns(String) }
7074
+ attr_accessor :credit_type_id
7075
+
7076
+ sig { returns(Float) }
7077
+ attr_accessor :quantity
7078
+
7079
+ sig { returns(Float) }
7080
+ attr_accessor :unit_price
7081
+
7082
+ # The amount the customer should be billed for the commit. Not required.
7083
+ sig do
7084
+ params(
7085
+ credit_type_id: String,
7086
+ quantity: Float,
7087
+ unit_price: Float
7088
+ ).returns(T.attached_class)
7089
+ end
7090
+ def self.new(credit_type_id:, quantity:, unit_price:)
7091
+ end
7092
+
7093
+ sig do
7094
+ override.returns(
7095
+ { credit_type_id: String, quantity: Float, unit_price: Float }
7096
+ )
7097
+ end
7098
+ def to_hash
7099
+ end
7100
+ end
7101
+
7102
+ # Determines whether the first and last commit will be prorated. If not provided,
7103
+ # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
7104
+ module Proration
7105
+ extend MetronomeSDK::Internal::Type::Enum
7106
+
7107
+ TaggedSymbol =
7108
+ T.type_alias do
7109
+ T.all(
7110
+ Symbol,
7111
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Proration
7112
+ )
7113
+ end
7114
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
7115
+
7116
+ NONE =
7117
+ T.let(
7118
+ :NONE,
7119
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Proration::TaggedSymbol
7120
+ )
7121
+ FIRST =
7122
+ T.let(
7123
+ :FIRST,
7124
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Proration::TaggedSymbol
7125
+ )
6596
7126
  LAST =
6597
7127
  T.let(
6598
7128
  :LAST,
@@ -6856,6 +7386,24 @@ module MetronomeSDK
6856
7386
  sig { params(ending_before: Time).void }
6857
7387
  attr_writer :ending_before
6858
7388
 
7389
+ # Optional configuration for recurring commit/credit hierarchy access control
7390
+ sig do
7391
+ returns(
7392
+ T.nilable(
7393
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration
7394
+ )
7395
+ )
7396
+ end
7397
+ attr_reader :hierarchy_configuration
7398
+
7399
+ sig do
7400
+ params(
7401
+ hierarchy_configuration:
7402
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::OrHash
7403
+ ).void
7404
+ end
7405
+ attr_writer :hierarchy_configuration
7406
+
6859
7407
  # Displayed on invoices. Will be passed through to the individual commits
6860
7408
  sig { returns(T.nilable(String)) }
6861
7409
  attr_reader :name
@@ -6872,7 +7420,6 @@ module MetronomeSDK
6872
7420
 
6873
7421
  # Determines whether the first and last commit will be prorated. If not provided,
6874
7422
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
6875
- # subscription_config:
6876
7423
  sig do
6877
7424
  returns(
6878
7425
  T.nilable(
@@ -6964,6 +7511,8 @@ module MetronomeSDK
6964
7511
  MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Contract::OrHash,
6965
7512
  description: String,
6966
7513
  ending_before: Time,
7514
+ hierarchy_configuration:
7515
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::OrHash,
6967
7516
  name: String,
6968
7517
  netsuite_sales_order_id: String,
6969
7518
  proration:
@@ -6999,13 +7548,14 @@ module MetronomeSDK
6999
7548
  description: nil,
7000
7549
  # Determines when the contract will stop creating recurring commits. Optional
7001
7550
  ending_before: nil,
7551
+ # Optional configuration for recurring commit/credit hierarchy access control
7552
+ hierarchy_configuration: nil,
7002
7553
  # Displayed on invoices. Will be passed through to the individual commits
7003
7554
  name: nil,
7004
7555
  # Will be passed down to the individual commits
7005
7556
  netsuite_sales_order_id: nil,
7006
7557
  # Determines whether the first and last commit will be prorated. If not provided,
7007
7558
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
7008
- # subscription_config:
7009
7559
  proration: nil,
7010
7560
  # The frequency at which the recurring commits will be created. If not provided: -
7011
7561
  # The commits will be created on the usage invoice frequency. If provided: - The
@@ -7044,6 +7594,8 @@ module MetronomeSDK
7044
7594
  MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Contract,
7045
7595
  description: String,
7046
7596
  ending_before: Time,
7597
+ hierarchy_configuration:
7598
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration,
7047
7599
  name: String,
7048
7600
  netsuite_sales_order_id: String,
7049
7601
  proration:
@@ -7264,9 +7816,276 @@ module MetronomeSDK
7264
7816
  end
7265
7817
  end
7266
7818
 
7819
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
7820
+ OrHash =
7821
+ T.type_alias do
7822
+ T.any(
7823
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration,
7824
+ MetronomeSDK::Internal::AnyHash
7825
+ )
7826
+ end
7827
+
7828
+ sig do
7829
+ returns(
7830
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::Variants
7831
+ )
7832
+ end
7833
+ attr_accessor :child_access
7834
+
7835
+ # Optional configuration for recurring commit/credit hierarchy access control
7836
+ sig do
7837
+ params(
7838
+ child_access:
7839
+ T.any(
7840
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::OrHash,
7841
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::OrHash,
7842
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::OrHash
7843
+ )
7844
+ ).returns(T.attached_class)
7845
+ end
7846
+ def self.new(child_access:)
7847
+ end
7848
+
7849
+ sig do
7850
+ override.returns(
7851
+ {
7852
+ child_access:
7853
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::Variants
7854
+ }
7855
+ )
7856
+ end
7857
+ def to_hash
7858
+ end
7859
+
7860
+ module ChildAccess
7861
+ extend MetronomeSDK::Internal::Type::Union
7862
+
7863
+ Variants =
7864
+ T.type_alias do
7865
+ T.any(
7866
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
7867
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
7868
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
7869
+ )
7870
+ end
7871
+
7872
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
7873
+ OrHash =
7874
+ T.type_alias do
7875
+ T.any(
7876
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
7877
+ MetronomeSDK::Internal::AnyHash
7878
+ )
7879
+ end
7880
+
7881
+ sig do
7882
+ returns(
7883
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
7884
+ )
7885
+ end
7886
+ attr_accessor :type
7887
+
7888
+ sig do
7889
+ params(
7890
+ type:
7891
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
7892
+ ).returns(T.attached_class)
7893
+ end
7894
+ def self.new(type:)
7895
+ end
7896
+
7897
+ sig do
7898
+ override.returns(
7899
+ {
7900
+ type:
7901
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
7902
+ }
7903
+ )
7904
+ end
7905
+ def to_hash
7906
+ end
7907
+
7908
+ module Type
7909
+ extend MetronomeSDK::Internal::Type::Enum
7910
+
7911
+ TaggedSymbol =
7912
+ T.type_alias do
7913
+ T.all(
7914
+ Symbol,
7915
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
7916
+ )
7917
+ end
7918
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
7919
+
7920
+ ALL =
7921
+ T.let(
7922
+ :ALL,
7923
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
7924
+ )
7925
+
7926
+ sig do
7927
+ override.returns(
7928
+ T::Array[
7929
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
7930
+ ]
7931
+ )
7932
+ end
7933
+ def self.values
7934
+ end
7935
+ end
7936
+ end
7937
+
7938
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
7939
+ OrHash =
7940
+ T.type_alias do
7941
+ T.any(
7942
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
7943
+ MetronomeSDK::Internal::AnyHash
7944
+ )
7945
+ end
7946
+
7947
+ sig do
7948
+ returns(
7949
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
7950
+ )
7951
+ end
7952
+ attr_accessor :type
7953
+
7954
+ sig do
7955
+ params(
7956
+ type:
7957
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
7958
+ ).returns(T.attached_class)
7959
+ end
7960
+ def self.new(type:)
7961
+ end
7962
+
7963
+ sig do
7964
+ override.returns(
7965
+ {
7966
+ type:
7967
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
7968
+ }
7969
+ )
7970
+ end
7971
+ def to_hash
7972
+ end
7973
+
7974
+ module Type
7975
+ extend MetronomeSDK::Internal::Type::Enum
7976
+
7977
+ TaggedSymbol =
7978
+ T.type_alias do
7979
+ T.all(
7980
+ Symbol,
7981
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
7982
+ )
7983
+ end
7984
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
7985
+
7986
+ NONE =
7987
+ T.let(
7988
+ :NONE,
7989
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
7990
+ )
7991
+
7992
+ sig do
7993
+ override.returns(
7994
+ T::Array[
7995
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
7996
+ ]
7997
+ )
7998
+ end
7999
+ def self.values
8000
+ end
8001
+ end
8002
+ end
8003
+
8004
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
8005
+ OrHash =
8006
+ T.type_alias do
8007
+ T.any(
8008
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs,
8009
+ MetronomeSDK::Internal::AnyHash
8010
+ )
8011
+ end
8012
+
8013
+ sig { returns(T::Array[String]) }
8014
+ attr_accessor :contract_ids
8015
+
8016
+ sig do
8017
+ returns(
8018
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
8019
+ )
8020
+ end
8021
+ attr_accessor :type
8022
+
8023
+ sig do
8024
+ params(
8025
+ contract_ids: T::Array[String],
8026
+ type:
8027
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
8028
+ ).returns(T.attached_class)
8029
+ end
8030
+ def self.new(contract_ids:, type:)
8031
+ end
8032
+
8033
+ sig do
8034
+ override.returns(
8035
+ {
8036
+ contract_ids: T::Array[String],
8037
+ type:
8038
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
8039
+ }
8040
+ )
8041
+ end
8042
+ def to_hash
8043
+ end
8044
+
8045
+ module Type
8046
+ extend MetronomeSDK::Internal::Type::Enum
8047
+
8048
+ TaggedSymbol =
8049
+ T.type_alias do
8050
+ T.all(
8051
+ Symbol,
8052
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
8053
+ )
8054
+ end
8055
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
8056
+
8057
+ CONTRACT_IDS =
8058
+ T.let(
8059
+ :CONTRACT_IDS,
8060
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
8061
+ )
8062
+
8063
+ sig do
8064
+ override.returns(
8065
+ T::Array[
8066
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
8067
+ ]
8068
+ )
8069
+ end
8070
+ def self.values
8071
+ end
8072
+ end
8073
+ end
8074
+
8075
+ sig do
8076
+ override.returns(
8077
+ T::Array[
8078
+ MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::Variants
8079
+ ]
8080
+ )
8081
+ end
8082
+ def self.variants
8083
+ end
8084
+ end
8085
+ end
8086
+
7267
8087
  # Determines whether the first and last commit will be prorated. If not provided,
7268
8088
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
7269
- # subscription_config:
7270
8089
  module Proration
7271
8090
  extend MetronomeSDK::Internal::Type::Enum
7272
8091