metronome-sdk 0.1.0.pre.alpha.3 → 0.1.0.pre.alpha.4

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 (403) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +40 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/errors.rb +22 -0
  5. data/lib/metronome_sdk/internal/transport/base_client.rb +10 -2
  6. data/lib/metronome_sdk/internal/type/array_of.rb +6 -1
  7. data/lib/metronome_sdk/internal/type/base_model.rb +82 -26
  8. data/lib/metronome_sdk/internal/type/boolean.rb +7 -1
  9. data/lib/metronome_sdk/internal/type/converter.rb +42 -34
  10. data/lib/metronome_sdk/internal/type/enum.rb +16 -5
  11. data/lib/metronome_sdk/internal/type/file_input.rb +6 -1
  12. data/lib/metronome_sdk/internal/type/hash_of.rb +6 -1
  13. data/lib/metronome_sdk/internal/type/union.rb +17 -9
  14. data/lib/metronome_sdk/internal/type/unknown.rb +7 -1
  15. data/lib/metronome_sdk/internal/util.rb +8 -9
  16. data/lib/metronome_sdk/models/base_usage_filter.rb +27 -0
  17. data/lib/metronome_sdk/models/commit.rb +1010 -0
  18. data/lib/metronome_sdk/models/contract_without_amendments.rb +1803 -0
  19. data/lib/metronome_sdk/models/credit.rb +634 -0
  20. data/lib/metronome_sdk/models/credit_type_data.rb +21 -0
  21. data/lib/metronome_sdk/models/discount.rb +68 -0
  22. data/lib/metronome_sdk/models/event_type_filter.rb +33 -0
  23. data/lib/metronome_sdk/models/id.rb +15 -0
  24. data/lib/metronome_sdk/models/override.rb +381 -0
  25. data/lib/metronome_sdk/models/pro_service.rb +73 -0
  26. data/lib/metronome_sdk/models/property_filter.rb +52 -0
  27. data/lib/metronome_sdk/models/rate.rb +101 -0
  28. data/lib/metronome_sdk/models/schedule_duration.rb +50 -0
  29. data/lib/metronome_sdk/models/schedule_point_in_time.rb +62 -0
  30. data/lib/metronome_sdk/models/scheduled_charge.rb +76 -0
  31. data/lib/metronome_sdk/models/tier.rb +21 -0
  32. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +3 -14
  33. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -1
  34. data/lib/metronome_sdk/models/v1/alert_create_response.rb +3 -14
  35. data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +2 -8
  36. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +3 -14
  37. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +6 -86
  38. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +3 -14
  39. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +6 -85
  40. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +8 -85
  41. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +312 -35
  42. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +3 -14
  43. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +3 -14
  44. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +3 -1276
  45. data/lib/metronome_sdk/models/v1/contract_create_params.rb +550 -102
  46. data/lib/metronome_sdk/models/v1/contract_create_response.rb +3 -14
  47. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +5 -1645
  48. data/lib/metronome_sdk/models/v1/contract_list_response.rb +253 -10692
  49. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +9 -295
  50. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +254 -10721
  51. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +3 -1276
  52. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +3 -14
  53. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +3 -14
  54. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +6 -97
  55. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +3 -14
  56. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +148 -0
  57. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +12 -561
  58. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +2 -8
  59. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +14 -559
  60. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +6 -97
  61. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +3 -14
  62. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +57 -0
  63. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +45 -0
  64. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_params.rb +2 -8
  65. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +3 -14
  66. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +3 -14
  67. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +6 -42
  68. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +2 -8
  69. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +6 -159
  70. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +6 -42
  71. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +3 -14
  72. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +3 -14
  73. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +3 -14
  74. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -44
  75. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +3 -16
  76. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +6 -44
  77. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +9 -61
  78. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +6 -158
  79. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +5 -77
  80. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +3 -14
  81. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +3 -14
  82. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +20 -1
  83. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +11 -153
  84. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +14 -175
  85. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +3 -14
  86. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +69 -0
  87. data/lib/metronome_sdk/models/v1/customer.rb +53 -0
  88. data/lib/metronome_sdk/models/v1/customer_archive_params.rb +2 -8
  89. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +3 -14
  90. data/lib/metronome_sdk/models/v1/customer_create_response.rb +3 -50
  91. data/lib/metronome_sdk/models/v1/{customer_list_response.rb → customer_detail.rb} +14 -15
  92. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +6 -86
  93. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +115 -0
  94. data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +18 -0
  95. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +3 -126
  96. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +3 -50
  97. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +5 -276
  98. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +3 -279
  99. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +9 -1
  100. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +8 -6
  101. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +3 -14
  102. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +3 -1047
  103. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +3 -14
  104. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +3 -14
  105. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +3 -593
  106. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +3 -14
  107. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +270 -0
  108. data/lib/metronome_sdk/models/v1/customers/{invoice_list_response.rb → invoice.rb} +119 -303
  109. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +2 -1271
  110. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +3 -1276
  111. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +3 -14
  112. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +3 -21
  113. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +1 -0
  114. data/lib/metronome_sdk/models/v1/plan_detail.rb +200 -0
  115. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +3 -286
  116. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +3 -20
  117. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +3 -128
  118. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +38 -0
  119. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +38 -0
  120. data/lib/metronome_sdk/models/v1/usage_search_params.rb +24 -0
  121. data/lib/metronome_sdk/models/v1/usage_search_response.rb +249 -0
  122. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +11 -8
  123. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +3 -14
  124. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +3 -2
  125. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +3 -14
  126. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +885 -103
  127. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3 -14
  128. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +351 -625
  129. data/lib/metronome_sdk/models/v2/contract_list_response.rb +590 -749
  130. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +590 -751
  131. data/lib/metronome_sdk/models.rb +36 -4
  132. data/lib/metronome_sdk/resources/v1/alerts.rb +1 -1
  133. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +2 -2
  134. data/lib/metronome_sdk/resources/v1/contracts/products.rb +4 -4
  135. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +1 -1
  136. data/lib/metronome_sdk/resources/v1/contracts.rb +8 -4
  137. data/lib/metronome_sdk/resources/v1/credit_grants.rb +4 -2
  138. data/lib/metronome_sdk/resources/v1/customers/commits.rb +2 -2
  139. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +2 -2
  140. data/lib/metronome_sdk/resources/v1/customers.rb +40 -2
  141. data/lib/metronome_sdk/resources/v1/usage.rb +25 -0
  142. data/lib/metronome_sdk/resources/v2/contracts.rb +11 -9
  143. data/lib/metronome_sdk/version.rb +1 -1
  144. data/lib/metronome_sdk.rb +31 -2
  145. data/rbi/metronome_sdk/errors.rbi +16 -0
  146. data/rbi/metronome_sdk/internal/type/boolean.rbi +2 -0
  147. data/rbi/metronome_sdk/internal/type/converter.rbi +15 -15
  148. data/rbi/metronome_sdk/internal/type/union.rbi +5 -0
  149. data/rbi/metronome_sdk/internal/type/unknown.rbi +2 -0
  150. data/rbi/metronome_sdk/internal/util.rbi +2 -0
  151. data/rbi/metronome_sdk/models/base_usage_filter.rbi +46 -0
  152. data/rbi/metronome_sdk/models/commit.rbi +1962 -0
  153. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +3676 -0
  154. data/rbi/metronome_sdk/models/credit.rbi +1230 -0
  155. data/rbi/metronome_sdk/models/credit_type_data.rbi +26 -0
  156. data/rbi/metronome_sdk/models/discount.rbi +106 -0
  157. data/rbi/metronome_sdk/models/event_type_filter.rbi +57 -0
  158. data/rbi/metronome_sdk/models/id.rbi +23 -0
  159. data/rbi/metronome_sdk/models/override.rbi +675 -0
  160. data/rbi/metronome_sdk/models/pro_service.rbi +98 -0
  161. data/rbi/metronome_sdk/models/property_filter.rbi +88 -0
  162. data/rbi/metronome_sdk/models/rate.rbi +155 -0
  163. data/rbi/metronome_sdk/models/schedule_duration.rbi +89 -0
  164. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +121 -0
  165. data/rbi/metronome_sdk/models/scheduled_charge.rbi +119 -0
  166. data/rbi/metronome_sdk/models/tier.rbi +29 -0
  167. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +4 -37
  168. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -0
  169. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +4 -37
  170. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +6 -12
  171. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +4 -44
  172. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +8 -177
  173. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +4 -43
  174. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +8 -177
  175. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +8 -175
  176. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +712 -68
  177. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +4 -37
  178. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +4 -39
  179. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +3 -2595
  180. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1100 -172
  181. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +4 -37
  182. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +3 -3366
  183. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +375 -22523
  184. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +12 -632
  185. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +375 -22523
  186. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +3 -2595
  187. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +4 -44
  188. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +4 -44
  189. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +8 -209
  190. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +4 -44
  191. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +237 -0
  192. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +76 -1143
  193. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +3 -9
  194. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +76 -1137
  195. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +8 -209
  196. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +4 -44
  197. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +111 -0
  198. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +94 -0
  199. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbi +3 -9
  200. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbi +4 -44
  201. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +4 -44
  202. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +8 -74
  203. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +3 -9
  204. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +8 -344
  205. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +8 -74
  206. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +4 -44
  207. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +4 -44
  208. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +4 -44
  209. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +8 -108
  210. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +4 -45
  211. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +8 -108
  212. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +12 -149
  213. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +8 -344
  214. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +8 -166
  215. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +4 -41
  216. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +4 -39
  217. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +58 -0
  218. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +10 -231
  219. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +14 -281
  220. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +4 -39
  221. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +90 -0
  222. data/rbi/metronome_sdk/models/v1/customer.rbi +74 -0
  223. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +6 -12
  224. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +4 -39
  225. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +6 -84
  226. data/rbi/metronome_sdk/models/v1/{customer_list_response.rbi → customer_detail.rbi} +19 -26
  227. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +8 -177
  228. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +214 -0
  229. data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +35 -0
  230. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +6 -255
  231. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +6 -86
  232. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +3 -623
  233. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +4 -622
  234. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +11 -0
  235. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +12 -8
  236. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +4 -44
  237. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +3 -2164
  238. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +4 -44
  239. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +4 -44
  240. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +3 -1224
  241. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +4 -44
  242. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +572 -0
  243. data/rbi/metronome_sdk/models/v1/customers/{invoice_list_response.rbi → invoice.rbi} +182 -589
  244. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +4 -2561
  245. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +6 -2612
  246. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +4 -41
  247. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +4 -39
  248. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +5 -0
  249. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +349 -0
  250. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +6 -560
  251. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +4 -37
  252. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +4 -248
  253. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +79 -0
  254. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +80 -0
  255. data/rbi/metronome_sdk/models/v1/usage_search_params.rbi +48 -0
  256. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +438 -0
  257. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +23 -23
  258. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +4 -41
  259. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +11 -15
  260. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +4 -41
  261. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +1859 -202
  262. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +4 -37
  263. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +700 -1447
  264. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +1204 -1472
  265. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +1204 -1472
  266. data/rbi/metronome_sdk/models.rbi +32 -0
  267. data/rbi/metronome_sdk/resources/v1/alerts.rbi +3 -0
  268. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +2 -6
  269. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +4 -4
  270. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +1 -4
  271. data/rbi/metronome_sdk/resources/v1/contracts.rbi +10 -4
  272. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +4 -0
  273. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +6 -4
  274. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +1 -1
  275. data/rbi/metronome_sdk/resources/v1/customers.rbi +34 -3
  276. data/rbi/metronome_sdk/resources/v1/usage.rbi +17 -0
  277. data/rbi/metronome_sdk/resources/v2/contracts.rbi +24 -14
  278. data/sig/metronome_sdk/errors.rbs +9 -0
  279. data/sig/metronome_sdk/internal/type/converter.rbs +7 -1
  280. data/sig/metronome_sdk/models/base_usage_filter.rbs +28 -0
  281. data/sig/metronome_sdk/models/commit.rbs +1020 -0
  282. data/sig/metronome_sdk/models/contract_without_amendments.rbs +1582 -0
  283. data/sig/metronome_sdk/models/credit.rbs +643 -0
  284. data/sig/metronome_sdk/models/credit_type_data.rbs +15 -0
  285. data/sig/metronome_sdk/models/discount.rbs +63 -0
  286. data/sig/metronome_sdk/models/event_type_filter.rbs +26 -0
  287. data/sig/metronome_sdk/models/id.rbs +13 -0
  288. data/sig/metronome_sdk/models/override.rbs +399 -0
  289. data/sig/metronome_sdk/models/pro_service.rbs +61 -0
  290. data/sig/metronome_sdk/models/property_filter.rbs +41 -0
  291. data/sig/metronome_sdk/models/rate.rbs +94 -0
  292. data/sig/metronome_sdk/models/schedule_duration.rbs +56 -0
  293. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +75 -0
  294. data/sig/metronome_sdk/models/scheduled_charge.rbs +70 -0
  295. data/sig/metronome_sdk/models/tier.rbs +17 -0
  296. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +4 -19
  297. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +4 -19
  298. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +4 -12
  299. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +4 -19
  300. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +12 -73
  301. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +4 -19
  302. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +12 -73
  303. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +12 -73
  304. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +291 -24
  305. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +4 -19
  306. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +4 -19
  307. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +4 -1291
  308. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +448 -84
  309. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +4 -19
  310. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +1 -1642
  311. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +188 -10437
  312. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +15 -271
  313. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +188 -10437
  314. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +4 -1291
  315. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +4 -19
  316. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +4 -21
  317. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +8 -82
  318. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +4 -21
  319. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +121 -0
  320. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +16 -466
  321. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +4 -12
  322. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +16 -466
  323. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +8 -82
  324. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +4 -21
  325. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +47 -0
  326. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +41 -0
  327. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +4 -12
  328. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +4 -21
  329. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +4 -21
  330. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +10 -34
  331. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +4 -12
  332. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +10 -144
  333. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +10 -34
  334. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +4 -21
  335. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +4 -21
  336. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +4 -21
  337. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +12 -40
  338. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +4 -21
  339. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +12 -40
  340. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +18 -58
  341. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +10 -144
  342. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +2 -66
  343. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +4 -19
  344. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +4 -19
  345. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +20 -0
  346. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +12 -118
  347. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +16 -140
  348. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +4 -19
  349. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +52 -0
  350. data/sig/metronome_sdk/models/v1/customer.rbs +44 -0
  351. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +4 -12
  352. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +4 -19
  353. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +4 -48
  354. data/sig/metronome_sdk/models/v1/{customer_list_response.rbs → customer_detail.rbs} +17 -17
  355. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +12 -73
  356. data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +105 -0
  357. data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +16 -0
  358. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +4 -112
  359. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +4 -48
  360. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +4 -243
  361. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +4 -247
  362. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +7 -0
  363. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +4 -21
  364. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +4 -1057
  365. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +4 -21
  366. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +4 -21
  367. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +4 -596
  368. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +4 -21
  369. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +234 -0
  370. data/sig/metronome_sdk/models/v1/customers/{invoice_list_response.rbs → invoice.rbs} +147 -305
  371. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +8 -1278
  372. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +4 -1294
  373. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +4 -19
  374. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +4 -16
  375. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +2 -1
  376. data/sig/metronome_sdk/models/v1/plan_detail.rbs +203 -0
  377. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +4 -267
  378. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +4 -16
  379. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +4 -108
  380. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +37 -0
  381. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +37 -0
  382. data/sig/metronome_sdk/models/v1/usage_search_params.rbs +26 -0
  383. data/sig/metronome_sdk/models/v1/usage_search_response.rbs +230 -0
  384. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +4 -8
  385. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +4 -19
  386. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +4 -8
  387. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +4 -19
  388. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +743 -77
  389. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +4 -19
  390. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +274 -665
  391. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +567 -759
  392. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +567 -759
  393. data/sig/metronome_sdk/models.rbs +32 -0
  394. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +2 -2
  395. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +4 -4
  396. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  397. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -1
  398. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -0
  399. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -1
  400. data/sig/metronome_sdk/resources/v1/customers.rbs +9 -1
  401. data/sig/metronome_sdk/resources/v1/usage.rbs +5 -0
  402. data/sig/metronome_sdk/resources/v2/contracts.rbs +3 -2
  403. metadata +95 -8
@@ -80,13 +80,7 @@ module MetronomeSDK
80
80
  end
81
81
  attr_accessor :overrides
82
82
 
83
- sig do
84
- returns(
85
- T::Array[
86
- MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge
87
- ]
88
- )
89
- end
83
+ sig { returns(T::Array[MetronomeSDK::ScheduledCharge]) }
90
84
  attr_accessor :scheduled_charges
91
85
 
92
86
  sig { returns(Time) }
@@ -177,24 +171,11 @@ module MetronomeSDK
177
171
  attr_writer :customer_billing_provider_configuration
178
172
 
179
173
  # This field's availability is dependent on your client's configuration.
180
- sig do
181
- returns(
182
- T.nilable(
183
- T::Array[
184
- MetronomeSDK::Models::V2::ContractListResponse::Data::Discount
185
- ]
186
- )
187
- )
188
- end
174
+ sig { returns(T.nilable(T::Array[MetronomeSDK::Discount])) }
189
175
  attr_reader :discounts
190
176
 
191
177
  sig do
192
- params(
193
- discounts:
194
- T::Array[
195
- MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::OrHash
196
- ]
197
- ).void
178
+ params(discounts: T::Array[MetronomeSDK::Discount::OrHash]).void
198
179
  end
199
180
  attr_writer :discounts
200
181
 
@@ -204,6 +185,28 @@ module MetronomeSDK
204
185
  sig { params(ending_before: Time).void }
205
186
  attr_writer :ending_before
206
187
 
188
+ # Either a **parent** configuration with a list of children or a **child**
189
+ # configuration with a single parent.
190
+ sig do
191
+ returns(
192
+ T.nilable(
193
+ MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::Variants
194
+ )
195
+ )
196
+ end
197
+ attr_reader :hierarchy_configuration
198
+
199
+ sig do
200
+ params(
201
+ hierarchy_configuration:
202
+ T.any(
203
+ MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration::OrHash,
204
+ MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration::OrHash
205
+ )
206
+ ).void
207
+ end
208
+ attr_writer :hierarchy_configuration
209
+
207
210
  # Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list
208
211
  # prices automatically. EXPLICIT prioritization requires specifying priorities for
209
212
  # each multiplier; the one with the lowest priority value will be prioritized
@@ -261,24 +264,20 @@ module MetronomeSDK
261
264
  end
262
265
  attr_writer :prepaid_balance_threshold_configuration
263
266
 
267
+ # Priority of the contract.
268
+ sig { returns(T.nilable(Float)) }
269
+ attr_reader :priority
270
+
271
+ sig { params(priority: Float).void }
272
+ attr_writer :priority
273
+
264
274
  # This field's availability is dependent on your client's configuration.
265
- sig do
266
- returns(
267
- T.nilable(
268
- T::Array[
269
- MetronomeSDK::Models::V2::ContractListResponse::Data::ProfessionalService
270
- ]
271
- )
272
- )
273
- end
275
+ sig { returns(T.nilable(T::Array[MetronomeSDK::ProService])) }
274
276
  attr_reader :professional_services
275
277
 
276
278
  sig do
277
279
  params(
278
- professional_services:
279
- T::Array[
280
- MetronomeSDK::Models::V2::ContractListResponse::Data::ProfessionalService::OrHash
281
- ]
280
+ professional_services: T::Array[MetronomeSDK::ProService::OrHash]
282
281
  ).void
283
282
  end
284
283
  attr_writer :professional_services
@@ -399,7 +398,7 @@ module MetronomeSDK
399
398
  end
400
399
  attr_writer :spend_threshold_configuration
401
400
 
402
- # (beta) List of subscriptions on the contract.
401
+ # List of subscriptions on the contract.
403
402
  sig do
404
403
  returns(
405
404
  T.nilable(
@@ -451,9 +450,7 @@ module MetronomeSDK
451
450
  MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OrHash
452
451
  ],
453
452
  scheduled_charges:
454
- T::Array[
455
- MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::OrHash
456
- ],
453
+ T::Array[MetronomeSDK::ScheduledCharge::OrHash],
457
454
  starting_at: Time,
458
455
  transitions:
459
456
  T::Array[
@@ -473,11 +470,13 @@ module MetronomeSDK
473
470
  custom_fields: T::Hash[Symbol, String],
474
471
  customer_billing_provider_configuration:
475
472
  MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration::OrHash,
476
- discounts:
477
- T::Array[
478
- MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::OrHash
479
- ],
473
+ discounts: T::Array[MetronomeSDK::Discount::OrHash],
480
474
  ending_before: Time,
475
+ hierarchy_configuration:
476
+ T.any(
477
+ MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration::OrHash,
478
+ MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration::OrHash
479
+ ),
481
480
  multiplier_override_prioritization:
482
481
  MetronomeSDK::Models::V2::ContractListResponse::Data::MultiplierOverridePrioritization::OrSymbol,
483
482
  name: String,
@@ -485,10 +484,8 @@ module MetronomeSDK
485
484
  netsuite_sales_order_id: String,
486
485
  prepaid_balance_threshold_configuration:
487
486
  MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::OrHash,
488
- professional_services:
489
- T::Array[
490
- MetronomeSDK::Models::V2::ContractListResponse::Data::ProfessionalService::OrHash
491
- ],
487
+ priority: Float,
488
+ professional_services: T::Array[MetronomeSDK::ProService::OrHash],
492
489
  rate_card_id: String,
493
490
  recurring_commits:
494
491
  T::Array[
@@ -535,6 +532,9 @@ module MetronomeSDK
535
532
  # This field's availability is dependent on your client's configuration.
536
533
  discounts: nil,
537
534
  ending_before: nil,
535
+ # Either a **parent** configuration with a list of children or a **child**
536
+ # configuration with a single parent.
537
+ hierarchy_configuration: nil,
538
538
  # Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list
539
539
  # prices automatically. EXPLICIT prioritization requires specifying priorities for
540
540
  # each multiplier; the one with the lowest priority value will be prioritized
@@ -545,6 +545,8 @@ module MetronomeSDK
545
545
  # This field's availability is dependent on your client's configuration.
546
546
  netsuite_sales_order_id: nil,
547
547
  prepaid_balance_threshold_configuration: nil,
548
+ # Priority of the contract.
549
+ priority: nil,
548
550
  # This field's availability is dependent on your client's configuration.
549
551
  professional_services: nil,
550
552
  rate_card_id: nil,
@@ -561,7 +563,7 @@ module MetronomeSDK
561
563
  # on a separate invoice from usage charges.
562
564
  scheduled_charges_on_usage_invoices: nil,
563
565
  spend_threshold_configuration: nil,
564
- # (beta) List of subscriptions on the contract.
566
+ # List of subscriptions on the contract.
565
567
  subscriptions: nil,
566
568
  total_contract_value: nil,
567
569
  # Prevents the creation of duplicates. If a request to create a record is made
@@ -586,10 +588,7 @@ module MetronomeSDK
586
588
  T::Array[
587
589
  MetronomeSDK::Models::V2::ContractListResponse::Data::Override
588
590
  ],
589
- scheduled_charges:
590
- T::Array[
591
- MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge
592
- ],
591
+ scheduled_charges: T::Array[MetronomeSDK::ScheduledCharge],
593
592
  starting_at: Time,
594
593
  transitions:
595
594
  T::Array[
@@ -609,11 +608,10 @@ module MetronomeSDK
609
608
  custom_fields: T::Hash[Symbol, String],
610
609
  customer_billing_provider_configuration:
611
610
  MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration,
612
- discounts:
613
- T::Array[
614
- MetronomeSDK::Models::V2::ContractListResponse::Data::Discount
615
- ],
611
+ discounts: T::Array[MetronomeSDK::Discount],
616
612
  ending_before: Time,
613
+ hierarchy_configuration:
614
+ MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::Variants,
617
615
  multiplier_override_prioritization:
618
616
  MetronomeSDK::Models::V2::ContractListResponse::Data::MultiplierOverridePrioritization::TaggedSymbol,
619
617
  name: String,
@@ -621,10 +619,8 @@ module MetronomeSDK
621
619
  netsuite_sales_order_id: String,
622
620
  prepaid_balance_threshold_configuration:
623
621
  MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration,
624
- professional_services:
625
- T::Array[
626
- MetronomeSDK::Models::V2::ContractListResponse::Data::ProfessionalService
627
- ],
622
+ priority: Float,
623
+ professional_services: T::Array[MetronomeSDK::ProService],
628
624
  rate_card_id: String,
629
625
  recurring_commits:
630
626
  T::Array[
@@ -691,19 +687,12 @@ module MetronomeSDK
691
687
 
692
688
  # The schedule that the customer will gain access to the credits purposed with
693
689
  # this commit.
694
- sig do
695
- returns(
696
- T.nilable(
697
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule
698
- )
699
- )
700
- end
690
+ sig { returns(T.nilable(MetronomeSDK::ScheduleDuration)) }
701
691
  attr_reader :access_schedule
702
692
 
703
693
  sig do
704
694
  params(
705
- access_schedule:
706
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule::OrHash
695
+ access_schedule: MetronomeSDK::ScheduleDuration::OrHash
707
696
  ).void
708
697
  end
709
698
  attr_writer :access_schedule
@@ -775,6 +764,24 @@ module MetronomeSDK
775
764
  sig { params(description: String).void }
776
765
  attr_writer :description
777
766
 
767
+ # Optional configuration for commit hierarchy access control
768
+ sig do
769
+ returns(
770
+ T.nilable(
771
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration
772
+ )
773
+ )
774
+ end
775
+ attr_reader :hierarchy_configuration
776
+
777
+ sig do
778
+ params(
779
+ hierarchy_configuration:
780
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::OrHash
781
+ ).void
782
+ end
783
+ attr_writer :hierarchy_configuration
784
+
778
785
  # The contract that this commit will be billed on.
779
786
  sig do
780
787
  returns(
@@ -794,19 +801,12 @@ module MetronomeSDK
794
801
  attr_writer :invoice_contract
795
802
 
796
803
  # The schedule that the customer will be invoiced for this commit.
797
- sig do
798
- returns(
799
- T.nilable(
800
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule
801
- )
802
- )
803
- end
804
+ sig { returns(T.nilable(MetronomeSDK::SchedulePointInTime)) }
804
805
  attr_reader :invoice_schedule
805
806
 
806
807
  sig do
807
808
  params(
808
- invoice_schedule:
809
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule::OrHash
809
+ invoice_schedule: MetronomeSDK::SchedulePointInTime::OrHash
810
810
  ).void
811
811
  end
812
812
  attr_writer :invoice_schedule
@@ -829,19 +829,19 @@ module MetronomeSDK
829
829
  ledger:
830
830
  T::Array[
831
831
  T.any(
832
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember0::OrHash,
833
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember1::OrHash,
834
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember2::OrHash,
835
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember3::OrHash,
836
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember4::OrHash,
837
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember5::OrHash,
838
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember6::OrHash,
839
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember7::OrHash,
840
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember8::OrHash,
841
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember9::OrHash,
842
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember10::OrHash,
843
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember11::OrHash,
844
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember12::OrHash
832
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::OrHash,
833
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::OrHash,
834
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::OrHash,
835
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::OrHash,
836
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::OrHash,
837
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::OrHash,
838
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::OrHash,
839
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::OrHash,
840
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::OrHash,
841
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::OrHash,
842
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::OrHash,
843
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::OrHash,
844
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::OrHash
845
845
  )
846
846
  ]
847
847
  ).void
@@ -947,8 +947,7 @@ module MetronomeSDK
947
947
  MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Product::OrHash,
948
948
  type:
949
949
  MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Type::OrSymbol,
950
- access_schedule:
951
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule::OrHash,
950
+ access_schedule: MetronomeSDK::ScheduleDuration::OrHash,
952
951
  applicable_contract_ids: T::Array[String],
953
952
  applicable_product_ids: T::Array[String],
954
953
  applicable_product_tags: T::Array[String],
@@ -958,26 +957,27 @@ module MetronomeSDK
958
957
  MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Contract::OrHash,
959
958
  custom_fields: T::Hash[Symbol, String],
960
959
  description: String,
960
+ hierarchy_configuration:
961
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::OrHash,
961
962
  invoice_contract:
962
963
  MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceContract::OrHash,
963
- invoice_schedule:
964
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule::OrHash,
964
+ invoice_schedule: MetronomeSDK::SchedulePointInTime::OrHash,
965
965
  ledger:
966
966
  T::Array[
967
967
  T.any(
968
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember0::OrHash,
969
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember1::OrHash,
970
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember2::OrHash,
971
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember3::OrHash,
972
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember4::OrHash,
973
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember5::OrHash,
974
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember6::OrHash,
975
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember7::OrHash,
976
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember8::OrHash,
977
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember9::OrHash,
978
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember10::OrHash,
979
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember11::OrHash,
980
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember12::OrHash
968
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::OrHash,
969
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::OrHash,
970
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::OrHash,
971
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::OrHash,
972
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::OrHash,
973
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::OrHash,
974
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::OrHash,
975
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::OrHash,
976
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::OrHash,
977
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::OrHash,
978
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::OrHash,
979
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::OrHash,
980
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::OrHash
981
981
  )
982
982
  ],
983
983
  name: String,
@@ -1018,6 +1018,8 @@ module MetronomeSDK
1018
1018
  contract: nil,
1019
1019
  custom_fields: nil,
1020
1020
  description: nil,
1021
+ # Optional configuration for commit hierarchy access control
1022
+ hierarchy_configuration: nil,
1021
1023
  # The contract that this commit will be billed on.
1022
1024
  invoice_contract: nil,
1023
1025
  # The schedule that the customer will be invoiced for this commit.
@@ -1051,8 +1053,7 @@ module MetronomeSDK
1051
1053
  MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Product,
1052
1054
  type:
1053
1055
  MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Type::TaggedSymbol,
1054
- access_schedule:
1055
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule,
1056
+ access_schedule: MetronomeSDK::ScheduleDuration,
1056
1057
  applicable_contract_ids: T::Array[String],
1057
1058
  applicable_product_ids: T::Array[String],
1058
1059
  applicable_product_tags: T::Array[String],
@@ -1062,10 +1063,11 @@ module MetronomeSDK
1062
1063
  MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Contract,
1063
1064
  custom_fields: T::Hash[Symbol, String],
1064
1065
  description: String,
1066
+ hierarchy_configuration:
1067
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration,
1065
1068
  invoice_contract:
1066
1069
  MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceContract,
1067
- invoice_schedule:
1068
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule,
1070
+ invoice_schedule: MetronomeSDK::SchedulePointInTime,
1069
1071
  ledger:
1070
1072
  T::Array[
1071
1073
  MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::Variants
@@ -1147,162 +1149,292 @@ module MetronomeSDK
1147
1149
  end
1148
1150
  end
1149
1151
 
1150
- class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
1152
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
1151
1153
  OrHash =
1152
1154
  T.type_alias do
1153
1155
  T.any(
1154
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule,
1156
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Contract,
1155
1157
  MetronomeSDK::Internal::AnyHash
1156
1158
  )
1157
1159
  end
1158
1160
 
1159
- sig do
1160
- returns(
1161
- T::Array[
1162
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule::ScheduleItem
1163
- ]
1164
- )
1161
+ sig { returns(String) }
1162
+ attr_accessor :id
1163
+
1164
+ sig { params(id: String).returns(T.attached_class) }
1165
+ def self.new(id:)
1165
1166
  end
1166
- attr_accessor :schedule_items
1167
1167
 
1168
- sig do
1169
- returns(
1170
- T.nilable(
1171
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule::CreditType
1172
- )
1173
- )
1168
+ sig { override.returns({ id: String }) }
1169
+ def to_hash
1174
1170
  end
1175
- attr_reader :credit_type
1171
+ end
1172
+
1173
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
1174
+ OrHash =
1175
+ T.type_alias do
1176
+ T.any(
1177
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration,
1178
+ MetronomeSDK::Internal::AnyHash
1179
+ )
1180
+ end
1176
1181
 
1177
1182
  sig do
1178
- params(
1179
- credit_type:
1180
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule::CreditType::OrHash
1181
- ).void
1183
+ returns(
1184
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::Variants
1185
+ )
1182
1186
  end
1183
- attr_writer :credit_type
1187
+ attr_accessor :child_access
1184
1188
 
1185
- # The schedule that the customer will gain access to the credits purposed with
1186
- # this commit.
1189
+ # Optional configuration for commit hierarchy access control
1187
1190
  sig do
1188
1191
  params(
1189
- schedule_items:
1190
- T::Array[
1191
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule::ScheduleItem::OrHash
1192
- ],
1193
- credit_type:
1194
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule::CreditType::OrHash
1192
+ child_access:
1193
+ T.any(
1194
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::OrHash,
1195
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::OrHash,
1196
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::OrHash
1197
+ )
1195
1198
  ).returns(T.attached_class)
1196
1199
  end
1197
- def self.new(schedule_items:, credit_type: nil)
1200
+ def self.new(child_access:)
1198
1201
  end
1199
1202
 
1200
1203
  sig do
1201
1204
  override.returns(
1202
1205
  {
1203
- schedule_items:
1204
- T::Array[
1205
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule::ScheduleItem
1206
- ],
1207
- credit_type:
1208
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule::CreditType
1206
+ child_access:
1207
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::Variants
1209
1208
  }
1210
1209
  )
1211
1210
  end
1212
1211
  def to_hash
1213
1212
  end
1214
1213
 
1215
- class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
1216
- OrHash =
1214
+ module ChildAccess
1215
+ extend MetronomeSDK::Internal::Type::Union
1216
+
1217
+ Variants =
1217
1218
  T.type_alias do
1218
1219
  T.any(
1219
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule::ScheduleItem,
1220
- MetronomeSDK::Internal::AnyHash
1220
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
1221
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
1222
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
1221
1223
  )
1222
1224
  end
1223
1225
 
1224
- sig { returns(String) }
1225
- attr_accessor :id
1226
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
1227
+ OrHash =
1228
+ T.type_alias do
1229
+ T.any(
1230
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
1231
+ MetronomeSDK::Internal::AnyHash
1232
+ )
1233
+ end
1226
1234
 
1227
- sig { returns(Float) }
1228
- attr_accessor :amount
1235
+ sig do
1236
+ returns(
1237
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
1238
+ )
1239
+ end
1240
+ attr_accessor :type
1229
1241
 
1230
- sig { returns(Time) }
1231
- attr_accessor :ending_before
1242
+ sig do
1243
+ params(
1244
+ type:
1245
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
1246
+ ).returns(T.attached_class)
1247
+ end
1248
+ def self.new(type:)
1249
+ end
1232
1250
 
1233
- sig { returns(Time) }
1234
- attr_accessor :starting_at
1251
+ sig do
1252
+ override.returns(
1253
+ {
1254
+ type:
1255
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
1256
+ }
1257
+ )
1258
+ end
1259
+ def to_hash
1260
+ end
1235
1261
 
1236
- sig do
1237
- params(
1238
- id: String,
1239
- amount: Float,
1240
- ending_before: Time,
1241
- starting_at: Time
1242
- ).returns(T.attached_class)
1243
- end
1244
- def self.new(id:, amount:, ending_before:, starting_at:)
1245
- end
1262
+ module Type
1263
+ extend MetronomeSDK::Internal::Type::Enum
1264
+
1265
+ TaggedSymbol =
1266
+ T.type_alias do
1267
+ T.all(
1268
+ Symbol,
1269
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
1270
+ )
1271
+ end
1272
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1273
+
1274
+ ALL =
1275
+ T.let(
1276
+ :ALL,
1277
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
1278
+ )
1246
1279
 
1247
- sig do
1248
- override.returns(
1249
- {
1250
- id: String,
1251
- amount: Float,
1252
- ending_before: Time,
1253
- starting_at: Time
1254
- }
1255
- )
1256
- end
1257
- def to_hash
1280
+ sig do
1281
+ override.returns(
1282
+ T::Array[
1283
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
1284
+ ]
1285
+ )
1286
+ end
1287
+ def self.values
1288
+ end
1289
+ end
1258
1290
  end
1259
- end
1260
1291
 
1261
- class CreditType < MetronomeSDK::Internal::Type::BaseModel
1262
- OrHash =
1263
- T.type_alias do
1264
- T.any(
1265
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::AccessSchedule::CreditType,
1266
- MetronomeSDK::Internal::AnyHash
1292
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
1293
+ OrHash =
1294
+ T.type_alias do
1295
+ T.any(
1296
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
1297
+ MetronomeSDK::Internal::AnyHash
1298
+ )
1299
+ end
1300
+
1301
+ sig do
1302
+ returns(
1303
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
1267
1304
  )
1268
1305
  end
1306
+ attr_accessor :type
1269
1307
 
1270
- sig { returns(String) }
1271
- attr_accessor :id
1308
+ sig do
1309
+ params(
1310
+ type:
1311
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
1312
+ ).returns(T.attached_class)
1313
+ end
1314
+ def self.new(type:)
1315
+ end
1272
1316
 
1273
- sig { returns(String) }
1274
- attr_accessor :name
1317
+ sig do
1318
+ override.returns(
1319
+ {
1320
+ type:
1321
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
1322
+ }
1323
+ )
1324
+ end
1325
+ def to_hash
1326
+ end
1275
1327
 
1276
- sig do
1277
- params(id: String, name: String).returns(T.attached_class)
1278
- end
1279
- def self.new(id:, name:)
1280
- end
1328
+ module Type
1329
+ extend MetronomeSDK::Internal::Type::Enum
1330
+
1331
+ TaggedSymbol =
1332
+ T.type_alias do
1333
+ T.all(
1334
+ Symbol,
1335
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
1336
+ )
1337
+ end
1338
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1339
+
1340
+ NONE =
1341
+ T.let(
1342
+ :NONE,
1343
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
1344
+ )
1281
1345
 
1282
- sig { override.returns({ id: String, name: String }) }
1283
- def to_hash
1346
+ sig do
1347
+ override.returns(
1348
+ T::Array[
1349
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
1350
+ ]
1351
+ )
1352
+ end
1353
+ def self.values
1354
+ end
1355
+ end
1284
1356
  end
1285
- end
1286
- end
1287
1357
 
1288
- class Contract < MetronomeSDK::Internal::Type::BaseModel
1289
- OrHash =
1290
- T.type_alias do
1291
- T.any(
1292
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Contract,
1293
- MetronomeSDK::Internal::AnyHash
1294
- )
1295
- end
1358
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
1359
+ OrHash =
1360
+ T.type_alias do
1361
+ T.any(
1362
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs,
1363
+ MetronomeSDK::Internal::AnyHash
1364
+ )
1365
+ end
1296
1366
 
1297
- sig { returns(String) }
1298
- attr_accessor :id
1367
+ sig { returns(T::Array[String]) }
1368
+ attr_accessor :contract_ids
1299
1369
 
1300
- sig { params(id: String).returns(T.attached_class) }
1301
- def self.new(id:)
1302
- end
1370
+ sig do
1371
+ returns(
1372
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
1373
+ )
1374
+ end
1375
+ attr_accessor :type
1303
1376
 
1304
- sig { override.returns({ id: String }) }
1305
- def to_hash
1377
+ sig do
1378
+ params(
1379
+ contract_ids: T::Array[String],
1380
+ type:
1381
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
1382
+ ).returns(T.attached_class)
1383
+ end
1384
+ def self.new(contract_ids:, type:)
1385
+ end
1386
+
1387
+ sig do
1388
+ override.returns(
1389
+ {
1390
+ contract_ids: T::Array[String],
1391
+ type:
1392
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
1393
+ }
1394
+ )
1395
+ end
1396
+ def to_hash
1397
+ end
1398
+
1399
+ module Type
1400
+ extend MetronomeSDK::Internal::Type::Enum
1401
+
1402
+ TaggedSymbol =
1403
+ T.type_alias do
1404
+ T.all(
1405
+ Symbol,
1406
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
1407
+ )
1408
+ end
1409
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1410
+
1411
+ CONTRACT_IDS =
1412
+ T.let(
1413
+ :CONTRACT_IDS,
1414
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
1415
+ )
1416
+
1417
+ sig do
1418
+ override.returns(
1419
+ T::Array[
1420
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
1421
+ ]
1422
+ )
1423
+ end
1424
+ def self.values
1425
+ end
1426
+ end
1427
+ end
1428
+
1429
+ sig do
1430
+ override.returns(
1431
+ T::Array[
1432
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::Variants
1433
+ ]
1434
+ )
1435
+ end
1436
+ def self.variants
1437
+ end
1306
1438
  end
1307
1439
  end
1308
1440
 
@@ -1328,199 +1460,33 @@ module MetronomeSDK
1328
1460
  end
1329
1461
  end
1330
1462
 
1331
- class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
1332
- OrHash =
1463
+ module Ledger
1464
+ extend MetronomeSDK::Internal::Type::Union
1465
+
1466
+ Variants =
1333
1467
  T.type_alias do
1334
1468
  T.any(
1335
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule,
1336
- MetronomeSDK::Internal::AnyHash
1337
- )
1338
- end
1339
-
1340
- sig do
1341
- returns(
1342
- T.nilable(
1343
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule::CreditType
1344
- )
1345
- )
1346
- end
1347
- attr_reader :credit_type
1348
-
1349
- sig do
1350
- params(
1351
- credit_type:
1352
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule::CreditType::OrHash
1353
- ).void
1354
- end
1355
- attr_writer :credit_type
1356
-
1357
- sig do
1358
- returns(
1359
- T.nilable(
1360
- T::Array[
1361
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule::ScheduleItem
1362
- ]
1363
- )
1364
- )
1365
- end
1366
- attr_reader :schedule_items
1367
-
1368
- sig do
1369
- params(
1370
- schedule_items:
1371
- T::Array[
1372
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule::ScheduleItem::OrHash
1373
- ]
1374
- ).void
1375
- end
1376
- attr_writer :schedule_items
1377
-
1378
- # The schedule that the customer will be invoiced for this commit.
1379
- sig do
1380
- params(
1381
- credit_type:
1382
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule::CreditType::OrHash,
1383
- schedule_items:
1384
- T::Array[
1385
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule::ScheduleItem::OrHash
1386
- ]
1387
- ).returns(T.attached_class)
1388
- end
1389
- def self.new(credit_type: nil, schedule_items: nil)
1390
- end
1391
-
1392
- sig do
1393
- override.returns(
1394
- {
1395
- credit_type:
1396
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule::CreditType,
1397
- schedule_items:
1398
- T::Array[
1399
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule::ScheduleItem
1400
- ]
1401
- }
1402
- )
1403
- end
1404
- def to_hash
1405
- end
1406
-
1407
- class CreditType < MetronomeSDK::Internal::Type::BaseModel
1408
- OrHash =
1409
- T.type_alias do
1410
- T.any(
1411
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule::CreditType,
1412
- MetronomeSDK::Internal::AnyHash
1413
- )
1414
- end
1415
-
1416
- sig { returns(String) }
1417
- attr_accessor :id
1418
-
1419
- sig { returns(String) }
1420
- attr_accessor :name
1421
-
1422
- sig do
1423
- params(id: String, name: String).returns(T.attached_class)
1424
- end
1425
- def self.new(id:, name:)
1426
- end
1427
-
1428
- sig { override.returns({ id: String, name: String }) }
1429
- def to_hash
1430
- end
1431
- end
1432
-
1433
- class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
1434
- OrHash =
1435
- T.type_alias do
1436
- T.any(
1437
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceSchedule::ScheduleItem,
1438
- MetronomeSDK::Internal::AnyHash
1439
- )
1440
- end
1441
-
1442
- sig { returns(String) }
1443
- attr_accessor :id
1444
-
1445
- sig { returns(Float) }
1446
- attr_accessor :amount
1447
-
1448
- sig { returns(String) }
1449
- attr_accessor :invoice_id
1450
-
1451
- sig { returns(Float) }
1452
- attr_accessor :quantity
1453
-
1454
- sig { returns(Time) }
1455
- attr_accessor :timestamp
1456
-
1457
- sig { returns(Float) }
1458
- attr_accessor :unit_price
1459
-
1460
- sig do
1461
- params(
1462
- id: String,
1463
- amount: Float,
1464
- invoice_id: String,
1465
- quantity: Float,
1466
- timestamp: Time,
1467
- unit_price: Float
1468
- ).returns(T.attached_class)
1469
- end
1470
- def self.new(
1471
- id:,
1472
- amount:,
1473
- invoice_id:,
1474
- quantity:,
1475
- timestamp:,
1476
- unit_price:
1477
- )
1478
- end
1479
-
1480
- sig do
1481
- override.returns(
1482
- {
1483
- id: String,
1484
- amount: Float,
1485
- invoice_id: String,
1486
- quantity: Float,
1487
- timestamp: Time,
1488
- unit_price: Float
1489
- }
1490
- )
1491
- end
1492
- def to_hash
1493
- end
1494
- end
1495
- end
1496
-
1497
- module Ledger
1498
- extend MetronomeSDK::Internal::Type::Union
1499
-
1500
- Variants =
1501
- T.type_alias do
1502
- T.any(
1503
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember0,
1504
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember1,
1505
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember2,
1506
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember3,
1507
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember4,
1508
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember5,
1509
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember6,
1510
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember7,
1511
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember8,
1512
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember9,
1513
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember10,
1514
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember11,
1515
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember12
1516
- )
1517
- end
1518
-
1519
- class UnionMember0 < MetronomeSDK::Internal::Type::BaseModel
1469
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry,
1470
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry,
1471
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry,
1472
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry,
1473
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry,
1474
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry,
1475
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry,
1476
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry,
1477
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry,
1478
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry,
1479
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry,
1480
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry,
1481
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry
1482
+ )
1483
+ end
1484
+
1485
+ class PrepaidCommitSegmentStartLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1520
1486
  OrHash =
1521
1487
  T.type_alias do
1522
1488
  T.any(
1523
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember0,
1489
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry,
1524
1490
  MetronomeSDK::Internal::AnyHash
1525
1491
  )
1526
1492
  end
@@ -1536,7 +1502,7 @@ module MetronomeSDK
1536
1502
 
1537
1503
  sig do
1538
1504
  returns(
1539
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember0::Type::TaggedSymbol
1505
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type::TaggedSymbol
1540
1506
  )
1541
1507
  end
1542
1508
  attr_accessor :type
@@ -1547,7 +1513,7 @@ module MetronomeSDK
1547
1513
  segment_id: String,
1548
1514
  timestamp: Time,
1549
1515
  type:
1550
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember0::Type::OrSymbol
1516
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type::OrSymbol
1551
1517
  ).returns(T.attached_class)
1552
1518
  end
1553
1519
  def self.new(amount:, segment_id:, timestamp:, type:)
@@ -1560,7 +1526,7 @@ module MetronomeSDK
1560
1526
  segment_id: String,
1561
1527
  timestamp: Time,
1562
1528
  type:
1563
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember0::Type::TaggedSymbol
1529
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type::TaggedSymbol
1564
1530
  }
1565
1531
  )
1566
1532
  end
@@ -1574,7 +1540,7 @@ module MetronomeSDK
1574
1540
  T.type_alias do
1575
1541
  T.all(
1576
1542
  Symbol,
1577
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember0::Type
1543
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type
1578
1544
  )
1579
1545
  end
1580
1546
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -1582,13 +1548,13 @@ module MetronomeSDK
1582
1548
  PREPAID_COMMIT_SEGMENT_START =
1583
1549
  T.let(
1584
1550
  :PREPAID_COMMIT_SEGMENT_START,
1585
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember0::Type::TaggedSymbol
1551
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type::TaggedSymbol
1586
1552
  )
1587
1553
 
1588
1554
  sig do
1589
1555
  override.returns(
1590
1556
  T::Array[
1591
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember0::Type::TaggedSymbol
1557
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type::TaggedSymbol
1592
1558
  ]
1593
1559
  )
1594
1560
  end
@@ -1597,11 +1563,11 @@ module MetronomeSDK
1597
1563
  end
1598
1564
  end
1599
1565
 
1600
- class UnionMember1 < MetronomeSDK::Internal::Type::BaseModel
1566
+ class PrepaidCommitAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1601
1567
  OrHash =
1602
1568
  T.type_alias do
1603
1569
  T.any(
1604
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember1,
1570
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry,
1605
1571
  MetronomeSDK::Internal::AnyHash
1606
1572
  )
1607
1573
  end
@@ -1620,7 +1586,7 @@ module MetronomeSDK
1620
1586
 
1621
1587
  sig do
1622
1588
  returns(
1623
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember1::Type::TaggedSymbol
1589
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol
1624
1590
  )
1625
1591
  end
1626
1592
  attr_accessor :type
@@ -1632,7 +1598,7 @@ module MetronomeSDK
1632
1598
  segment_id: String,
1633
1599
  timestamp: Time,
1634
1600
  type:
1635
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember1::Type::OrSymbol
1601
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::OrSymbol
1636
1602
  ).returns(T.attached_class)
1637
1603
  end
1638
1604
  def self.new(
@@ -1652,7 +1618,7 @@ module MetronomeSDK
1652
1618
  segment_id: String,
1653
1619
  timestamp: Time,
1654
1620
  type:
1655
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember1::Type::TaggedSymbol
1621
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol
1656
1622
  }
1657
1623
  )
1658
1624
  end
@@ -1666,7 +1632,7 @@ module MetronomeSDK
1666
1632
  T.type_alias do
1667
1633
  T.all(
1668
1634
  Symbol,
1669
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember1::Type
1635
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type
1670
1636
  )
1671
1637
  end
1672
1638
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -1674,13 +1640,13 @@ module MetronomeSDK
1674
1640
  PREPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION =
1675
1641
  T.let(
1676
1642
  :PREPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION,
1677
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember1::Type::TaggedSymbol
1643
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol
1678
1644
  )
1679
1645
 
1680
1646
  sig do
1681
1647
  override.returns(
1682
1648
  T::Array[
1683
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember1::Type::TaggedSymbol
1649
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol
1684
1650
  ]
1685
1651
  )
1686
1652
  end
@@ -1689,11 +1655,11 @@ module MetronomeSDK
1689
1655
  end
1690
1656
  end
1691
1657
 
1692
- class UnionMember2 < MetronomeSDK::Internal::Type::BaseModel
1658
+ class PrepaidCommitRolloverLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1693
1659
  OrHash =
1694
1660
  T.type_alias do
1695
1661
  T.any(
1696
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember2,
1662
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry,
1697
1663
  MetronomeSDK::Internal::AnyHash
1698
1664
  )
1699
1665
  end
@@ -1712,7 +1678,7 @@ module MetronomeSDK
1712
1678
 
1713
1679
  sig do
1714
1680
  returns(
1715
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember2::Type::TaggedSymbol
1681
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type::TaggedSymbol
1716
1682
  )
1717
1683
  end
1718
1684
  attr_accessor :type
@@ -1724,7 +1690,7 @@ module MetronomeSDK
1724
1690
  segment_id: String,
1725
1691
  timestamp: Time,
1726
1692
  type:
1727
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember2::Type::OrSymbol
1693
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type::OrSymbol
1728
1694
  ).returns(T.attached_class)
1729
1695
  end
1730
1696
  def self.new(
@@ -1744,7 +1710,7 @@ module MetronomeSDK
1744
1710
  segment_id: String,
1745
1711
  timestamp: Time,
1746
1712
  type:
1747
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember2::Type::TaggedSymbol
1713
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type::TaggedSymbol
1748
1714
  }
1749
1715
  )
1750
1716
  end
@@ -1758,7 +1724,7 @@ module MetronomeSDK
1758
1724
  T.type_alias do
1759
1725
  T.all(
1760
1726
  Symbol,
1761
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember2::Type
1727
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type
1762
1728
  )
1763
1729
  end
1764
1730
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -1766,13 +1732,13 @@ module MetronomeSDK
1766
1732
  PREPAID_COMMIT_ROLLOVER =
1767
1733
  T.let(
1768
1734
  :PREPAID_COMMIT_ROLLOVER,
1769
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember2::Type::TaggedSymbol
1735
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type::TaggedSymbol
1770
1736
  )
1771
1737
 
1772
1738
  sig do
1773
1739
  override.returns(
1774
1740
  T::Array[
1775
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember2::Type::TaggedSymbol
1741
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type::TaggedSymbol
1776
1742
  ]
1777
1743
  )
1778
1744
  end
@@ -1781,11 +1747,11 @@ module MetronomeSDK
1781
1747
  end
1782
1748
  end
1783
1749
 
1784
- class UnionMember3 < MetronomeSDK::Internal::Type::BaseModel
1750
+ class PrepaidCommitExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1785
1751
  OrHash =
1786
1752
  T.type_alias do
1787
1753
  T.any(
1788
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember3,
1754
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry,
1789
1755
  MetronomeSDK::Internal::AnyHash
1790
1756
  )
1791
1757
  end
@@ -1801,7 +1767,7 @@ module MetronomeSDK
1801
1767
 
1802
1768
  sig do
1803
1769
  returns(
1804
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember3::Type::TaggedSymbol
1770
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type::TaggedSymbol
1805
1771
  )
1806
1772
  end
1807
1773
  attr_accessor :type
@@ -1812,7 +1778,7 @@ module MetronomeSDK
1812
1778
  segment_id: String,
1813
1779
  timestamp: Time,
1814
1780
  type:
1815
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember3::Type::OrSymbol
1781
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type::OrSymbol
1816
1782
  ).returns(T.attached_class)
1817
1783
  end
1818
1784
  def self.new(amount:, segment_id:, timestamp:, type:)
@@ -1825,7 +1791,7 @@ module MetronomeSDK
1825
1791
  segment_id: String,
1826
1792
  timestamp: Time,
1827
1793
  type:
1828
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember3::Type::TaggedSymbol
1794
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type::TaggedSymbol
1829
1795
  }
1830
1796
  )
1831
1797
  end
@@ -1839,7 +1805,7 @@ module MetronomeSDK
1839
1805
  T.type_alias do
1840
1806
  T.all(
1841
1807
  Symbol,
1842
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember3::Type
1808
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type
1843
1809
  )
1844
1810
  end
1845
1811
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -1847,13 +1813,13 @@ module MetronomeSDK
1847
1813
  PREPAID_COMMIT_EXPIRATION =
1848
1814
  T.let(
1849
1815
  :PREPAID_COMMIT_EXPIRATION,
1850
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember3::Type::TaggedSymbol
1816
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type::TaggedSymbol
1851
1817
  )
1852
1818
 
1853
1819
  sig do
1854
1820
  override.returns(
1855
1821
  T::Array[
1856
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember3::Type::TaggedSymbol
1822
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type::TaggedSymbol
1857
1823
  ]
1858
1824
  )
1859
1825
  end
@@ -1862,11 +1828,11 @@ module MetronomeSDK
1862
1828
  end
1863
1829
  end
1864
1830
 
1865
- class UnionMember4 < MetronomeSDK::Internal::Type::BaseModel
1831
+ class PrepaidCommitCanceledLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1866
1832
  OrHash =
1867
1833
  T.type_alias do
1868
1834
  T.any(
1869
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember4,
1835
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry,
1870
1836
  MetronomeSDK::Internal::AnyHash
1871
1837
  )
1872
1838
  end
@@ -1885,7 +1851,7 @@ module MetronomeSDK
1885
1851
 
1886
1852
  sig do
1887
1853
  returns(
1888
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember4::Type::TaggedSymbol
1854
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type::TaggedSymbol
1889
1855
  )
1890
1856
  end
1891
1857
  attr_accessor :type
@@ -1897,7 +1863,7 @@ module MetronomeSDK
1897
1863
  segment_id: String,
1898
1864
  timestamp: Time,
1899
1865
  type:
1900
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember4::Type::OrSymbol
1866
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type::OrSymbol
1901
1867
  ).returns(T.attached_class)
1902
1868
  end
1903
1869
  def self.new(
@@ -1917,7 +1883,7 @@ module MetronomeSDK
1917
1883
  segment_id: String,
1918
1884
  timestamp: Time,
1919
1885
  type:
1920
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember4::Type::TaggedSymbol
1886
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type::TaggedSymbol
1921
1887
  }
1922
1888
  )
1923
1889
  end
@@ -1931,7 +1897,7 @@ module MetronomeSDK
1931
1897
  T.type_alias do
1932
1898
  T.all(
1933
1899
  Symbol,
1934
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember4::Type
1900
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type
1935
1901
  )
1936
1902
  end
1937
1903
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -1939,13 +1905,13 @@ module MetronomeSDK
1939
1905
  PREPAID_COMMIT_CANCELED =
1940
1906
  T.let(
1941
1907
  :PREPAID_COMMIT_CANCELED,
1942
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember4::Type::TaggedSymbol
1908
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type::TaggedSymbol
1943
1909
  )
1944
1910
 
1945
1911
  sig do
1946
1912
  override.returns(
1947
1913
  T::Array[
1948
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember4::Type::TaggedSymbol
1914
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type::TaggedSymbol
1949
1915
  ]
1950
1916
  )
1951
1917
  end
@@ -1954,11 +1920,11 @@ module MetronomeSDK
1954
1920
  end
1955
1921
  end
1956
1922
 
1957
- class UnionMember5 < MetronomeSDK::Internal::Type::BaseModel
1923
+ class PrepaidCommitCreditedLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1958
1924
  OrHash =
1959
1925
  T.type_alias do
1960
1926
  T.any(
1961
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember5,
1927
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry,
1962
1928
  MetronomeSDK::Internal::AnyHash
1963
1929
  )
1964
1930
  end
@@ -1977,7 +1943,7 @@ module MetronomeSDK
1977
1943
 
1978
1944
  sig do
1979
1945
  returns(
1980
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember5::Type::TaggedSymbol
1946
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type::TaggedSymbol
1981
1947
  )
1982
1948
  end
1983
1949
  attr_accessor :type
@@ -1989,7 +1955,7 @@ module MetronomeSDK
1989
1955
  segment_id: String,
1990
1956
  timestamp: Time,
1991
1957
  type:
1992
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember5::Type::OrSymbol
1958
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type::OrSymbol
1993
1959
  ).returns(T.attached_class)
1994
1960
  end
1995
1961
  def self.new(
@@ -2009,7 +1975,7 @@ module MetronomeSDK
2009
1975
  segment_id: String,
2010
1976
  timestamp: Time,
2011
1977
  type:
2012
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember5::Type::TaggedSymbol
1978
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type::TaggedSymbol
2013
1979
  }
2014
1980
  )
2015
1981
  end
@@ -2023,7 +1989,7 @@ module MetronomeSDK
2023
1989
  T.type_alias do
2024
1990
  T.all(
2025
1991
  Symbol,
2026
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember5::Type
1992
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type
2027
1993
  )
2028
1994
  end
2029
1995
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -2031,13 +1997,13 @@ module MetronomeSDK
2031
1997
  PREPAID_COMMIT_CREDITED =
2032
1998
  T.let(
2033
1999
  :PREPAID_COMMIT_CREDITED,
2034
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember5::Type::TaggedSymbol
2000
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type::TaggedSymbol
2035
2001
  )
2036
2002
 
2037
2003
  sig do
2038
2004
  override.returns(
2039
2005
  T::Array[
2040
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember5::Type::TaggedSymbol
2006
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type::TaggedSymbol
2041
2007
  ]
2042
2008
  )
2043
2009
  end
@@ -2046,11 +2012,11 @@ module MetronomeSDK
2046
2012
  end
2047
2013
  end
2048
2014
 
2049
- class UnionMember6 < MetronomeSDK::Internal::Type::BaseModel
2015
+ class PostpaidCommitInitialBalanceLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2050
2016
  OrHash =
2051
2017
  T.type_alias do
2052
2018
  T.any(
2053
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember6,
2019
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry,
2054
2020
  MetronomeSDK::Internal::AnyHash
2055
2021
  )
2056
2022
  end
@@ -2063,7 +2029,7 @@ module MetronomeSDK
2063
2029
 
2064
2030
  sig do
2065
2031
  returns(
2066
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember6::Type::TaggedSymbol
2032
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type::TaggedSymbol
2067
2033
  )
2068
2034
  end
2069
2035
  attr_accessor :type
@@ -2073,7 +2039,7 @@ module MetronomeSDK
2073
2039
  amount: Float,
2074
2040
  timestamp: Time,
2075
2041
  type:
2076
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember6::Type::OrSymbol
2042
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type::OrSymbol
2077
2043
  ).returns(T.attached_class)
2078
2044
  end
2079
2045
  def self.new(amount:, timestamp:, type:)
@@ -2085,7 +2051,7 @@ module MetronomeSDK
2085
2051
  amount: Float,
2086
2052
  timestamp: Time,
2087
2053
  type:
2088
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember6::Type::TaggedSymbol
2054
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type::TaggedSymbol
2089
2055
  }
2090
2056
  )
2091
2057
  end
@@ -2099,7 +2065,7 @@ module MetronomeSDK
2099
2065
  T.type_alias do
2100
2066
  T.all(
2101
2067
  Symbol,
2102
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember6::Type
2068
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type
2103
2069
  )
2104
2070
  end
2105
2071
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -2107,13 +2073,13 @@ module MetronomeSDK
2107
2073
  POSTPAID_COMMIT_INITIAL_BALANCE =
2108
2074
  T.let(
2109
2075
  :POSTPAID_COMMIT_INITIAL_BALANCE,
2110
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember6::Type::TaggedSymbol
2076
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type::TaggedSymbol
2111
2077
  )
2112
2078
 
2113
2079
  sig do
2114
2080
  override.returns(
2115
2081
  T::Array[
2116
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember6::Type::TaggedSymbol
2082
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type::TaggedSymbol
2117
2083
  ]
2118
2084
  )
2119
2085
  end
@@ -2122,11 +2088,11 @@ module MetronomeSDK
2122
2088
  end
2123
2089
  end
2124
2090
 
2125
- class UnionMember7 < MetronomeSDK::Internal::Type::BaseModel
2091
+ class PostpaidCommitAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2126
2092
  OrHash =
2127
2093
  T.type_alias do
2128
2094
  T.any(
2129
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember7,
2095
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry,
2130
2096
  MetronomeSDK::Internal::AnyHash
2131
2097
  )
2132
2098
  end
@@ -2145,7 +2111,7 @@ module MetronomeSDK
2145
2111
 
2146
2112
  sig do
2147
2113
  returns(
2148
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember7::Type::TaggedSymbol
2114
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol
2149
2115
  )
2150
2116
  end
2151
2117
  attr_accessor :type
@@ -2157,7 +2123,7 @@ module MetronomeSDK
2157
2123
  segment_id: String,
2158
2124
  timestamp: Time,
2159
2125
  type:
2160
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember7::Type::OrSymbol
2126
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::OrSymbol
2161
2127
  ).returns(T.attached_class)
2162
2128
  end
2163
2129
  def self.new(
@@ -2177,7 +2143,7 @@ module MetronomeSDK
2177
2143
  segment_id: String,
2178
2144
  timestamp: Time,
2179
2145
  type:
2180
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember7::Type::TaggedSymbol
2146
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol
2181
2147
  }
2182
2148
  )
2183
2149
  end
@@ -2191,7 +2157,7 @@ module MetronomeSDK
2191
2157
  T.type_alias do
2192
2158
  T.all(
2193
2159
  Symbol,
2194
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember7::Type
2160
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type
2195
2161
  )
2196
2162
  end
2197
2163
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -2199,13 +2165,13 @@ module MetronomeSDK
2199
2165
  POSTPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION =
2200
2166
  T.let(
2201
2167
  :POSTPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION,
2202
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember7::Type::TaggedSymbol
2168
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol
2203
2169
  )
2204
2170
 
2205
2171
  sig do
2206
2172
  override.returns(
2207
2173
  T::Array[
2208
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember7::Type::TaggedSymbol
2174
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol
2209
2175
  ]
2210
2176
  )
2211
2177
  end
@@ -2214,11 +2180,11 @@ module MetronomeSDK
2214
2180
  end
2215
2181
  end
2216
2182
 
2217
- class UnionMember8 < MetronomeSDK::Internal::Type::BaseModel
2183
+ class PostpaidCommitRolloverLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2218
2184
  OrHash =
2219
2185
  T.type_alias do
2220
2186
  T.any(
2221
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember8,
2187
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry,
2222
2188
  MetronomeSDK::Internal::AnyHash
2223
2189
  )
2224
2190
  end
@@ -2237,7 +2203,7 @@ module MetronomeSDK
2237
2203
 
2238
2204
  sig do
2239
2205
  returns(
2240
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember8::Type::TaggedSymbol
2206
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type::TaggedSymbol
2241
2207
  )
2242
2208
  end
2243
2209
  attr_accessor :type
@@ -2249,7 +2215,7 @@ module MetronomeSDK
2249
2215
  segment_id: String,
2250
2216
  timestamp: Time,
2251
2217
  type:
2252
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember8::Type::OrSymbol
2218
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type::OrSymbol
2253
2219
  ).returns(T.attached_class)
2254
2220
  end
2255
2221
  def self.new(
@@ -2269,7 +2235,7 @@ module MetronomeSDK
2269
2235
  segment_id: String,
2270
2236
  timestamp: Time,
2271
2237
  type:
2272
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember8::Type::TaggedSymbol
2238
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type::TaggedSymbol
2273
2239
  }
2274
2240
  )
2275
2241
  end
@@ -2283,7 +2249,7 @@ module MetronomeSDK
2283
2249
  T.type_alias do
2284
2250
  T.all(
2285
2251
  Symbol,
2286
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember8::Type
2252
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type
2287
2253
  )
2288
2254
  end
2289
2255
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -2291,13 +2257,13 @@ module MetronomeSDK
2291
2257
  POSTPAID_COMMIT_ROLLOVER =
2292
2258
  T.let(
2293
2259
  :POSTPAID_COMMIT_ROLLOVER,
2294
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember8::Type::TaggedSymbol
2260
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type::TaggedSymbol
2295
2261
  )
2296
2262
 
2297
2263
  sig do
2298
2264
  override.returns(
2299
2265
  T::Array[
2300
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember8::Type::TaggedSymbol
2266
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type::TaggedSymbol
2301
2267
  ]
2302
2268
  )
2303
2269
  end
@@ -2306,11 +2272,11 @@ module MetronomeSDK
2306
2272
  end
2307
2273
  end
2308
2274
 
2309
- class UnionMember9 < MetronomeSDK::Internal::Type::BaseModel
2275
+ class PostpaidCommitTrueupLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2310
2276
  OrHash =
2311
2277
  T.type_alias do
2312
2278
  T.any(
2313
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember9,
2279
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry,
2314
2280
  MetronomeSDK::Internal::AnyHash
2315
2281
  )
2316
2282
  end
@@ -2326,7 +2292,7 @@ module MetronomeSDK
2326
2292
 
2327
2293
  sig do
2328
2294
  returns(
2329
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember9::Type::TaggedSymbol
2295
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type::TaggedSymbol
2330
2296
  )
2331
2297
  end
2332
2298
  attr_accessor :type
@@ -2337,7 +2303,7 @@ module MetronomeSDK
2337
2303
  invoice_id: String,
2338
2304
  timestamp: Time,
2339
2305
  type:
2340
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember9::Type::OrSymbol
2306
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type::OrSymbol
2341
2307
  ).returns(T.attached_class)
2342
2308
  end
2343
2309
  def self.new(amount:, invoice_id:, timestamp:, type:)
@@ -2350,7 +2316,7 @@ module MetronomeSDK
2350
2316
  invoice_id: String,
2351
2317
  timestamp: Time,
2352
2318
  type:
2353
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember9::Type::TaggedSymbol
2319
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type::TaggedSymbol
2354
2320
  }
2355
2321
  )
2356
2322
  end
@@ -2364,7 +2330,7 @@ module MetronomeSDK
2364
2330
  T.type_alias do
2365
2331
  T.all(
2366
2332
  Symbol,
2367
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember9::Type
2333
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type
2368
2334
  )
2369
2335
  end
2370
2336
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -2372,13 +2338,13 @@ module MetronomeSDK
2372
2338
  POSTPAID_COMMIT_TRUEUP =
2373
2339
  T.let(
2374
2340
  :POSTPAID_COMMIT_TRUEUP,
2375
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember9::Type::TaggedSymbol
2341
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type::TaggedSymbol
2376
2342
  )
2377
2343
 
2378
2344
  sig do
2379
2345
  override.returns(
2380
2346
  T::Array[
2381
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember9::Type::TaggedSymbol
2347
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type::TaggedSymbol
2382
2348
  ]
2383
2349
  )
2384
2350
  end
@@ -2387,11 +2353,11 @@ module MetronomeSDK
2387
2353
  end
2388
2354
  end
2389
2355
 
2390
- class UnionMember10 < MetronomeSDK::Internal::Type::BaseModel
2356
+ class PrepaidCommitManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2391
2357
  OrHash =
2392
2358
  T.type_alias do
2393
2359
  T.any(
2394
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember10,
2360
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry,
2395
2361
  MetronomeSDK::Internal::AnyHash
2396
2362
  )
2397
2363
  end
@@ -2407,7 +2373,7 @@ module MetronomeSDK
2407
2373
 
2408
2374
  sig do
2409
2375
  returns(
2410
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember10::Type::TaggedSymbol
2376
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type::TaggedSymbol
2411
2377
  )
2412
2378
  end
2413
2379
  attr_accessor :type
@@ -2418,7 +2384,7 @@ module MetronomeSDK
2418
2384
  reason: String,
2419
2385
  timestamp: Time,
2420
2386
  type:
2421
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember10::Type::OrSymbol
2387
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type::OrSymbol
2422
2388
  ).returns(T.attached_class)
2423
2389
  end
2424
2390
  def self.new(amount:, reason:, timestamp:, type:)
@@ -2431,7 +2397,7 @@ module MetronomeSDK
2431
2397
  reason: String,
2432
2398
  timestamp: Time,
2433
2399
  type:
2434
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember10::Type::TaggedSymbol
2400
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type::TaggedSymbol
2435
2401
  }
2436
2402
  )
2437
2403
  end
@@ -2445,7 +2411,7 @@ module MetronomeSDK
2445
2411
  T.type_alias do
2446
2412
  T.all(
2447
2413
  Symbol,
2448
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember10::Type
2414
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type
2449
2415
  )
2450
2416
  end
2451
2417
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -2453,13 +2419,13 @@ module MetronomeSDK
2453
2419
  PREPAID_COMMIT_MANUAL =
2454
2420
  T.let(
2455
2421
  :PREPAID_COMMIT_MANUAL,
2456
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember10::Type::TaggedSymbol
2422
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type::TaggedSymbol
2457
2423
  )
2458
2424
 
2459
2425
  sig do
2460
2426
  override.returns(
2461
2427
  T::Array[
2462
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember10::Type::TaggedSymbol
2428
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type::TaggedSymbol
2463
2429
  ]
2464
2430
  )
2465
2431
  end
@@ -2468,11 +2434,11 @@ module MetronomeSDK
2468
2434
  end
2469
2435
  end
2470
2436
 
2471
- class UnionMember11 < MetronomeSDK::Internal::Type::BaseModel
2437
+ class PostpaidCommitManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2472
2438
  OrHash =
2473
2439
  T.type_alias do
2474
2440
  T.any(
2475
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember11,
2441
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry,
2476
2442
  MetronomeSDK::Internal::AnyHash
2477
2443
  )
2478
2444
  end
@@ -2488,7 +2454,7 @@ module MetronomeSDK
2488
2454
 
2489
2455
  sig do
2490
2456
  returns(
2491
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember11::Type::TaggedSymbol
2457
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type::TaggedSymbol
2492
2458
  )
2493
2459
  end
2494
2460
  attr_accessor :type
@@ -2499,7 +2465,7 @@ module MetronomeSDK
2499
2465
  reason: String,
2500
2466
  timestamp: Time,
2501
2467
  type:
2502
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember11::Type::OrSymbol
2468
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type::OrSymbol
2503
2469
  ).returns(T.attached_class)
2504
2470
  end
2505
2471
  def self.new(amount:, reason:, timestamp:, type:)
@@ -2512,7 +2478,7 @@ module MetronomeSDK
2512
2478
  reason: String,
2513
2479
  timestamp: Time,
2514
2480
  type:
2515
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember11::Type::TaggedSymbol
2481
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type::TaggedSymbol
2516
2482
  }
2517
2483
  )
2518
2484
  end
@@ -2526,7 +2492,7 @@ module MetronomeSDK
2526
2492
  T.type_alias do
2527
2493
  T.all(
2528
2494
  Symbol,
2529
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember11::Type
2495
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type
2530
2496
  )
2531
2497
  end
2532
2498
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -2534,13 +2500,13 @@ module MetronomeSDK
2534
2500
  POSTPAID_COMMIT_MANUAL =
2535
2501
  T.let(
2536
2502
  :POSTPAID_COMMIT_MANUAL,
2537
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember11::Type::TaggedSymbol
2503
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type::TaggedSymbol
2538
2504
  )
2539
2505
 
2540
2506
  sig do
2541
2507
  override.returns(
2542
2508
  T::Array[
2543
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember11::Type::TaggedSymbol
2509
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type::TaggedSymbol
2544
2510
  ]
2545
2511
  )
2546
2512
  end
@@ -2549,11 +2515,11 @@ module MetronomeSDK
2549
2515
  end
2550
2516
  end
2551
2517
 
2552
- class UnionMember12 < MetronomeSDK::Internal::Type::BaseModel
2518
+ class PostpaidCommitExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2553
2519
  OrHash =
2554
2520
  T.type_alias do
2555
2521
  T.any(
2556
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember12,
2522
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry,
2557
2523
  MetronomeSDK::Internal::AnyHash
2558
2524
  )
2559
2525
  end
@@ -2566,7 +2532,7 @@ module MetronomeSDK
2566
2532
 
2567
2533
  sig do
2568
2534
  returns(
2569
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember12::Type::TaggedSymbol
2535
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type::TaggedSymbol
2570
2536
  )
2571
2537
  end
2572
2538
  attr_accessor :type
@@ -2576,7 +2542,7 @@ module MetronomeSDK
2576
2542
  amount: Float,
2577
2543
  timestamp: Time,
2578
2544
  type:
2579
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember12::Type::OrSymbol
2545
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type::OrSymbol
2580
2546
  ).returns(T.attached_class)
2581
2547
  end
2582
2548
  def self.new(amount:, timestamp:, type:)
@@ -2588,7 +2554,7 @@ module MetronomeSDK
2588
2554
  amount: Float,
2589
2555
  timestamp: Time,
2590
2556
  type:
2591
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember12::Type::TaggedSymbol
2557
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type::TaggedSymbol
2592
2558
  }
2593
2559
  )
2594
2560
  end
@@ -2602,7 +2568,7 @@ module MetronomeSDK
2602
2568
  T.type_alias do
2603
2569
  T.all(
2604
2570
  Symbol,
2605
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember12::Type
2571
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type
2606
2572
  )
2607
2573
  end
2608
2574
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -2610,13 +2576,13 @@ module MetronomeSDK
2610
2576
  POSTPAID_COMMIT_EXPIRATION =
2611
2577
  T.let(
2612
2578
  :POSTPAID_COMMIT_EXPIRATION,
2613
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember12::Type::TaggedSymbol
2579
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type::TaggedSymbol
2614
2580
  )
2615
2581
 
2616
2582
  sig do
2617
2583
  override.returns(
2618
2584
  T::Array[
2619
- MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::UnionMember12::Type::TaggedSymbol
2585
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type::TaggedSymbol
2620
2586
  ]
2621
2587
  )
2622
2588
  end
@@ -3218,20 +3184,11 @@ module MetronomeSDK
3218
3184
  end
3219
3185
  attr_accessor :rate_type
3220
3186
 
3221
- sig do
3222
- returns(
3223
- T.nilable(
3224
- MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::CreditType
3225
- )
3226
- )
3227
- end
3187
+ sig { returns(T.nilable(MetronomeSDK::CreditTypeData)) }
3228
3188
  attr_reader :credit_type
3229
3189
 
3230
3190
  sig do
3231
- params(
3232
- credit_type:
3233
- MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::CreditType::OrHash
3234
- ).void
3191
+ params(credit_type: MetronomeSDK::CreditTypeData::OrHash).void
3235
3192
  end
3236
3193
  attr_writer :credit_type
3237
3194
 
@@ -3267,41 +3224,22 @@ module MetronomeSDK
3267
3224
  attr_writer :quantity
3268
3225
 
3269
3226
  # Only set for TIERED rate_type.
3270
- sig do
3271
- returns(
3272
- T.nilable(
3273
- T::Array[
3274
- MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::Tier
3275
- ]
3276
- )
3277
- )
3278
- end
3227
+ sig { returns(T.nilable(T::Array[MetronomeSDK::Tier])) }
3279
3228
  attr_reader :tiers
3280
3229
 
3281
- sig do
3282
- params(
3283
- tiers:
3284
- T::Array[
3285
- MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::Tier::OrHash
3286
- ]
3287
- ).void
3288
- end
3230
+ sig { params(tiers: T::Array[MetronomeSDK::Tier::OrHash]).void }
3289
3231
  attr_writer :tiers
3290
3232
 
3291
3233
  sig do
3292
3234
  params(
3293
3235
  rate_type:
3294
3236
  MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::RateType::OrSymbol,
3295
- credit_type:
3296
- MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::CreditType::OrHash,
3237
+ credit_type: MetronomeSDK::CreditTypeData::OrHash,
3297
3238
  custom_rate: T::Hash[Symbol, T.anything],
3298
3239
  is_prorated: T::Boolean,
3299
3240
  price: Float,
3300
3241
  quantity: Float,
3301
- tiers:
3302
- T::Array[
3303
- MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::Tier::OrHash
3304
- ]
3242
+ tiers: T::Array[MetronomeSDK::Tier::OrHash]
3305
3243
  ).returns(T.attached_class)
3306
3244
  end
3307
3245
  def self.new(
@@ -3328,16 +3266,12 @@ module MetronomeSDK
3328
3266
  {
3329
3267
  rate_type:
3330
3268
  MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::RateType::TaggedSymbol,
3331
- credit_type:
3332
- MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::CreditType,
3269
+ credit_type: MetronomeSDK::CreditTypeData,
3333
3270
  custom_rate: T::Hash[Symbol, T.anything],
3334
3271
  is_prorated: T::Boolean,
3335
3272
  price: Float,
3336
3273
  quantity: Float,
3337
- tiers:
3338
- T::Array[
3339
- MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::Tier
3340
- ]
3274
+ tiers: T::Array[MetronomeSDK::Tier]
3341
3275
  }
3342
3276
  )
3343
3277
  end
@@ -3392,61 +3326,6 @@ module MetronomeSDK
3392
3326
  def self.values
3393
3327
  end
3394
3328
  end
3395
-
3396
- class CreditType < MetronomeSDK::Internal::Type::BaseModel
3397
- OrHash =
3398
- T.type_alias do
3399
- T.any(
3400
- MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::CreditType,
3401
- MetronomeSDK::Internal::AnyHash
3402
- )
3403
- end
3404
-
3405
- sig { returns(String) }
3406
- attr_accessor :id
3407
-
3408
- sig { returns(String) }
3409
- attr_accessor :name
3410
-
3411
- sig do
3412
- params(id: String, name: String).returns(T.attached_class)
3413
- end
3414
- def self.new(id:, name:)
3415
- end
3416
-
3417
- sig { override.returns({ id: String, name: String }) }
3418
- def to_hash
3419
- end
3420
- end
3421
-
3422
- class Tier < MetronomeSDK::Internal::Type::BaseModel
3423
- OrHash =
3424
- T.type_alias do
3425
- T.any(
3426
- MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::Tier,
3427
- MetronomeSDK::Internal::AnyHash
3428
- )
3429
- end
3430
-
3431
- sig { returns(Float) }
3432
- attr_accessor :price
3433
-
3434
- sig { returns(T.nilable(Float)) }
3435
- attr_reader :size
3436
-
3437
- sig { params(size: Float).void }
3438
- attr_writer :size
3439
-
3440
- sig do
3441
- params(price: Float, size: Float).returns(T.attached_class)
3442
- end
3443
- def self.new(price:, size: nil)
3444
- end
3445
-
3446
- sig { override.returns({ price: Float, size: Float }) }
3447
- def to_hash
3448
- end
3449
- end
3450
3329
  end
3451
3330
 
3452
3331
  class Product < MetronomeSDK::Internal::Type::BaseModel
@@ -3547,365 +3426,63 @@ module MetronomeSDK
3547
3426
  end
3548
3427
  end
3549
3428
 
3550
- class ScheduledCharge < MetronomeSDK::Internal::Type::BaseModel
3429
+ class Transition < MetronomeSDK::Internal::Type::BaseModel
3551
3430
  OrHash =
3552
3431
  T.type_alias do
3553
3432
  T.any(
3554
- MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge,
3433
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Transition,
3555
3434
  MetronomeSDK::Internal::AnyHash
3556
3435
  )
3557
3436
  end
3558
3437
 
3559
3438
  sig { returns(String) }
3560
- attr_accessor :id
3439
+ attr_accessor :from_contract_id
3440
+
3441
+ sig { returns(String) }
3442
+ attr_accessor :to_contract_id
3561
3443
 
3562
3444
  sig do
3563
3445
  returns(
3564
- MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Product
3446
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Transition::Type::TaggedSymbol
3565
3447
  )
3566
3448
  end
3567
- attr_reader :product
3449
+ attr_accessor :type
3568
3450
 
3569
3451
  sig do
3570
3452
  params(
3571
- product:
3572
- MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Product::OrHash
3573
- ).void
3453
+ from_contract_id: String,
3454
+ to_contract_id: String,
3455
+ type:
3456
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Transition::Type::OrSymbol
3457
+ ).returns(T.attached_class)
3458
+ end
3459
+ def self.new(from_contract_id:, to_contract_id:, type:)
3574
3460
  end
3575
- attr_writer :product
3576
3461
 
3577
3462
  sig do
3578
- returns(
3579
- MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule
3463
+ override.returns(
3464
+ {
3465
+ from_contract_id: String,
3466
+ to_contract_id: String,
3467
+ type:
3468
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Transition::Type::TaggedSymbol
3469
+ }
3580
3470
  )
3581
3471
  end
3582
- attr_reader :schedule
3583
-
3584
- sig do
3585
- params(
3586
- schedule:
3587
- MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule::OrHash
3588
- ).void
3472
+ def to_hash
3589
3473
  end
3590
- attr_writer :schedule
3591
-
3592
- sig { returns(T.nilable(Time)) }
3593
- attr_reader :archived_at
3594
3474
 
3595
- sig { params(archived_at: Time).void }
3596
- attr_writer :archived_at
3475
+ module Type
3476
+ extend MetronomeSDK::Internal::Type::Enum
3597
3477
 
3598
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
3599
- attr_reader :custom_fields
3600
-
3601
- sig { params(custom_fields: T::Hash[Symbol, String]).void }
3602
- attr_writer :custom_fields
3603
-
3604
- # displayed on invoices
3605
- sig { returns(T.nilable(String)) }
3606
- attr_reader :name
3607
-
3608
- sig { params(name: String).void }
3609
- attr_writer :name
3610
-
3611
- # This field's availability is dependent on your client's configuration.
3612
- sig { returns(T.nilable(String)) }
3613
- attr_reader :netsuite_sales_order_id
3614
-
3615
- sig { params(netsuite_sales_order_id: String).void }
3616
- attr_writer :netsuite_sales_order_id
3617
-
3618
- sig do
3619
- params(
3620
- id: String,
3621
- product:
3622
- MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Product::OrHash,
3623
- schedule:
3624
- MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule::OrHash,
3625
- archived_at: Time,
3626
- custom_fields: T::Hash[Symbol, String],
3627
- name: String,
3628
- netsuite_sales_order_id: String
3629
- ).returns(T.attached_class)
3630
- end
3631
- def self.new(
3632
- id:,
3633
- product:,
3634
- schedule:,
3635
- archived_at: nil,
3636
- custom_fields: nil,
3637
- # displayed on invoices
3638
- name: nil,
3639
- # This field's availability is dependent on your client's configuration.
3640
- netsuite_sales_order_id: nil
3641
- )
3642
- end
3643
-
3644
- sig do
3645
- override.returns(
3646
- {
3647
- id: String,
3648
- product:
3649
- MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Product,
3650
- schedule:
3651
- MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule,
3652
- archived_at: Time,
3653
- custom_fields: T::Hash[Symbol, String],
3654
- name: String,
3655
- netsuite_sales_order_id: String
3656
- }
3657
- )
3658
- end
3659
- def to_hash
3660
- end
3661
-
3662
- class Product < MetronomeSDK::Internal::Type::BaseModel
3663
- OrHash =
3664
- T.type_alias do
3665
- T.any(
3666
- MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Product,
3667
- MetronomeSDK::Internal::AnyHash
3668
- )
3669
- end
3670
-
3671
- sig { returns(String) }
3672
- attr_accessor :id
3673
-
3674
- sig { returns(String) }
3675
- attr_accessor :name
3676
-
3677
- sig { params(id: String, name: String).returns(T.attached_class) }
3678
- def self.new(id:, name:)
3679
- end
3680
-
3681
- sig { override.returns({ id: String, name: String }) }
3682
- def to_hash
3683
- end
3684
- end
3685
-
3686
- class Schedule < MetronomeSDK::Internal::Type::BaseModel
3687
- OrHash =
3688
- T.type_alias do
3689
- T.any(
3690
- MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule,
3691
- MetronomeSDK::Internal::AnyHash
3692
- )
3693
- end
3694
-
3695
- sig do
3696
- returns(
3697
- T.nilable(
3698
- MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule::CreditType
3699
- )
3700
- )
3701
- end
3702
- attr_reader :credit_type
3703
-
3704
- sig do
3705
- params(
3706
- credit_type:
3707
- MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule::CreditType::OrHash
3708
- ).void
3709
- end
3710
- attr_writer :credit_type
3711
-
3712
- sig do
3713
- returns(
3714
- T.nilable(
3715
- T::Array[
3716
- MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule::ScheduleItem
3717
- ]
3718
- )
3719
- )
3720
- end
3721
- attr_reader :schedule_items
3722
-
3723
- sig do
3724
- params(
3725
- schedule_items:
3726
- T::Array[
3727
- MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule::ScheduleItem::OrHash
3728
- ]
3729
- ).void
3730
- end
3731
- attr_writer :schedule_items
3732
-
3733
- sig do
3734
- params(
3735
- credit_type:
3736
- MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule::CreditType::OrHash,
3737
- schedule_items:
3738
- T::Array[
3739
- MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule::ScheduleItem::OrHash
3740
- ]
3741
- ).returns(T.attached_class)
3742
- end
3743
- def self.new(credit_type: nil, schedule_items: nil)
3744
- end
3745
-
3746
- sig do
3747
- override.returns(
3748
- {
3749
- credit_type:
3750
- MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule::CreditType,
3751
- schedule_items:
3752
- T::Array[
3753
- MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule::ScheduleItem
3754
- ]
3755
- }
3756
- )
3757
- end
3758
- def to_hash
3759
- end
3760
-
3761
- class CreditType < MetronomeSDK::Internal::Type::BaseModel
3762
- OrHash =
3763
- T.type_alias do
3764
- T.any(
3765
- MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule::CreditType,
3766
- MetronomeSDK::Internal::AnyHash
3767
- )
3768
- end
3769
-
3770
- sig { returns(String) }
3771
- attr_accessor :id
3772
-
3773
- sig { returns(String) }
3774
- attr_accessor :name
3775
-
3776
- sig do
3777
- params(id: String, name: String).returns(T.attached_class)
3778
- end
3779
- def self.new(id:, name:)
3780
- end
3781
-
3782
- sig { override.returns({ id: String, name: String }) }
3783
- def to_hash
3784
- end
3785
- end
3786
-
3787
- class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
3788
- OrHash =
3789
- T.type_alias do
3790
- T.any(
3791
- MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledCharge::Schedule::ScheduleItem,
3792
- MetronomeSDK::Internal::AnyHash
3793
- )
3794
- end
3795
-
3796
- sig { returns(String) }
3797
- attr_accessor :id
3798
-
3799
- sig { returns(Float) }
3800
- attr_accessor :amount
3801
-
3802
- sig { returns(String) }
3803
- attr_accessor :invoice_id
3804
-
3805
- sig { returns(Float) }
3806
- attr_accessor :quantity
3807
-
3808
- sig { returns(Time) }
3809
- attr_accessor :timestamp
3810
-
3811
- sig { returns(Float) }
3812
- attr_accessor :unit_price
3813
-
3814
- sig do
3815
- params(
3816
- id: String,
3817
- amount: Float,
3818
- invoice_id: String,
3819
- quantity: Float,
3820
- timestamp: Time,
3821
- unit_price: Float
3822
- ).returns(T.attached_class)
3823
- end
3824
- def self.new(
3825
- id:,
3826
- amount:,
3827
- invoice_id:,
3828
- quantity:,
3829
- timestamp:,
3830
- unit_price:
3831
- )
3832
- end
3833
-
3834
- sig do
3835
- override.returns(
3836
- {
3837
- id: String,
3838
- amount: Float,
3839
- invoice_id: String,
3840
- quantity: Float,
3841
- timestamp: Time,
3842
- unit_price: Float
3843
- }
3844
- )
3845
- end
3846
- def to_hash
3847
- end
3848
- end
3849
- end
3850
- end
3851
-
3852
- class Transition < MetronomeSDK::Internal::Type::BaseModel
3853
- OrHash =
3854
- T.type_alias do
3855
- T.any(
3856
- MetronomeSDK::Models::V2::ContractListResponse::Data::Transition,
3857
- MetronomeSDK::Internal::AnyHash
3858
- )
3859
- end
3860
-
3861
- sig { returns(String) }
3862
- attr_accessor :from_contract_id
3863
-
3864
- sig { returns(String) }
3865
- attr_accessor :to_contract_id
3866
-
3867
- sig do
3868
- returns(
3869
- MetronomeSDK::Models::V2::ContractListResponse::Data::Transition::Type::TaggedSymbol
3870
- )
3871
- end
3872
- attr_accessor :type
3873
-
3874
- sig do
3875
- params(
3876
- from_contract_id: String,
3877
- to_contract_id: String,
3878
- type:
3879
- MetronomeSDK::Models::V2::ContractListResponse::Data::Transition::Type::OrSymbol
3880
- ).returns(T.attached_class)
3881
- end
3882
- def self.new(from_contract_id:, to_contract_id:, type:)
3883
- end
3884
-
3885
- sig do
3886
- override.returns(
3887
- {
3888
- from_contract_id: String,
3889
- to_contract_id: String,
3890
- type:
3891
- MetronomeSDK::Models::V2::ContractListResponse::Data::Transition::Type::TaggedSymbol
3892
- }
3893
- )
3894
- end
3895
- def to_hash
3896
- end
3897
-
3898
- module Type
3899
- extend MetronomeSDK::Internal::Type::Enum
3900
-
3901
- TaggedSymbol =
3902
- T.type_alias do
3903
- T.all(
3904
- Symbol,
3905
- MetronomeSDK::Models::V2::ContractListResponse::Data::Transition::Type
3906
- )
3907
- end
3908
- OrSymbol = T.type_alias { T.any(Symbol, String) }
3478
+ TaggedSymbol =
3479
+ T.type_alias do
3480
+ T.all(
3481
+ Symbol,
3482
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Transition::Type
3483
+ )
3484
+ end
3485
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3909
3486
 
3910
3487
  SUPERSEDE =
3911
3488
  T.let(
@@ -4118,19 +3695,12 @@ module MetronomeSDK
4118
3695
  attr_accessor :type
4119
3696
 
4120
3697
  # The schedule that the customer will gain access to the credits.
4121
- sig do
4122
- returns(
4123
- T.nilable(
4124
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule
4125
- )
4126
- )
4127
- end
3698
+ sig { returns(T.nilable(MetronomeSDK::ScheduleDuration)) }
4128
3699
  attr_reader :access_schedule
4129
3700
 
4130
3701
  sig do
4131
3702
  params(
4132
- access_schedule:
4133
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule::OrHash
3703
+ access_schedule: MetronomeSDK::ScheduleDuration::OrHash
4134
3704
  ).void
4135
3705
  end
4136
3706
  attr_writer :access_schedule
@@ -4196,6 +3766,24 @@ module MetronomeSDK
4196
3766
  sig { params(description: String).void }
4197
3767
  attr_writer :description
4198
3768
 
3769
+ # Optional configuration for credit hierarchy access control
3770
+ sig do
3771
+ returns(
3772
+ T.nilable(
3773
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration
3774
+ )
3775
+ )
3776
+ end
3777
+ attr_reader :hierarchy_configuration
3778
+
3779
+ sig do
3780
+ params(
3781
+ hierarchy_configuration:
3782
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::OrHash
3783
+ ).void
3784
+ end
3785
+ attr_writer :hierarchy_configuration
3786
+
4199
3787
  # A list of ordered events that impact the balance of a credit. For example, an
4200
3788
  # invoice deduction or an expiration.
4201
3789
  sig do
@@ -4214,12 +3802,12 @@ module MetronomeSDK
4214
3802
  ledger:
4215
3803
  T::Array[
4216
3804
  T.any(
4217
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember0::OrHash,
4218
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember1::OrHash,
4219
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember2::OrHash,
4220
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember3::OrHash,
4221
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember4::OrHash,
4222
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember5::OrHash
3805
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::OrHash,
3806
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::OrHash,
3807
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::OrHash,
3808
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::OrHash,
3809
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::OrHash,
3810
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry::OrHash
4223
3811
  )
4224
3812
  ]
4225
3813
  ).void
@@ -4285,8 +3873,7 @@ module MetronomeSDK
4285
3873
  MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Product::OrHash,
4286
3874
  type:
4287
3875
  MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Type::OrSymbol,
4288
- access_schedule:
4289
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule::OrHash,
3876
+ access_schedule: MetronomeSDK::ScheduleDuration::OrHash,
4290
3877
  applicable_contract_ids: T::Array[String],
4291
3878
  applicable_product_ids: T::Array[String],
4292
3879
  applicable_product_tags: T::Array[String],
@@ -4295,15 +3882,17 @@ module MetronomeSDK
4295
3882
  MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Contract::OrHash,
4296
3883
  custom_fields: T::Hash[Symbol, String],
4297
3884
  description: String,
3885
+ hierarchy_configuration:
3886
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::OrHash,
4298
3887
  ledger:
4299
3888
  T::Array[
4300
3889
  T.any(
4301
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember0::OrHash,
4302
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember1::OrHash,
4303
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember2::OrHash,
4304
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember3::OrHash,
4305
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember4::OrHash,
4306
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember5::OrHash
3890
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::OrHash,
3891
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::OrHash,
3892
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::OrHash,
3893
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::OrHash,
3894
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::OrHash,
3895
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry::OrHash
4307
3896
  )
4308
3897
  ],
4309
3898
  name: String,
@@ -4337,6 +3926,8 @@ module MetronomeSDK
4337
3926
  contract: nil,
4338
3927
  custom_fields: nil,
4339
3928
  description: nil,
3929
+ # Optional configuration for credit hierarchy access control
3930
+ hierarchy_configuration: nil,
4340
3931
  # A list of ordered events that impact the balance of a credit. For example, an
4341
3932
  # invoice deduction or an expiration.
4342
3933
  ledger: nil,
@@ -4363,8 +3954,7 @@ module MetronomeSDK
4363
3954
  MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Product,
4364
3955
  type:
4365
3956
  MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Type::TaggedSymbol,
4366
- access_schedule:
4367
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule,
3957
+ access_schedule: MetronomeSDK::ScheduleDuration,
4368
3958
  applicable_contract_ids: T::Array[String],
4369
3959
  applicable_product_ids: T::Array[String],
4370
3960
  applicable_product_tags: T::Array[String],
@@ -4373,6 +3963,8 @@ module MetronomeSDK
4373
3963
  MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Contract,
4374
3964
  custom_fields: T::Hash[Symbol, String],
4375
3965
  description: String,
3966
+ hierarchy_configuration:
3967
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration,
4376
3968
  ledger:
4377
3969
  T::Array[
4378
3970
  MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::Variants
@@ -4444,161 +4036,292 @@ module MetronomeSDK
4444
4036
  end
4445
4037
  end
4446
4038
 
4447
- class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
4039
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
4448
4040
  OrHash =
4449
4041
  T.type_alias do
4450
4042
  T.any(
4451
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule,
4043
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Contract,
4452
4044
  MetronomeSDK::Internal::AnyHash
4453
4045
  )
4454
4046
  end
4455
4047
 
4456
- sig do
4457
- returns(
4458
- T::Array[
4459
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule::ScheduleItem
4460
- ]
4461
- )
4048
+ sig { returns(String) }
4049
+ attr_accessor :id
4050
+
4051
+ sig { params(id: String).returns(T.attached_class) }
4052
+ def self.new(id:)
4462
4053
  end
4463
- attr_accessor :schedule_items
4464
4054
 
4465
- sig do
4466
- returns(
4467
- T.nilable(
4468
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule::CreditType
4469
- )
4470
- )
4055
+ sig { override.returns({ id: String }) }
4056
+ def to_hash
4471
4057
  end
4472
- attr_reader :credit_type
4058
+ end
4059
+
4060
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
4061
+ OrHash =
4062
+ T.type_alias do
4063
+ T.any(
4064
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration,
4065
+ MetronomeSDK::Internal::AnyHash
4066
+ )
4067
+ end
4473
4068
 
4474
4069
  sig do
4475
- params(
4476
- credit_type:
4477
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule::CreditType::OrHash
4478
- ).void
4070
+ returns(
4071
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::Variants
4072
+ )
4479
4073
  end
4480
- attr_writer :credit_type
4074
+ attr_accessor :child_access
4481
4075
 
4482
- # The schedule that the customer will gain access to the credits.
4076
+ # Optional configuration for credit hierarchy access control
4483
4077
  sig do
4484
4078
  params(
4485
- schedule_items:
4486
- T::Array[
4487
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule::ScheduleItem::OrHash
4488
- ],
4489
- credit_type:
4490
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule::CreditType::OrHash
4079
+ child_access:
4080
+ T.any(
4081
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::OrHash,
4082
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::OrHash,
4083
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::OrHash
4084
+ )
4491
4085
  ).returns(T.attached_class)
4492
4086
  end
4493
- def self.new(schedule_items:, credit_type: nil)
4087
+ def self.new(child_access:)
4494
4088
  end
4495
4089
 
4496
4090
  sig do
4497
4091
  override.returns(
4498
4092
  {
4499
- schedule_items:
4500
- T::Array[
4501
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule::ScheduleItem
4502
- ],
4503
- credit_type:
4504
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule::CreditType
4093
+ child_access:
4094
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::Variants
4505
4095
  }
4506
4096
  )
4507
4097
  end
4508
4098
  def to_hash
4509
4099
  end
4510
4100
 
4511
- class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
4512
- OrHash =
4513
- T.type_alias do
4514
- T.any(
4515
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule::ScheduleItem,
4516
- MetronomeSDK::Internal::AnyHash
4101
+ module ChildAccess
4102
+ extend MetronomeSDK::Internal::Type::Union
4103
+
4104
+ Variants =
4105
+ T.type_alias do
4106
+ T.any(
4107
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
4108
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
4109
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
4110
+ )
4111
+ end
4112
+
4113
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
4114
+ OrHash =
4115
+ T.type_alias do
4116
+ T.any(
4117
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
4118
+ MetronomeSDK::Internal::AnyHash
4119
+ )
4120
+ end
4121
+
4122
+ sig do
4123
+ returns(
4124
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
4125
+ )
4126
+ end
4127
+ attr_accessor :type
4128
+
4129
+ sig do
4130
+ params(
4131
+ type:
4132
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
4133
+ ).returns(T.attached_class)
4134
+ end
4135
+ def self.new(type:)
4136
+ end
4137
+
4138
+ sig do
4139
+ override.returns(
4140
+ {
4141
+ type:
4142
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
4143
+ }
4144
+ )
4145
+ end
4146
+ def to_hash
4147
+ end
4148
+
4149
+ module Type
4150
+ extend MetronomeSDK::Internal::Type::Enum
4151
+
4152
+ TaggedSymbol =
4153
+ T.type_alias do
4154
+ T.all(
4155
+ Symbol,
4156
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
4157
+ )
4158
+ end
4159
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
4160
+
4161
+ ALL =
4162
+ T.let(
4163
+ :ALL,
4164
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
4165
+ )
4166
+
4167
+ sig do
4168
+ override.returns(
4169
+ T::Array[
4170
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
4171
+ ]
4172
+ )
4173
+ end
4174
+ def self.values
4175
+ end
4176
+ end
4177
+ end
4178
+
4179
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
4180
+ OrHash =
4181
+ T.type_alias do
4182
+ T.any(
4183
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
4184
+ MetronomeSDK::Internal::AnyHash
4185
+ )
4186
+ end
4187
+
4188
+ sig do
4189
+ returns(
4190
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
4517
4191
  )
4518
4192
  end
4193
+ attr_accessor :type
4519
4194
 
4520
- sig { returns(String) }
4521
- attr_accessor :id
4522
-
4523
- sig { returns(Float) }
4524
- attr_accessor :amount
4195
+ sig do
4196
+ params(
4197
+ type:
4198
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
4199
+ ).returns(T.attached_class)
4200
+ end
4201
+ def self.new(type:)
4202
+ end
4525
4203
 
4526
- sig { returns(Time) }
4527
- attr_accessor :ending_before
4204
+ sig do
4205
+ override.returns(
4206
+ {
4207
+ type:
4208
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
4209
+ }
4210
+ )
4211
+ end
4212
+ def to_hash
4213
+ end
4528
4214
 
4529
- sig { returns(Time) }
4530
- attr_accessor :starting_at
4215
+ module Type
4216
+ extend MetronomeSDK::Internal::Type::Enum
4217
+
4218
+ TaggedSymbol =
4219
+ T.type_alias do
4220
+ T.all(
4221
+ Symbol,
4222
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
4223
+ )
4224
+ end
4225
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
4226
+
4227
+ NONE =
4228
+ T.let(
4229
+ :NONE,
4230
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
4231
+ )
4531
4232
 
4532
- sig do
4533
- params(
4534
- id: String,
4535
- amount: Float,
4536
- ending_before: Time,
4537
- starting_at: Time
4538
- ).returns(T.attached_class)
4539
- end
4540
- def self.new(id:, amount:, ending_before:, starting_at:)
4233
+ sig do
4234
+ override.returns(
4235
+ T::Array[
4236
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
4237
+ ]
4238
+ )
4239
+ end
4240
+ def self.values
4241
+ end
4242
+ end
4541
4243
  end
4542
4244
 
4543
- sig do
4544
- override.returns(
4545
- {
4546
- id: String,
4547
- amount: Float,
4548
- ending_before: Time,
4549
- starting_at: Time
4550
- }
4551
- )
4552
- end
4553
- def to_hash
4554
- end
4555
- end
4245
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
4246
+ OrHash =
4247
+ T.type_alias do
4248
+ T.any(
4249
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs,
4250
+ MetronomeSDK::Internal::AnyHash
4251
+ )
4252
+ end
4556
4253
 
4557
- class CreditType < MetronomeSDK::Internal::Type::BaseModel
4558
- OrHash =
4559
- T.type_alias do
4560
- T.any(
4561
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::AccessSchedule::CreditType,
4562
- MetronomeSDK::Internal::AnyHash
4254
+ sig { returns(T::Array[String]) }
4255
+ attr_accessor :contract_ids
4256
+
4257
+ sig do
4258
+ returns(
4259
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
4563
4260
  )
4564
4261
  end
4262
+ attr_accessor :type
4565
4263
 
4566
- sig { returns(String) }
4567
- attr_accessor :id
4264
+ sig do
4265
+ params(
4266
+ contract_ids: T::Array[String],
4267
+ type:
4268
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
4269
+ ).returns(T.attached_class)
4270
+ end
4271
+ def self.new(contract_ids:, type:)
4272
+ end
4568
4273
 
4569
- sig { returns(String) }
4570
- attr_accessor :name
4274
+ sig do
4275
+ override.returns(
4276
+ {
4277
+ contract_ids: T::Array[String],
4278
+ type:
4279
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
4280
+ }
4281
+ )
4282
+ end
4283
+ def to_hash
4284
+ end
4571
4285
 
4572
- sig do
4573
- params(id: String, name: String).returns(T.attached_class)
4574
- end
4575
- def self.new(id:, name:)
4576
- end
4286
+ module Type
4287
+ extend MetronomeSDK::Internal::Type::Enum
4288
+
4289
+ TaggedSymbol =
4290
+ T.type_alias do
4291
+ T.all(
4292
+ Symbol,
4293
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
4294
+ )
4295
+ end
4296
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
4297
+
4298
+ CONTRACT_IDS =
4299
+ T.let(
4300
+ :CONTRACT_IDS,
4301
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
4302
+ )
4577
4303
 
4578
- sig { override.returns({ id: String, name: String }) }
4579
- def to_hash
4304
+ sig do
4305
+ override.returns(
4306
+ T::Array[
4307
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
4308
+ ]
4309
+ )
4310
+ end
4311
+ def self.values
4312
+ end
4313
+ end
4580
4314
  end
4581
- end
4582
- end
4583
4315
 
4584
- class Contract < MetronomeSDK::Internal::Type::BaseModel
4585
- OrHash =
4586
- T.type_alias do
4587
- T.any(
4588
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Contract,
4589
- MetronomeSDK::Internal::AnyHash
4316
+ sig do
4317
+ override.returns(
4318
+ T::Array[
4319
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::Variants
4320
+ ]
4590
4321
  )
4591
4322
  end
4592
-
4593
- sig { returns(String) }
4594
- attr_accessor :id
4595
-
4596
- sig { params(id: String).returns(T.attached_class) }
4597
- def self.new(id:)
4598
- end
4599
-
4600
- sig { override.returns({ id: String }) }
4601
- def to_hash
4323
+ def self.variants
4324
+ end
4602
4325
  end
4603
4326
  end
4604
4327
 
@@ -4608,20 +4331,20 @@ module MetronomeSDK
4608
4331
  Variants =
4609
4332
  T.type_alias do
4610
4333
  T.any(
4611
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember0,
4612
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember1,
4613
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember2,
4614
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember3,
4615
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember4,
4616
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember5
4334
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry,
4335
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry,
4336
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry,
4337
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry,
4338
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry,
4339
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry
4617
4340
  )
4618
4341
  end
4619
4342
 
4620
- class UnionMember0 < MetronomeSDK::Internal::Type::BaseModel
4343
+ class CreditSegmentStartLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
4621
4344
  OrHash =
4622
4345
  T.type_alias do
4623
4346
  T.any(
4624
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember0,
4347
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry,
4625
4348
  MetronomeSDK::Internal::AnyHash
4626
4349
  )
4627
4350
  end
@@ -4637,7 +4360,7 @@ module MetronomeSDK
4637
4360
 
4638
4361
  sig do
4639
4362
  returns(
4640
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember0::Type::TaggedSymbol
4363
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::Type::TaggedSymbol
4641
4364
  )
4642
4365
  end
4643
4366
  attr_accessor :type
@@ -4648,7 +4371,7 @@ module MetronomeSDK
4648
4371
  segment_id: String,
4649
4372
  timestamp: Time,
4650
4373
  type:
4651
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember0::Type::OrSymbol
4374
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::Type::OrSymbol
4652
4375
  ).returns(T.attached_class)
4653
4376
  end
4654
4377
  def self.new(amount:, segment_id:, timestamp:, type:)
@@ -4661,7 +4384,7 @@ module MetronomeSDK
4661
4384
  segment_id: String,
4662
4385
  timestamp: Time,
4663
4386
  type:
4664
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember0::Type::TaggedSymbol
4387
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::Type::TaggedSymbol
4665
4388
  }
4666
4389
  )
4667
4390
  end
@@ -4675,7 +4398,7 @@ module MetronomeSDK
4675
4398
  T.type_alias do
4676
4399
  T.all(
4677
4400
  Symbol,
4678
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember0::Type
4401
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::Type
4679
4402
  )
4680
4403
  end
4681
4404
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -4683,13 +4406,13 @@ module MetronomeSDK
4683
4406
  CREDIT_SEGMENT_START =
4684
4407
  T.let(
4685
4408
  :CREDIT_SEGMENT_START,
4686
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember0::Type::TaggedSymbol
4409
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::Type::TaggedSymbol
4687
4410
  )
4688
4411
 
4689
4412
  sig do
4690
4413
  override.returns(
4691
4414
  T::Array[
4692
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember0::Type::TaggedSymbol
4415
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::Type::TaggedSymbol
4693
4416
  ]
4694
4417
  )
4695
4418
  end
@@ -4698,11 +4421,11 @@ module MetronomeSDK
4698
4421
  end
4699
4422
  end
4700
4423
 
4701
- class UnionMember1 < MetronomeSDK::Internal::Type::BaseModel
4424
+ class CreditAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
4702
4425
  OrHash =
4703
4426
  T.type_alias do
4704
4427
  T.any(
4705
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember1,
4428
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry,
4706
4429
  MetronomeSDK::Internal::AnyHash
4707
4430
  )
4708
4431
  end
@@ -4721,7 +4444,7 @@ module MetronomeSDK
4721
4444
 
4722
4445
  sig do
4723
4446
  returns(
4724
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember1::Type::TaggedSymbol
4447
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol
4725
4448
  )
4726
4449
  end
4727
4450
  attr_accessor :type
@@ -4733,7 +4456,7 @@ module MetronomeSDK
4733
4456
  segment_id: String,
4734
4457
  timestamp: Time,
4735
4458
  type:
4736
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember1::Type::OrSymbol
4459
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type::OrSymbol
4737
4460
  ).returns(T.attached_class)
4738
4461
  end
4739
4462
  def self.new(
@@ -4753,7 +4476,7 @@ module MetronomeSDK
4753
4476
  segment_id: String,
4754
4477
  timestamp: Time,
4755
4478
  type:
4756
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember1::Type::TaggedSymbol
4479
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol
4757
4480
  }
4758
4481
  )
4759
4482
  end
@@ -4767,7 +4490,7 @@ module MetronomeSDK
4767
4490
  T.type_alias do
4768
4491
  T.all(
4769
4492
  Symbol,
4770
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember1::Type
4493
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type
4771
4494
  )
4772
4495
  end
4773
4496
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -4775,13 +4498,13 @@ module MetronomeSDK
4775
4498
  CREDIT_AUTOMATED_INVOICE_DEDUCTION =
4776
4499
  T.let(
4777
4500
  :CREDIT_AUTOMATED_INVOICE_DEDUCTION,
4778
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember1::Type::TaggedSymbol
4501
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol
4779
4502
  )
4780
4503
 
4781
4504
  sig do
4782
4505
  override.returns(
4783
4506
  T::Array[
4784
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember1::Type::TaggedSymbol
4507
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol
4785
4508
  ]
4786
4509
  )
4787
4510
  end
@@ -4790,11 +4513,11 @@ module MetronomeSDK
4790
4513
  end
4791
4514
  end
4792
4515
 
4793
- class UnionMember2 < MetronomeSDK::Internal::Type::BaseModel
4516
+ class CreditExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
4794
4517
  OrHash =
4795
4518
  T.type_alias do
4796
4519
  T.any(
4797
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember2,
4520
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry,
4798
4521
  MetronomeSDK::Internal::AnyHash
4799
4522
  )
4800
4523
  end
@@ -4810,7 +4533,7 @@ module MetronomeSDK
4810
4533
 
4811
4534
  sig do
4812
4535
  returns(
4813
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember2::Type::TaggedSymbol
4536
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::Type::TaggedSymbol
4814
4537
  )
4815
4538
  end
4816
4539
  attr_accessor :type
@@ -4821,7 +4544,7 @@ module MetronomeSDK
4821
4544
  segment_id: String,
4822
4545
  timestamp: Time,
4823
4546
  type:
4824
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember2::Type::OrSymbol
4547
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::Type::OrSymbol
4825
4548
  ).returns(T.attached_class)
4826
4549
  end
4827
4550
  def self.new(amount:, segment_id:, timestamp:, type:)
@@ -4834,7 +4557,7 @@ module MetronomeSDK
4834
4557
  segment_id: String,
4835
4558
  timestamp: Time,
4836
4559
  type:
4837
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember2::Type::TaggedSymbol
4560
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::Type::TaggedSymbol
4838
4561
  }
4839
4562
  )
4840
4563
  end
@@ -4848,7 +4571,7 @@ module MetronomeSDK
4848
4571
  T.type_alias do
4849
4572
  T.all(
4850
4573
  Symbol,
4851
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember2::Type
4574
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::Type
4852
4575
  )
4853
4576
  end
4854
4577
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -4856,13 +4579,13 @@ module MetronomeSDK
4856
4579
  CREDIT_EXPIRATION =
4857
4580
  T.let(
4858
4581
  :CREDIT_EXPIRATION,
4859
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember2::Type::TaggedSymbol
4582
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::Type::TaggedSymbol
4860
4583
  )
4861
4584
 
4862
4585
  sig do
4863
4586
  override.returns(
4864
4587
  T::Array[
4865
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember2::Type::TaggedSymbol
4588
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::Type::TaggedSymbol
4866
4589
  ]
4867
4590
  )
4868
4591
  end
@@ -4871,11 +4594,11 @@ module MetronomeSDK
4871
4594
  end
4872
4595
  end
4873
4596
 
4874
- class UnionMember3 < MetronomeSDK::Internal::Type::BaseModel
4597
+ class CreditCanceledLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
4875
4598
  OrHash =
4876
4599
  T.type_alias do
4877
4600
  T.any(
4878
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember3,
4601
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry,
4879
4602
  MetronomeSDK::Internal::AnyHash
4880
4603
  )
4881
4604
  end
@@ -4894,7 +4617,7 @@ module MetronomeSDK
4894
4617
 
4895
4618
  sig do
4896
4619
  returns(
4897
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember3::Type::TaggedSymbol
4620
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type::TaggedSymbol
4898
4621
  )
4899
4622
  end
4900
4623
  attr_accessor :type
@@ -4906,7 +4629,7 @@ module MetronomeSDK
4906
4629
  segment_id: String,
4907
4630
  timestamp: Time,
4908
4631
  type:
4909
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember3::Type::OrSymbol
4632
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type::OrSymbol
4910
4633
  ).returns(T.attached_class)
4911
4634
  end
4912
4635
  def self.new(
@@ -4926,7 +4649,7 @@ module MetronomeSDK
4926
4649
  segment_id: String,
4927
4650
  timestamp: Time,
4928
4651
  type:
4929
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember3::Type::TaggedSymbol
4652
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type::TaggedSymbol
4930
4653
  }
4931
4654
  )
4932
4655
  end
@@ -4940,7 +4663,7 @@ module MetronomeSDK
4940
4663
  T.type_alias do
4941
4664
  T.all(
4942
4665
  Symbol,
4943
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember3::Type
4666
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type
4944
4667
  )
4945
4668
  end
4946
4669
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -4948,13 +4671,13 @@ module MetronomeSDK
4948
4671
  CREDIT_CANCELED =
4949
4672
  T.let(
4950
4673
  :CREDIT_CANCELED,
4951
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember3::Type::TaggedSymbol
4674
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type::TaggedSymbol
4952
4675
  )
4953
4676
 
4954
4677
  sig do
4955
4678
  override.returns(
4956
4679
  T::Array[
4957
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember3::Type::TaggedSymbol
4680
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type::TaggedSymbol
4958
4681
  ]
4959
4682
  )
4960
4683
  end
@@ -4963,11 +4686,11 @@ module MetronomeSDK
4963
4686
  end
4964
4687
  end
4965
4688
 
4966
- class UnionMember4 < MetronomeSDK::Internal::Type::BaseModel
4689
+ class CreditCreditedLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
4967
4690
  OrHash =
4968
4691
  T.type_alias do
4969
4692
  T.any(
4970
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember4,
4693
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry,
4971
4694
  MetronomeSDK::Internal::AnyHash
4972
4695
  )
4973
4696
  end
@@ -4986,7 +4709,7 @@ module MetronomeSDK
4986
4709
 
4987
4710
  sig do
4988
4711
  returns(
4989
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember4::Type::TaggedSymbol
4712
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type::TaggedSymbol
4990
4713
  )
4991
4714
  end
4992
4715
  attr_accessor :type
@@ -4998,7 +4721,7 @@ module MetronomeSDK
4998
4721
  segment_id: String,
4999
4722
  timestamp: Time,
5000
4723
  type:
5001
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember4::Type::OrSymbol
4724
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type::OrSymbol
5002
4725
  ).returns(T.attached_class)
5003
4726
  end
5004
4727
  def self.new(
@@ -5018,7 +4741,7 @@ module MetronomeSDK
5018
4741
  segment_id: String,
5019
4742
  timestamp: Time,
5020
4743
  type:
5021
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember4::Type::TaggedSymbol
4744
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type::TaggedSymbol
5022
4745
  }
5023
4746
  )
5024
4747
  end
@@ -5032,7 +4755,7 @@ module MetronomeSDK
5032
4755
  T.type_alias do
5033
4756
  T.all(
5034
4757
  Symbol,
5035
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember4::Type
4758
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type
5036
4759
  )
5037
4760
  end
5038
4761
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -5040,13 +4763,13 @@ module MetronomeSDK
5040
4763
  CREDIT_CREDITED =
5041
4764
  T.let(
5042
4765
  :CREDIT_CREDITED,
5043
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember4::Type::TaggedSymbol
4766
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type::TaggedSymbol
5044
4767
  )
5045
4768
 
5046
4769
  sig do
5047
4770
  override.returns(
5048
4771
  T::Array[
5049
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember4::Type::TaggedSymbol
4772
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type::TaggedSymbol
5050
4773
  ]
5051
4774
  )
5052
4775
  end
@@ -5055,11 +4778,11 @@ module MetronomeSDK
5055
4778
  end
5056
4779
  end
5057
4780
 
5058
- class UnionMember5 < MetronomeSDK::Internal::Type::BaseModel
4781
+ class CreditManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
5059
4782
  OrHash =
5060
4783
  T.type_alias do
5061
4784
  T.any(
5062
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember5,
4785
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry,
5063
4786
  MetronomeSDK::Internal::AnyHash
5064
4787
  )
5065
4788
  end
@@ -5075,7 +4798,7 @@ module MetronomeSDK
5075
4798
 
5076
4799
  sig do
5077
4800
  returns(
5078
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember5::Type::TaggedSymbol
4801
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry::Type::TaggedSymbol
5079
4802
  )
5080
4803
  end
5081
4804
  attr_accessor :type
@@ -5086,7 +4809,7 @@ module MetronomeSDK
5086
4809
  reason: String,
5087
4810
  timestamp: Time,
5088
4811
  type:
5089
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember5::Type::OrSymbol
4812
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry::Type::OrSymbol
5090
4813
  ).returns(T.attached_class)
5091
4814
  end
5092
4815
  def self.new(amount:, reason:, timestamp:, type:)
@@ -5099,7 +4822,7 @@ module MetronomeSDK
5099
4822
  reason: String,
5100
4823
  timestamp: Time,
5101
4824
  type:
5102
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember5::Type::TaggedSymbol
4825
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry::Type::TaggedSymbol
5103
4826
  }
5104
4827
  )
5105
4828
  end
@@ -5113,7 +4836,7 @@ module MetronomeSDK
5113
4836
  T.type_alias do
5114
4837
  T.all(
5115
4838
  Symbol,
5116
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember5::Type
4839
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry::Type
5117
4840
  )
5118
4841
  end
5119
4842
  OrSymbol = T.type_alias { T.any(Symbol, String) }
@@ -5121,13 +4844,13 @@ module MetronomeSDK
5121
4844
  CREDIT_MANUAL =
5122
4845
  T.let(
5123
4846
  :CREDIT_MANUAL,
5124
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember5::Type::TaggedSymbol
4847
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry::Type::TaggedSymbol
5125
4848
  )
5126
4849
 
5127
4850
  sig do
5128
4851
  override.returns(
5129
4852
  T::Array[
5130
- MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::UnionMember5::Type::TaggedSymbol
4853
+ MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry::Type::TaggedSymbol
5131
4854
  ]
5132
4855
  )
5133
4856
  end
@@ -5376,199 +5099,58 @@ module MetronomeSDK
5376
5099
  end
5377
5100
  end
5378
5101
 
5379
- class Discount < MetronomeSDK::Internal::Type::BaseModel
5380
- OrHash =
5102
+ # Either a **parent** configuration with a list of children or a **child**
5103
+ # configuration with a single parent.
5104
+ module HierarchyConfiguration
5105
+ extend MetronomeSDK::Internal::Type::Union
5106
+
5107
+ Variants =
5381
5108
  T.type_alias do
5382
5109
  T.any(
5383
- MetronomeSDK::Models::V2::ContractListResponse::Data::Discount,
5384
- MetronomeSDK::Internal::AnyHash
5110
+ MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration,
5111
+ MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration
5385
5112
  )
5386
5113
  end
5387
5114
 
5388
- sig { returns(String) }
5389
- attr_accessor :id
5390
-
5391
- sig do
5392
- returns(
5393
- MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Product
5394
- )
5395
- end
5396
- attr_reader :product
5397
-
5398
- sig do
5399
- params(
5400
- product:
5401
- MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Product::OrHash
5402
- ).void
5403
- end
5404
- attr_writer :product
5405
-
5406
- sig do
5407
- returns(
5408
- MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule
5409
- )
5410
- end
5411
- attr_reader :schedule
5412
-
5413
- sig do
5414
- params(
5415
- schedule:
5416
- MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule::OrHash
5417
- ).void
5418
- end
5419
- attr_writer :schedule
5420
-
5421
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
5422
- attr_reader :custom_fields
5423
-
5424
- sig { params(custom_fields: T::Hash[Symbol, String]).void }
5425
- attr_writer :custom_fields
5426
-
5427
- sig { returns(T.nilable(String)) }
5428
- attr_reader :name
5429
-
5430
- sig { params(name: String).void }
5431
- attr_writer :name
5432
-
5433
- # This field's availability is dependent on your client's configuration.
5434
- sig { returns(T.nilable(String)) }
5435
- attr_reader :netsuite_sales_order_id
5436
-
5437
- sig { params(netsuite_sales_order_id: String).void }
5438
- attr_writer :netsuite_sales_order_id
5439
-
5440
- sig do
5441
- params(
5442
- id: String,
5443
- product:
5444
- MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Product::OrHash,
5445
- schedule:
5446
- MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule::OrHash,
5447
- custom_fields: T::Hash[Symbol, String],
5448
- name: String,
5449
- netsuite_sales_order_id: String
5450
- ).returns(T.attached_class)
5451
- end
5452
- def self.new(
5453
- id:,
5454
- product:,
5455
- schedule:,
5456
- custom_fields: nil,
5457
- name: nil,
5458
- # This field's availability is dependent on your client's configuration.
5459
- netsuite_sales_order_id: nil
5460
- )
5461
- end
5462
-
5463
- sig do
5464
- override.returns(
5465
- {
5466
- id: String,
5467
- product:
5468
- MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Product,
5469
- schedule:
5470
- MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule,
5471
- custom_fields: T::Hash[Symbol, String],
5472
- name: String,
5473
- netsuite_sales_order_id: String
5474
- }
5475
- )
5476
- end
5477
- def to_hash
5478
- end
5479
-
5480
- class Product < MetronomeSDK::Internal::Type::BaseModel
5481
- OrHash =
5482
- T.type_alias do
5483
- T.any(
5484
- MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Product,
5485
- MetronomeSDK::Internal::AnyHash
5486
- )
5487
- end
5488
-
5489
- sig { returns(String) }
5490
- attr_accessor :id
5491
-
5492
- sig { returns(String) }
5493
- attr_accessor :name
5494
-
5495
- sig { params(id: String, name: String).returns(T.attached_class) }
5496
- def self.new(id:, name:)
5497
- end
5498
-
5499
- sig { override.returns({ id: String, name: String }) }
5500
- def to_hash
5501
- end
5502
- end
5503
-
5504
- class Schedule < MetronomeSDK::Internal::Type::BaseModel
5115
+ class ParentHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
5505
5116
  OrHash =
5506
5117
  T.type_alias do
5507
5118
  T.any(
5508
- MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule,
5119
+ MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration,
5509
5120
  MetronomeSDK::Internal::AnyHash
5510
5121
  )
5511
5122
  end
5512
5123
 
5124
+ # List of contracts that belong to this parent.
5513
5125
  sig do
5514
5126
  returns(
5515
- T.nilable(
5516
- MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule::CreditType
5517
- )
5518
- )
5519
- end
5520
- attr_reader :credit_type
5521
-
5522
- sig do
5523
- params(
5524
- credit_type:
5525
- MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule::CreditType::OrHash
5526
- ).void
5527
- end
5528
- attr_writer :credit_type
5529
-
5530
- sig do
5531
- returns(
5532
- T.nilable(
5533
- T::Array[
5534
- MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule::ScheduleItem
5535
- ]
5536
- )
5127
+ T::Array[
5128
+ MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration::Child
5129
+ ]
5537
5130
  )
5538
5131
  end
5539
- attr_reader :schedule_items
5540
-
5541
- sig do
5542
- params(
5543
- schedule_items:
5544
- T::Array[
5545
- MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule::ScheduleItem::OrHash
5546
- ]
5547
- ).void
5548
- end
5549
- attr_writer :schedule_items
5132
+ attr_accessor :children
5550
5133
 
5551
5134
  sig do
5552
5135
  params(
5553
- credit_type:
5554
- MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule::CreditType::OrHash,
5555
- schedule_items:
5136
+ children:
5556
5137
  T::Array[
5557
- MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule::ScheduleItem::OrHash
5138
+ MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration::Child::OrHash
5558
5139
  ]
5559
5140
  ).returns(T.attached_class)
5560
5141
  end
5561
- def self.new(credit_type: nil, schedule_items: nil)
5142
+ def self.new(
5143
+ # List of contracts that belong to this parent.
5144
+ children:
5145
+ )
5562
5146
  end
5563
5147
 
5564
5148
  sig do
5565
5149
  override.returns(
5566
5150
  {
5567
- credit_type:
5568
- MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule::CreditType,
5569
- schedule_items:
5151
+ children:
5570
5152
  T::Array[
5571
- MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule::ScheduleItem
5153
+ MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration::Child
5572
5154
  ]
5573
5155
  }
5574
5156
  )
@@ -5576,95 +5158,126 @@ module MetronomeSDK
5576
5158
  def to_hash
5577
5159
  end
5578
5160
 
5579
- class CreditType < MetronomeSDK::Internal::Type::BaseModel
5161
+ class Child < MetronomeSDK::Internal::Type::BaseModel
5580
5162
  OrHash =
5581
5163
  T.type_alias do
5582
5164
  T.any(
5583
- MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule::CreditType,
5165
+ MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration::Child,
5584
5166
  MetronomeSDK::Internal::AnyHash
5585
5167
  )
5586
5168
  end
5587
5169
 
5588
5170
  sig { returns(String) }
5589
- attr_accessor :id
5171
+ attr_accessor :contract_id
5590
5172
 
5591
5173
  sig { returns(String) }
5592
- attr_accessor :name
5174
+ attr_accessor :customer_id
5593
5175
 
5594
5176
  sig do
5595
- params(id: String, name: String).returns(T.attached_class)
5177
+ params(contract_id: String, customer_id: String).returns(
5178
+ T.attached_class
5179
+ )
5596
5180
  end
5597
- def self.new(id:, name:)
5181
+ def self.new(contract_id:, customer_id:)
5182
+ end
5183
+
5184
+ sig do
5185
+ override.returns({ contract_id: String, customer_id: String })
5186
+ end
5187
+ def to_hash
5598
5188
  end
5189
+ end
5190
+ end
5191
+
5192
+ class ChildHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
5193
+ OrHash =
5194
+ T.type_alias do
5195
+ T.any(
5196
+ MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration,
5197
+ MetronomeSDK::Internal::AnyHash
5198
+ )
5199
+ end
5200
+
5201
+ # The single parent contract/customer for this child.
5202
+ sig do
5203
+ returns(
5204
+ MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration::Parent
5205
+ )
5206
+ end
5207
+ attr_reader :parent
5208
+
5209
+ sig do
5210
+ params(
5211
+ parent:
5212
+ MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration::Parent::OrHash
5213
+ ).void
5214
+ end
5215
+ attr_writer :parent
5599
5216
 
5600
- sig { override.returns({ id: String, name: String }) }
5601
- def to_hash
5602
- end
5217
+ sig do
5218
+ params(
5219
+ parent:
5220
+ MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration::Parent::OrHash
5221
+ ).returns(T.attached_class)
5222
+ end
5223
+ def self.new(
5224
+ # The single parent contract/customer for this child.
5225
+ parent:
5226
+ )
5227
+ end
5228
+
5229
+ sig do
5230
+ override.returns(
5231
+ {
5232
+ parent:
5233
+ MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration::Parent
5234
+ }
5235
+ )
5236
+ end
5237
+ def to_hash
5603
5238
  end
5604
5239
 
5605
- class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
5240
+ class Parent < MetronomeSDK::Internal::Type::BaseModel
5606
5241
  OrHash =
5607
5242
  T.type_alias do
5608
5243
  T.any(
5609
- MetronomeSDK::Models::V2::ContractListResponse::Data::Discount::Schedule::ScheduleItem,
5244
+ MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration::Parent,
5610
5245
  MetronomeSDK::Internal::AnyHash
5611
5246
  )
5612
5247
  end
5613
5248
 
5614
5249
  sig { returns(String) }
5615
- attr_accessor :id
5616
-
5617
- sig { returns(Float) }
5618
- attr_accessor :amount
5250
+ attr_accessor :contract_id
5619
5251
 
5620
5252
  sig { returns(String) }
5621
- attr_accessor :invoice_id
5622
-
5623
- sig { returns(Float) }
5624
- attr_accessor :quantity
5625
-
5626
- sig { returns(Time) }
5627
- attr_accessor :timestamp
5628
-
5629
- sig { returns(Float) }
5630
- attr_accessor :unit_price
5253
+ attr_accessor :customer_id
5631
5254
 
5255
+ # The single parent contract/customer for this child.
5632
5256
  sig do
5633
- params(
5634
- id: String,
5635
- amount: Float,
5636
- invoice_id: String,
5637
- quantity: Float,
5638
- timestamp: Time,
5639
- unit_price: Float
5640
- ).returns(T.attached_class)
5257
+ params(contract_id: String, customer_id: String).returns(
5258
+ T.attached_class
5259
+ )
5641
5260
  end
5642
- def self.new(
5643
- id:,
5644
- amount:,
5645
- invoice_id:,
5646
- quantity:,
5647
- timestamp:,
5648
- unit_price:
5649
- )
5261
+ def self.new(contract_id:, customer_id:)
5650
5262
  end
5651
5263
 
5652
5264
  sig do
5653
- override.returns(
5654
- {
5655
- id: String,
5656
- amount: Float,
5657
- invoice_id: String,
5658
- quantity: Float,
5659
- timestamp: Time,
5660
- unit_price: Float
5661
- }
5662
- )
5265
+ override.returns({ contract_id: String, customer_id: String })
5663
5266
  end
5664
5267
  def to_hash
5665
5268
  end
5666
5269
  end
5667
5270
  end
5271
+
5272
+ sig do
5273
+ override.returns(
5274
+ T::Array[
5275
+ MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::Variants
5276
+ ]
5277
+ )
5278
+ end
5279
+ def self.variants
5280
+ end
5668
5281
  end
5669
5282
 
5670
5283
  # Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list
@@ -5759,6 +5372,14 @@ module MetronomeSDK
5759
5372
  sig { returns(Float) }
5760
5373
  attr_accessor :threshold_amount
5761
5374
 
5375
+ # If provided, the threshold, recharge-to amount, and the resulting threshold
5376
+ # commit amount will be in terms of this credit type instead of the fiat currency.
5377
+ sig { returns(T.nilable(String)) }
5378
+ attr_reader :custom_credit_type_id
5379
+
5380
+ sig { params(custom_credit_type_id: String).void }
5381
+ attr_writer :custom_credit_type_id
5382
+
5762
5383
  sig do
5763
5384
  params(
5764
5385
  commit:
@@ -5767,7 +5388,8 @@ module MetronomeSDK
5767
5388
  payment_gate_config:
5768
5389
  MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::OrHash,
5769
5390
  recharge_to_amount: Float,
5770
- threshold_amount: Float
5391
+ threshold_amount: Float,
5392
+ custom_credit_type_id: String
5771
5393
  ).returns(T.attached_class)
5772
5394
  end
5773
5395
  def self.new(
@@ -5781,7 +5403,10 @@ module MetronomeSDK
5781
5403
  recharge_to_amount:,
5782
5404
  # Specify the threshold amount for the contract. Each time the contract's balance
5783
5405
  # lowers to this amount, a threshold charge will be initiated.
5784
- threshold_amount:
5406
+ threshold_amount:,
5407
+ # If provided, the threshold, recharge-to amount, and the resulting threshold
5408
+ # commit amount will be in terms of this credit type instead of the fiat currency.
5409
+ custom_credit_type_id: nil
5785
5410
  )
5786
5411
  end
5787
5412
 
@@ -5794,7 +5419,8 @@ module MetronomeSDK
5794
5419
  payment_gate_config:
5795
5420
  MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig,
5796
5421
  recharge_to_amount: Float,
5797
- threshold_amount: Float
5422
+ threshold_amount: Float,
5423
+ custom_credit_type_id: String
5798
5424
  }
5799
5425
  )
5800
5426
  end
@@ -5815,17 +5441,18 @@ module MetronomeSDK
5815
5441
  sig { returns(String) }
5816
5442
  attr_accessor :product_id
5817
5443
 
5818
- # Which products the threshold commit applies to. If both applicable_product_ids
5819
- # and applicable_product_tags are not provided, the commit applies to all
5820
- # products.
5444
+ # Which products the threshold commit applies to. If applicable_product_ids,
5445
+ # applicable_product_tags or specifiers are not provided, the commit applies to
5446
+ # all products.
5821
5447
  sig { returns(T.nilable(T::Array[String])) }
5822
5448
  attr_reader :applicable_product_ids
5823
5449
 
5824
5450
  sig { params(applicable_product_ids: T::Array[String]).void }
5825
5451
  attr_writer :applicable_product_ids
5826
5452
 
5827
- # Which tags the threshold commit applies to. If both applicable_product_ids and
5828
- # applicable_product_tags are not provided, the commit applies to all products.
5453
+ # Which tags the threshold commit applies to. If applicable_product_ids,
5454
+ # applicable_product_tags or specifiers are not provided, the commit applies to
5455
+ # all products.
5829
5456
  sig { returns(T.nilable(T::Array[String])) }
5830
5457
  attr_reader :applicable_product_tags
5831
5458
 
@@ -5888,12 +5515,13 @@ module MetronomeSDK
5888
5515
  # The commit product that will be used to generate the line item for commit
5889
5516
  # payment.
5890
5517
  product_id:,
5891
- # Which products the threshold commit applies to. If both applicable_product_ids
5892
- # and applicable_product_tags are not provided, the commit applies to all
5893
- # products.
5518
+ # Which products the threshold commit applies to. If applicable_product_ids,
5519
+ # applicable_product_tags or specifiers are not provided, the commit applies to
5520
+ # all products.
5894
5521
  applicable_product_ids: nil,
5895
- # Which tags the threshold commit applies to. If both applicable_product_ids and
5896
- # applicable_product_tags are not provided, the commit applies to all products.
5522
+ # Which tags the threshold commit applies to. If applicable_product_ids,
5523
+ # applicable_product_tags or specifiers are not provided, the commit applies to
5524
+ # all products.
5897
5525
  applicable_product_tags: nil,
5898
5526
  description: nil,
5899
5527
  # Specify the name of the line item for the threshold charge. If left blank, it
@@ -6021,7 +5649,25 @@ module MetronomeSDK
6021
5649
  end
6022
5650
  attr_accessor :payment_gate_type
6023
5651
 
6024
- # Only applicable if using Stripe as your payment gateway through Metronome.
5652
+ # Only applicable if using PRECALCULATED as your tax type.
5653
+ sig do
5654
+ returns(
5655
+ T.nilable(
5656
+ MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
5657
+ )
5658
+ )
5659
+ end
5660
+ attr_reader :precalculated_tax_config
5661
+
5662
+ sig do
5663
+ params(
5664
+ precalculated_tax_config:
5665
+ MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig::OrHash
5666
+ ).void
5667
+ end
5668
+ attr_writer :precalculated_tax_config
5669
+
5670
+ # Only applicable if using STRIPE as your payment gateway type.
6025
5671
  sig do
6026
5672
  returns(
6027
5673
  T.nilable(
@@ -6063,6 +5709,8 @@ module MetronomeSDK
6063
5709
  params(
6064
5710
  payment_gate_type:
6065
5711
  MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType::OrSymbol,
5712
+ precalculated_tax_config:
5713
+ MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig::OrHash,
6066
5714
  stripe_config:
6067
5715
  MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::OrHash,
6068
5716
  tax_type:
@@ -6075,7 +5723,9 @@ module MetronomeSDK
6075
5723
  # facilitate payment using your own payment integration. Select NONE if you do not
6076
5724
  # wish to payment gate the commit balance.
6077
5725
  payment_gate_type:,
6078
- # Only applicable if using Stripe as your payment gateway through Metronome.
5726
+ # Only applicable if using PRECALCULATED as your tax type.
5727
+ precalculated_tax_config: nil,
5728
+ # Only applicable if using STRIPE as your payment gateway type.
6079
5729
  stripe_config: nil,
6080
5730
  # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
6081
5731
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
@@ -6089,6 +5739,8 @@ module MetronomeSDK
6089
5739
  {
6090
5740
  payment_gate_type:
6091
5741
  MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol,
5742
+ precalculated_tax_config:
5743
+ MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
6092
5744
  stripe_config:
6093
5745
  MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig,
6094
5746
  tax_type:
@@ -6142,6 +5794,51 @@ module MetronomeSDK
6142
5794
  end
6143
5795
  end
6144
5796
 
5797
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
5798
+ OrHash =
5799
+ T.type_alias do
5800
+ T.any(
5801
+ MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
5802
+ MetronomeSDK::Internal::AnyHash
5803
+ )
5804
+ end
5805
+
5806
+ # Amount of tax to be applied. This should be in the same currency and
5807
+ # denomination as the commit's invoice schedule
5808
+ sig { returns(Float) }
5809
+ attr_accessor :tax_amount
5810
+
5811
+ # Name of the tax to be applied. This may be used in an invoice line item
5812
+ # description.
5813
+ sig { returns(T.nilable(String)) }
5814
+ attr_reader :tax_name
5815
+
5816
+ sig { params(tax_name: String).void }
5817
+ attr_writer :tax_name
5818
+
5819
+ # Only applicable if using PRECALCULATED as your tax type.
5820
+ sig do
5821
+ params(tax_amount: Float, tax_name: String).returns(
5822
+ T.attached_class
5823
+ )
5824
+ end
5825
+ def self.new(
5826
+ # Amount of tax to be applied. This should be in the same currency and
5827
+ # denomination as the commit's invoice schedule
5828
+ tax_amount:,
5829
+ # Name of the tax to be applied. This may be used in an invoice line item
5830
+ # description.
5831
+ tax_name: nil
5832
+ )
5833
+ end
5834
+
5835
+ sig do
5836
+ override.returns({ tax_amount: Float, tax_name: String })
5837
+ end
5838
+ def to_hash
5839
+ end
5840
+ end
5841
+
6145
5842
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
6146
5843
  OrHash =
6147
5844
  T.type_alias do
@@ -6159,16 +5856,28 @@ module MetronomeSDK
6159
5856
  end
6160
5857
  attr_accessor :payment_type
6161
5858
 
6162
- # Only applicable if using Stripe as your payment gateway through Metronome.
5859
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
5860
+ # your payment type.
5861
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
5862
+ attr_reader :invoice_metadata
5863
+
5864
+ sig { params(invoice_metadata: T::Hash[Symbol, String]).void }
5865
+ attr_writer :invoice_metadata
5866
+
5867
+ # Only applicable if using STRIPE as your payment gateway type.
6163
5868
  sig do
6164
5869
  params(
6165
5870
  payment_type:
6166
- MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol
5871
+ MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol,
5872
+ invoice_metadata: T::Hash[Symbol, String]
6167
5873
  ).returns(T.attached_class)
6168
5874
  end
6169
5875
  def self.new(
6170
5876
  # If left blank, will default to INVOICE
6171
- payment_type:
5877
+ payment_type:,
5878
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
5879
+ # your payment type.
5880
+ invoice_metadata: nil
6172
5881
  )
6173
5882
  end
6174
5883
 
@@ -6176,7 +5885,8 @@ module MetronomeSDK
6176
5885
  override.returns(
6177
5886
  {
6178
5887
  payment_type:
6179
- MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
5888
+ MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol,
5889
+ invoice_metadata: T::Hash[Symbol, String]
6180
5890
  }
6181
5891
  )
6182
5892
  end
@@ -6244,6 +5954,16 @@ module MetronomeSDK
6244
5954
  :STRIPE,
6245
5955
  MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
6246
5956
  )
5957
+ ANROK =
5958
+ T.let(
5959
+ :ANROK,
5960
+ MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
5961
+ )
5962
+ PRECALCULATED =
5963
+ T.let(
5964
+ :PRECALCULATED,
5965
+ MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
5966
+ )
6247
5967
 
6248
5968
  sig do
6249
5969
  override.returns(
@@ -6258,102 +5978,6 @@ module MetronomeSDK
6258
5978
  end
6259
5979
  end
6260
5980
 
6261
- class ProfessionalService < MetronomeSDK::Internal::Type::BaseModel
6262
- OrHash =
6263
- T.type_alias do
6264
- T.any(
6265
- MetronomeSDK::Models::V2::ContractListResponse::Data::ProfessionalService,
6266
- MetronomeSDK::Internal::AnyHash
6267
- )
6268
- end
6269
-
6270
- sig { returns(String) }
6271
- attr_accessor :id
6272
-
6273
- # Maximum amount for the term.
6274
- sig { returns(Float) }
6275
- attr_accessor :max_amount
6276
-
6277
- sig { returns(String) }
6278
- attr_accessor :product_id
6279
-
6280
- # Quantity for the charge. Will be multiplied by unit_price to determine the
6281
- # amount.
6282
- sig { returns(Float) }
6283
- attr_accessor :quantity
6284
-
6285
- # Unit price for the charge. Will be multiplied by quantity to determine the
6286
- # amount and must be specified.
6287
- sig { returns(Float) }
6288
- attr_accessor :unit_price
6289
-
6290
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
6291
- attr_reader :custom_fields
6292
-
6293
- sig { params(custom_fields: T::Hash[Symbol, String]).void }
6294
- attr_writer :custom_fields
6295
-
6296
- sig { returns(T.nilable(String)) }
6297
- attr_reader :description
6298
-
6299
- sig { params(description: String).void }
6300
- attr_writer :description
6301
-
6302
- # This field's availability is dependent on your client's configuration.
6303
- sig { returns(T.nilable(String)) }
6304
- attr_reader :netsuite_sales_order_id
6305
-
6306
- sig { params(netsuite_sales_order_id: String).void }
6307
- attr_writer :netsuite_sales_order_id
6308
-
6309
- sig do
6310
- params(
6311
- id: String,
6312
- max_amount: Float,
6313
- product_id: String,
6314
- quantity: Float,
6315
- unit_price: Float,
6316
- custom_fields: T::Hash[Symbol, String],
6317
- description: String,
6318
- netsuite_sales_order_id: String
6319
- ).returns(T.attached_class)
6320
- end
6321
- def self.new(
6322
- id:,
6323
- # Maximum amount for the term.
6324
- max_amount:,
6325
- product_id:,
6326
- # Quantity for the charge. Will be multiplied by unit_price to determine the
6327
- # amount.
6328
- quantity:,
6329
- # Unit price for the charge. Will be multiplied by quantity to determine the
6330
- # amount and must be specified.
6331
- unit_price:,
6332
- custom_fields: nil,
6333
- description: nil,
6334
- # This field's availability is dependent on your client's configuration.
6335
- netsuite_sales_order_id: nil
6336
- )
6337
- end
6338
-
6339
- sig do
6340
- override.returns(
6341
- {
6342
- id: String,
6343
- max_amount: Float,
6344
- product_id: String,
6345
- quantity: Float,
6346
- unit_price: Float,
6347
- custom_fields: T::Hash[Symbol, String],
6348
- description: String,
6349
- netsuite_sales_order_id: String
6350
- }
6351
- )
6352
- end
6353
- def to_hash
6354
- end
6355
- end
6356
-
6357
5981
  class RecurringCommit < MetronomeSDK::Internal::Type::BaseModel
6358
5982
  OrHash =
6359
5983
  T.type_alias do
@@ -6508,6 +6132,7 @@ module MetronomeSDK
6508
6132
 
6509
6133
  # Determines whether the first and last commit will be prorated. If not provided,
6510
6134
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
6135
+ # subscription_config:
6511
6136
  sig do
6512
6137
  returns(
6513
6138
  T.nilable(
@@ -6644,6 +6269,7 @@ module MetronomeSDK
6644
6269
  netsuite_sales_order_id: nil,
6645
6270
  # Determines whether the first and last commit will be prorated. If not provided,
6646
6271
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
6272
+ # subscription_config:
6647
6273
  proration: nil,
6648
6274
  # The frequency at which the recurring commits will be created. If not provided: -
6649
6275
  # The commits will be created on the usage invoice frequency. If provided: - The
@@ -6713,26 +6339,29 @@ module MetronomeSDK
6713
6339
  sig { returns(String) }
6714
6340
  attr_accessor :credit_type_id
6715
6341
 
6716
- sig { returns(Float) }
6717
- attr_accessor :quantity
6718
-
6719
6342
  sig { returns(Float) }
6720
6343
  attr_accessor :unit_price
6721
6344
 
6345
+ sig { returns(T.nilable(Float)) }
6346
+ attr_reader :quantity
6347
+
6348
+ sig { params(quantity: Float).void }
6349
+ attr_writer :quantity
6350
+
6722
6351
  # The amount of commit to grant.
6723
6352
  sig do
6724
6353
  params(
6725
6354
  credit_type_id: String,
6726
- quantity: Float,
6727
- unit_price: Float
6355
+ unit_price: Float,
6356
+ quantity: Float
6728
6357
  ).returns(T.attached_class)
6729
6358
  end
6730
- def self.new(credit_type_id:, quantity:, unit_price:)
6359
+ def self.new(credit_type_id:, unit_price:, quantity: nil)
6731
6360
  end
6732
6361
 
6733
6362
  sig do
6734
6363
  override.returns(
6735
- { credit_type_id: String, quantity: Float, unit_price: Float }
6364
+ { credit_type_id: String, unit_price: Float, quantity: Float }
6736
6365
  )
6737
6366
  end
6738
6367
  def to_hash
@@ -6941,6 +6570,7 @@ module MetronomeSDK
6941
6570
 
6942
6571
  # Determines whether the first and last commit will be prorated. If not provided,
6943
6572
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
6573
+ # subscription_config:
6944
6574
  module Proration
6945
6575
  extend MetronomeSDK::Internal::Type::Enum
6946
6576
 
@@ -7242,6 +6872,7 @@ module MetronomeSDK
7242
6872
 
7243
6873
  # Determines whether the first and last commit will be prorated. If not provided,
7244
6874
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
6875
+ # subscription_config:
7245
6876
  sig do
7246
6877
  returns(
7247
6878
  T.nilable(
@@ -7374,6 +7005,7 @@ module MetronomeSDK
7374
7005
  netsuite_sales_order_id: nil,
7375
7006
  # Determines whether the first and last commit will be prorated. If not provided,
7376
7007
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
7008
+ # subscription_config:
7377
7009
  proration: nil,
7378
7010
  # The frequency at which the recurring commits will be created. If not provided: -
7379
7011
  # The commits will be created on the usage invoice frequency. If provided: - The
@@ -7441,26 +7073,29 @@ module MetronomeSDK
7441
7073
  sig { returns(String) }
7442
7074
  attr_accessor :credit_type_id
7443
7075
 
7444
- sig { returns(Float) }
7445
- attr_accessor :quantity
7446
-
7447
7076
  sig { returns(Float) }
7448
7077
  attr_accessor :unit_price
7449
7078
 
7079
+ sig { returns(T.nilable(Float)) }
7080
+ attr_reader :quantity
7081
+
7082
+ sig { params(quantity: Float).void }
7083
+ attr_writer :quantity
7084
+
7450
7085
  # The amount of commit to grant.
7451
7086
  sig do
7452
7087
  params(
7453
7088
  credit_type_id: String,
7454
- quantity: Float,
7455
- unit_price: Float
7089
+ unit_price: Float,
7090
+ quantity: Float
7456
7091
  ).returns(T.attached_class)
7457
7092
  end
7458
- def self.new(credit_type_id:, quantity:, unit_price:)
7093
+ def self.new(credit_type_id:, unit_price:, quantity: nil)
7459
7094
  end
7460
7095
 
7461
7096
  sig do
7462
7097
  override.returns(
7463
- { credit_type_id: String, quantity: Float, unit_price: Float }
7098
+ { credit_type_id: String, unit_price: Float, quantity: Float }
7464
7099
  )
7465
7100
  end
7466
7101
  def to_hash
@@ -7631,6 +7266,7 @@ module MetronomeSDK
7631
7266
 
7632
7267
  # Determines whether the first and last commit will be prorated. If not provided,
7633
7268
  # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
7269
+ # subscription_config:
7634
7270
  module Proration
7635
7271
  extend MetronomeSDK::Internal::Type::Enum
7636
7272
 
@@ -8273,7 +7909,25 @@ module MetronomeSDK
8273
7909
  end
8274
7910
  attr_accessor :payment_gate_type
8275
7911
 
8276
- # Only applicable if using Stripe as your payment gateway through Metronome.
7912
+ # Only applicable if using PRECALCULATED as your tax type.
7913
+ sig do
7914
+ returns(
7915
+ T.nilable(
7916
+ MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
7917
+ )
7918
+ )
7919
+ end
7920
+ attr_reader :precalculated_tax_config
7921
+
7922
+ sig do
7923
+ params(
7924
+ precalculated_tax_config:
7925
+ MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig::OrHash
7926
+ ).void
7927
+ end
7928
+ attr_writer :precalculated_tax_config
7929
+
7930
+ # Only applicable if using STRIPE as your payment gateway type.
8277
7931
  sig do
8278
7932
  returns(
8279
7933
  T.nilable(
@@ -8315,6 +7969,8 @@ module MetronomeSDK
8315
7969
  params(
8316
7970
  payment_gate_type:
8317
7971
  MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType::OrSymbol,
7972
+ precalculated_tax_config:
7973
+ MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig::OrHash,
8318
7974
  stripe_config:
8319
7975
  MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::OrHash,
8320
7976
  tax_type:
@@ -8327,7 +7983,9 @@ module MetronomeSDK
8327
7983
  # facilitate payment using your own payment integration. Select NONE if you do not
8328
7984
  # wish to payment gate the commit balance.
8329
7985
  payment_gate_type:,
8330
- # Only applicable if using Stripe as your payment gateway through Metronome.
7986
+ # Only applicable if using PRECALCULATED as your tax type.
7987
+ precalculated_tax_config: nil,
7988
+ # Only applicable if using STRIPE as your payment gateway type.
8331
7989
  stripe_config: nil,
8332
7990
  # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
8333
7991
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
@@ -8341,6 +7999,8 @@ module MetronomeSDK
8341
7999
  {
8342
8000
  payment_gate_type:
8343
8001
  MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol,
8002
+ precalculated_tax_config:
8003
+ MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
8344
8004
  stripe_config:
8345
8005
  MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
8346
8006
  tax_type:
@@ -8394,6 +8054,51 @@ module MetronomeSDK
8394
8054
  end
8395
8055
  end
8396
8056
 
8057
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
8058
+ OrHash =
8059
+ T.type_alias do
8060
+ T.any(
8061
+ MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
8062
+ MetronomeSDK::Internal::AnyHash
8063
+ )
8064
+ end
8065
+
8066
+ # Amount of tax to be applied. This should be in the same currency and
8067
+ # denomination as the commit's invoice schedule
8068
+ sig { returns(Float) }
8069
+ attr_accessor :tax_amount
8070
+
8071
+ # Name of the tax to be applied. This may be used in an invoice line item
8072
+ # description.
8073
+ sig { returns(T.nilable(String)) }
8074
+ attr_reader :tax_name
8075
+
8076
+ sig { params(tax_name: String).void }
8077
+ attr_writer :tax_name
8078
+
8079
+ # Only applicable if using PRECALCULATED as your tax type.
8080
+ sig do
8081
+ params(tax_amount: Float, tax_name: String).returns(
8082
+ T.attached_class
8083
+ )
8084
+ end
8085
+ def self.new(
8086
+ # Amount of tax to be applied. This should be in the same currency and
8087
+ # denomination as the commit's invoice schedule
8088
+ tax_amount:,
8089
+ # Name of the tax to be applied. This may be used in an invoice line item
8090
+ # description.
8091
+ tax_name: nil
8092
+ )
8093
+ end
8094
+
8095
+ sig do
8096
+ override.returns({ tax_amount: Float, tax_name: String })
8097
+ end
8098
+ def to_hash
8099
+ end
8100
+ end
8101
+
8397
8102
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
8398
8103
  OrHash =
8399
8104
  T.type_alias do
@@ -8411,16 +8116,28 @@ module MetronomeSDK
8411
8116
  end
8412
8117
  attr_accessor :payment_type
8413
8118
 
8414
- # Only applicable if using Stripe as your payment gateway through Metronome.
8119
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
8120
+ # your payment type.
8121
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
8122
+ attr_reader :invoice_metadata
8123
+
8124
+ sig { params(invoice_metadata: T::Hash[Symbol, String]).void }
8125
+ attr_writer :invoice_metadata
8126
+
8127
+ # Only applicable if using STRIPE as your payment gateway type.
8415
8128
  sig do
8416
8129
  params(
8417
8130
  payment_type:
8418
- MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol
8131
+ MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol,
8132
+ invoice_metadata: T::Hash[Symbol, String]
8419
8133
  ).returns(T.attached_class)
8420
8134
  end
8421
8135
  def self.new(
8422
8136
  # If left blank, will default to INVOICE
8423
- payment_type:
8137
+ payment_type:,
8138
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
8139
+ # your payment type.
8140
+ invoice_metadata: nil
8424
8141
  )
8425
8142
  end
8426
8143
 
@@ -8428,7 +8145,8 @@ module MetronomeSDK
8428
8145
  override.returns(
8429
8146
  {
8430
8147
  payment_type:
8431
- MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
8148
+ MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol,
8149
+ invoice_metadata: T::Hash[Symbol, String]
8432
8150
  }
8433
8151
  )
8434
8152
  end
@@ -8496,6 +8214,16 @@ module MetronomeSDK
8496
8214
  :STRIPE,
8497
8215
  MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
8498
8216
  )
8217
+ ANROK =
8218
+ T.let(
8219
+ :ANROK,
8220
+ MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
8221
+ )
8222
+ PRECALCULATED =
8223
+ T.let(
8224
+ :PRECALCULATED,
8225
+ MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
8226
+ )
8499
8227
 
8500
8228
  sig do
8501
8229
  override.returns(
@@ -8541,6 +8269,8 @@ module MetronomeSDK
8541
8269
  end
8542
8270
  attr_writer :proration
8543
8271
 
8272
+ # List of quantity schedule items for the subscription. Only includes the current
8273
+ # quantity and future quantity changes.
8544
8274
  sig do
8545
8275
  returns(
8546
8276
  T::Array[
@@ -8628,6 +8358,8 @@ module MetronomeSDK
8628
8358
  def self.new(
8629
8359
  collection_schedule:,
8630
8360
  proration:,
8361
+ # List of quantity schedule items for the subscription. Only includes the current
8362
+ # quantity and future quantity changes.
8631
8363
  quantity_schedule:,
8632
8364
  starting_at:,
8633
8365
  subscription_rate:,