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
@@ -1536,6 +1536,24 @@ module MetronomeSDK
1536
1536
  sig { params(ending_before: Time).void }
1537
1537
  attr_writer :ending_before
1538
1538
 
1539
+ # Optional configuration for recurring commit/credit hierarchy access control
1540
+ sig do
1541
+ returns(
1542
+ T.nilable(
1543
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration
1544
+ )
1545
+ )
1546
+ end
1547
+ attr_reader :hierarchy_configuration
1548
+
1549
+ sig do
1550
+ params(
1551
+ hierarchy_configuration:
1552
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::OrHash
1553
+ ).void
1554
+ end
1555
+ attr_writer :hierarchy_configuration
1556
+
1539
1557
  # The amount the customer should be billed for the commit. Not required.
1540
1558
  sig do
1541
1559
  returns(
@@ -1661,6 +1679,8 @@ module MetronomeSDK
1661
1679
  MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Contract::OrHash,
1662
1680
  description: String,
1663
1681
  ending_before: Time,
1682
+ hierarchy_configuration:
1683
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::OrHash,
1664
1684
  invoice_amount:
1665
1685
  MetronomeSDK::ContractWithoutAmendments::RecurringCommit::InvoiceAmount::OrHash,
1666
1686
  name: String,
@@ -1698,6 +1718,8 @@ module MetronomeSDK
1698
1718
  description: nil,
1699
1719
  # Determines when the contract will stop creating recurring commits. Optional
1700
1720
  ending_before: nil,
1721
+ # Optional configuration for recurring commit/credit hierarchy access control
1722
+ hierarchy_configuration: nil,
1701
1723
  # The amount the customer should be billed for the commit. Not required.
1702
1724
  invoice_amount: nil,
1703
1725
  # Displayed on invoices. Will be passed through to the individual commits
@@ -1744,6 +1766,8 @@ module MetronomeSDK
1744
1766
  MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Contract,
1745
1767
  description: String,
1746
1768
  ending_before: Time,
1769
+ hierarchy_configuration:
1770
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration,
1747
1771
  invoice_amount:
1748
1772
  MetronomeSDK::ContractWithoutAmendments::RecurringCommit::InvoiceAmount,
1749
1773
  name: String,
@@ -1966,6 +1990,274 @@ module MetronomeSDK
1966
1990
  end
1967
1991
  end
1968
1992
 
1993
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
1994
+ OrHash =
1995
+ T.type_alias do
1996
+ T.any(
1997
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration,
1998
+ MetronomeSDK::Internal::AnyHash
1999
+ )
2000
+ end
2001
+
2002
+ sig do
2003
+ returns(
2004
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::Variants
2005
+ )
2006
+ end
2007
+ attr_accessor :child_access
2008
+
2009
+ # Optional configuration for recurring commit/credit hierarchy access control
2010
+ sig do
2011
+ params(
2012
+ child_access:
2013
+ T.any(
2014
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::OrHash,
2015
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::OrHash,
2016
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::OrHash
2017
+ )
2018
+ ).returns(T.attached_class)
2019
+ end
2020
+ def self.new(child_access:)
2021
+ end
2022
+
2023
+ sig do
2024
+ override.returns(
2025
+ {
2026
+ child_access:
2027
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::Variants
2028
+ }
2029
+ )
2030
+ end
2031
+ def to_hash
2032
+ end
2033
+
2034
+ module ChildAccess
2035
+ extend MetronomeSDK::Internal::Type::Union
2036
+
2037
+ Variants =
2038
+ T.type_alias do
2039
+ T.any(
2040
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
2041
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
2042
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
2043
+ )
2044
+ end
2045
+
2046
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
2047
+ OrHash =
2048
+ T.type_alias do
2049
+ T.any(
2050
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
2051
+ MetronomeSDK::Internal::AnyHash
2052
+ )
2053
+ end
2054
+
2055
+ sig do
2056
+ returns(
2057
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
2058
+ )
2059
+ end
2060
+ attr_accessor :type
2061
+
2062
+ sig do
2063
+ params(
2064
+ type:
2065
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
2066
+ ).returns(T.attached_class)
2067
+ end
2068
+ def self.new(type:)
2069
+ end
2070
+
2071
+ sig do
2072
+ override.returns(
2073
+ {
2074
+ type:
2075
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
2076
+ }
2077
+ )
2078
+ end
2079
+ def to_hash
2080
+ end
2081
+
2082
+ module Type
2083
+ extend MetronomeSDK::Internal::Type::Enum
2084
+
2085
+ TaggedSymbol =
2086
+ T.type_alias do
2087
+ T.all(
2088
+ Symbol,
2089
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
2090
+ )
2091
+ end
2092
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2093
+
2094
+ ALL =
2095
+ T.let(
2096
+ :ALL,
2097
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
2098
+ )
2099
+
2100
+ sig do
2101
+ override.returns(
2102
+ T::Array[
2103
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
2104
+ ]
2105
+ )
2106
+ end
2107
+ def self.values
2108
+ end
2109
+ end
2110
+ end
2111
+
2112
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
2113
+ OrHash =
2114
+ T.type_alias do
2115
+ T.any(
2116
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
2117
+ MetronomeSDK::Internal::AnyHash
2118
+ )
2119
+ end
2120
+
2121
+ sig do
2122
+ returns(
2123
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
2124
+ )
2125
+ end
2126
+ attr_accessor :type
2127
+
2128
+ sig do
2129
+ params(
2130
+ type:
2131
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
2132
+ ).returns(T.attached_class)
2133
+ end
2134
+ def self.new(type:)
2135
+ end
2136
+
2137
+ sig do
2138
+ override.returns(
2139
+ {
2140
+ type:
2141
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
2142
+ }
2143
+ )
2144
+ end
2145
+ def to_hash
2146
+ end
2147
+
2148
+ module Type
2149
+ extend MetronomeSDK::Internal::Type::Enum
2150
+
2151
+ TaggedSymbol =
2152
+ T.type_alias do
2153
+ T.all(
2154
+ Symbol,
2155
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
2156
+ )
2157
+ end
2158
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2159
+
2160
+ NONE =
2161
+ T.let(
2162
+ :NONE,
2163
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
2164
+ )
2165
+
2166
+ sig do
2167
+ override.returns(
2168
+ T::Array[
2169
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
2170
+ ]
2171
+ )
2172
+ end
2173
+ def self.values
2174
+ end
2175
+ end
2176
+ end
2177
+
2178
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
2179
+ OrHash =
2180
+ T.type_alias do
2181
+ T.any(
2182
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs,
2183
+ MetronomeSDK::Internal::AnyHash
2184
+ )
2185
+ end
2186
+
2187
+ sig { returns(T::Array[String]) }
2188
+ attr_accessor :contract_ids
2189
+
2190
+ sig do
2191
+ returns(
2192
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
2193
+ )
2194
+ end
2195
+ attr_accessor :type
2196
+
2197
+ sig do
2198
+ params(
2199
+ contract_ids: T::Array[String],
2200
+ type:
2201
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
2202
+ ).returns(T.attached_class)
2203
+ end
2204
+ def self.new(contract_ids:, type:)
2205
+ end
2206
+
2207
+ sig do
2208
+ override.returns(
2209
+ {
2210
+ contract_ids: T::Array[String],
2211
+ type:
2212
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
2213
+ }
2214
+ )
2215
+ end
2216
+ def to_hash
2217
+ end
2218
+
2219
+ module Type
2220
+ extend MetronomeSDK::Internal::Type::Enum
2221
+
2222
+ TaggedSymbol =
2223
+ T.type_alias do
2224
+ T.all(
2225
+ Symbol,
2226
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
2227
+ )
2228
+ end
2229
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2230
+
2231
+ CONTRACT_IDS =
2232
+ T.let(
2233
+ :CONTRACT_IDS,
2234
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
2235
+ )
2236
+
2237
+ sig do
2238
+ override.returns(
2239
+ T::Array[
2240
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
2241
+ ]
2242
+ )
2243
+ end
2244
+ def self.values
2245
+ end
2246
+ end
2247
+ end
2248
+
2249
+ sig do
2250
+ override.returns(
2251
+ T::Array[
2252
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::Variants
2253
+ ]
2254
+ )
2255
+ end
2256
+ def self.variants
2257
+ end
2258
+ end
2259
+ end
2260
+
1969
2261
  class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
1970
2262
  OrHash =
1971
2263
  T.type_alias do
@@ -2291,6 +2583,24 @@ module MetronomeSDK
2291
2583
  sig { params(ending_before: Time).void }
2292
2584
  attr_writer :ending_before
2293
2585
 
2586
+ # Optional configuration for recurring commit/credit hierarchy access control
2587
+ sig do
2588
+ returns(
2589
+ T.nilable(
2590
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration
2591
+ )
2592
+ )
2593
+ end
2594
+ attr_reader :hierarchy_configuration
2595
+
2596
+ sig do
2597
+ params(
2598
+ hierarchy_configuration:
2599
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::OrHash
2600
+ ).void
2601
+ end
2602
+ attr_writer :hierarchy_configuration
2603
+
2294
2604
  # Displayed on invoices. Will be passed through to the individual commits
2295
2605
  sig { returns(T.nilable(String)) }
2296
2606
  attr_reader :name
@@ -2398,6 +2708,8 @@ module MetronomeSDK
2398
2708
  MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Contract::OrHash,
2399
2709
  description: String,
2400
2710
  ending_before: Time,
2711
+ hierarchy_configuration:
2712
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::OrHash,
2401
2713
  name: String,
2402
2714
  netsuite_sales_order_id: String,
2403
2715
  proration:
@@ -2433,6 +2745,8 @@ module MetronomeSDK
2433
2745
  description: nil,
2434
2746
  # Determines when the contract will stop creating recurring commits. Optional
2435
2747
  ending_before: nil,
2748
+ # Optional configuration for recurring commit/credit hierarchy access control
2749
+ hierarchy_configuration: nil,
2436
2750
  # Displayed on invoices. Will be passed through to the individual commits
2437
2751
  name: nil,
2438
2752
  # Will be passed down to the individual commits
@@ -2477,6 +2791,8 @@ module MetronomeSDK
2477
2791
  MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Contract,
2478
2792
  description: String,
2479
2793
  ending_before: Time,
2794
+ hierarchy_configuration:
2795
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration,
2480
2796
  name: String,
2481
2797
  netsuite_sales_order_id: String,
2482
2798
  proration:
@@ -2697,6 +3013,274 @@ module MetronomeSDK
2697
3013
  end
2698
3014
  end
2699
3015
 
3016
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
3017
+ OrHash =
3018
+ T.type_alias do
3019
+ T.any(
3020
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration,
3021
+ MetronomeSDK::Internal::AnyHash
3022
+ )
3023
+ end
3024
+
3025
+ sig do
3026
+ returns(
3027
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::Variants
3028
+ )
3029
+ end
3030
+ attr_accessor :child_access
3031
+
3032
+ # Optional configuration for recurring commit/credit hierarchy access control
3033
+ sig do
3034
+ params(
3035
+ child_access:
3036
+ T.any(
3037
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::OrHash,
3038
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::OrHash,
3039
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::OrHash
3040
+ )
3041
+ ).returns(T.attached_class)
3042
+ end
3043
+ def self.new(child_access:)
3044
+ end
3045
+
3046
+ sig do
3047
+ override.returns(
3048
+ {
3049
+ child_access:
3050
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::Variants
3051
+ }
3052
+ )
3053
+ end
3054
+ def to_hash
3055
+ end
3056
+
3057
+ module ChildAccess
3058
+ extend MetronomeSDK::Internal::Type::Union
3059
+
3060
+ Variants =
3061
+ T.type_alias do
3062
+ T.any(
3063
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
3064
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
3065
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
3066
+ )
3067
+ end
3068
+
3069
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
3070
+ OrHash =
3071
+ T.type_alias do
3072
+ T.any(
3073
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
3074
+ MetronomeSDK::Internal::AnyHash
3075
+ )
3076
+ end
3077
+
3078
+ sig do
3079
+ returns(
3080
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
3081
+ )
3082
+ end
3083
+ attr_accessor :type
3084
+
3085
+ sig do
3086
+ params(
3087
+ type:
3088
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
3089
+ ).returns(T.attached_class)
3090
+ end
3091
+ def self.new(type:)
3092
+ end
3093
+
3094
+ sig do
3095
+ override.returns(
3096
+ {
3097
+ type:
3098
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
3099
+ }
3100
+ )
3101
+ end
3102
+ def to_hash
3103
+ end
3104
+
3105
+ module Type
3106
+ extend MetronomeSDK::Internal::Type::Enum
3107
+
3108
+ TaggedSymbol =
3109
+ T.type_alias do
3110
+ T.all(
3111
+ Symbol,
3112
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
3113
+ )
3114
+ end
3115
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3116
+
3117
+ ALL =
3118
+ T.let(
3119
+ :ALL,
3120
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
3121
+ )
3122
+
3123
+ sig do
3124
+ override.returns(
3125
+ T::Array[
3126
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
3127
+ ]
3128
+ )
3129
+ end
3130
+ def self.values
3131
+ end
3132
+ end
3133
+ end
3134
+
3135
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
3136
+ OrHash =
3137
+ T.type_alias do
3138
+ T.any(
3139
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
3140
+ MetronomeSDK::Internal::AnyHash
3141
+ )
3142
+ end
3143
+
3144
+ sig do
3145
+ returns(
3146
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
3147
+ )
3148
+ end
3149
+ attr_accessor :type
3150
+
3151
+ sig do
3152
+ params(
3153
+ type:
3154
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
3155
+ ).returns(T.attached_class)
3156
+ end
3157
+ def self.new(type:)
3158
+ end
3159
+
3160
+ sig do
3161
+ override.returns(
3162
+ {
3163
+ type:
3164
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
3165
+ }
3166
+ )
3167
+ end
3168
+ def to_hash
3169
+ end
3170
+
3171
+ module Type
3172
+ extend MetronomeSDK::Internal::Type::Enum
3173
+
3174
+ TaggedSymbol =
3175
+ T.type_alias do
3176
+ T.all(
3177
+ Symbol,
3178
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
3179
+ )
3180
+ end
3181
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3182
+
3183
+ NONE =
3184
+ T.let(
3185
+ :NONE,
3186
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
3187
+ )
3188
+
3189
+ sig do
3190
+ override.returns(
3191
+ T::Array[
3192
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
3193
+ ]
3194
+ )
3195
+ end
3196
+ def self.values
3197
+ end
3198
+ end
3199
+ end
3200
+
3201
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
3202
+ OrHash =
3203
+ T.type_alias do
3204
+ T.any(
3205
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs,
3206
+ MetronomeSDK::Internal::AnyHash
3207
+ )
3208
+ end
3209
+
3210
+ sig { returns(T::Array[String]) }
3211
+ attr_accessor :contract_ids
3212
+
3213
+ sig do
3214
+ returns(
3215
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
3216
+ )
3217
+ end
3218
+ attr_accessor :type
3219
+
3220
+ sig do
3221
+ params(
3222
+ contract_ids: T::Array[String],
3223
+ type:
3224
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
3225
+ ).returns(T.attached_class)
3226
+ end
3227
+ def self.new(contract_ids:, type:)
3228
+ end
3229
+
3230
+ sig do
3231
+ override.returns(
3232
+ {
3233
+ contract_ids: T::Array[String],
3234
+ type:
3235
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
3236
+ }
3237
+ )
3238
+ end
3239
+ def to_hash
3240
+ end
3241
+
3242
+ module Type
3243
+ extend MetronomeSDK::Internal::Type::Enum
3244
+
3245
+ TaggedSymbol =
3246
+ T.type_alias do
3247
+ T.all(
3248
+ Symbol,
3249
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
3250
+ )
3251
+ end
3252
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3253
+
3254
+ CONTRACT_IDS =
3255
+ T.let(
3256
+ :CONTRACT_IDS,
3257
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
3258
+ )
3259
+
3260
+ sig do
3261
+ override.returns(
3262
+ T::Array[
3263
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
3264
+ ]
3265
+ )
3266
+ end
3267
+ def self.values
3268
+ end
3269
+ end
3270
+ end
3271
+
3272
+ sig do
3273
+ override.returns(
3274
+ T::Array[
3275
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::Variants
3276
+ ]
3277
+ )
3278
+ end
3279
+ def self.variants
3280
+ end
3281
+ end
3282
+ end
3283
+
2700
3284
  # Determines whether the first and last commit will be prorated. If not provided,
2701
3285
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
2702
3286
  module Proration