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