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