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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +56 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/errors.rb +22 -0
  5. data/lib/metronome_sdk/internal/cursor_page.rb +1 -1
  6. data/lib/metronome_sdk/internal/transport/base_client.rb +10 -2
  7. data/lib/metronome_sdk/internal/type/array_of.rb +6 -1
  8. data/lib/metronome_sdk/internal/type/base_model.rb +82 -26
  9. data/lib/metronome_sdk/internal/type/boolean.rb +7 -1
  10. data/lib/metronome_sdk/internal/type/converter.rb +42 -34
  11. data/lib/metronome_sdk/internal/type/enum.rb +16 -5
  12. data/lib/metronome_sdk/internal/type/file_input.rb +6 -1
  13. data/lib/metronome_sdk/internal/type/hash_of.rb +6 -1
  14. data/lib/metronome_sdk/internal/type/union.rb +17 -9
  15. data/lib/metronome_sdk/internal/type/unknown.rb +7 -1
  16. data/lib/metronome_sdk/internal/util.rb +8 -9
  17. data/lib/metronome_sdk/models/base_usage_filter.rb +27 -0
  18. data/lib/metronome_sdk/models/commit.rb +1053 -0
  19. data/lib/metronome_sdk/models/contract_without_amendments.rb +2043 -0
  20. data/lib/metronome_sdk/models/credit.rb +677 -0
  21. data/lib/metronome_sdk/models/credit_type_data.rb +21 -0
  22. data/lib/metronome_sdk/models/discount.rb +68 -0
  23. data/lib/metronome_sdk/models/event_type_filter.rb +33 -0
  24. data/lib/metronome_sdk/models/id.rb +15 -0
  25. data/lib/metronome_sdk/models/override.rb +381 -0
  26. data/lib/metronome_sdk/models/pro_service.rb +73 -0
  27. data/lib/metronome_sdk/models/property_filter.rb +52 -0
  28. data/lib/metronome_sdk/models/rate.rb +101 -0
  29. data/lib/metronome_sdk/models/schedule_duration.rb +50 -0
  30. data/lib/metronome_sdk/models/schedule_point_in_time.rb +62 -0
  31. data/lib/metronome_sdk/models/scheduled_charge.rb +76 -0
  32. data/lib/metronome_sdk/models/tier.rb +21 -0
  33. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +3 -14
  34. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -1
  35. data/lib/metronome_sdk/models/v1/alert_create_response.rb +3 -14
  36. data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +2 -8
  37. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +3 -14
  38. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +6 -86
  39. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +3 -14
  40. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +6 -85
  41. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +8 -85
  42. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +312 -35
  43. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +3 -14
  44. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +3 -14
  45. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +3 -1276
  46. data/lib/metronome_sdk/models/v1/contract_create_params.rb +792 -104
  47. data/lib/metronome_sdk/models/v1/contract_create_response.rb +3 -14
  48. data/lib/metronome_sdk/models/v1/contract_list_balances_params.rb +9 -1
  49. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +5 -1645
  50. data/lib/metronome_sdk/models/v1/contract_list_response.rb +253 -10692
  51. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +9 -295
  52. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +254 -10721
  53. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +3 -1276
  54. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +3 -14
  55. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +3 -14
  56. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +6 -97
  57. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +3 -14
  58. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +148 -0
  59. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +12 -561
  60. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +2 -8
  61. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +14 -559
  62. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +6 -97
  63. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +3 -14
  64. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +57 -0
  65. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +45 -0
  66. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_params.rb +2 -8
  67. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +3 -14
  68. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +3 -14
  69. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +6 -42
  70. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +2 -8
  71. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +6 -159
  72. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +6 -42
  73. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +3 -14
  74. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +3 -14
  75. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +3 -14
  76. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -44
  77. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +3 -16
  78. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +6 -44
  79. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +9 -61
  80. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +6 -158
  81. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +5 -77
  82. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +3 -14
  83. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +3 -14
  84. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +20 -1
  85. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +11 -153
  86. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +14 -175
  87. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +3 -14
  88. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +69 -0
  89. data/lib/metronome_sdk/models/v1/customer.rb +53 -0
  90. data/lib/metronome_sdk/models/v1/customer_archive_params.rb +2 -8
  91. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +3 -14
  92. data/lib/metronome_sdk/models/v1/customer_create_response.rb +3 -50
  93. data/lib/metronome_sdk/models/v1/{customer_list_response.rb → customer_detail.rb} +14 -15
  94. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +6 -86
  95. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +115 -0
  96. data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +18 -0
  97. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +3 -126
  98. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +3 -50
  99. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +5 -276
  100. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +3 -279
  101. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +9 -1
  102. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +8 -6
  103. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +3 -14
  104. data/lib/metronome_sdk/models/v1/customers/commit_list_params.rb +9 -1
  105. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +3 -1047
  106. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +3 -14
  107. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +3 -14
  108. data/lib/metronome_sdk/models/v1/customers/credit_list_params.rb +9 -1
  109. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +3 -593
  110. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +3 -14
  111. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +270 -0
  112. data/lib/metronome_sdk/models/v1/customers/{invoice_list_response.rb → invoice.rb} +119 -303
  113. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +2 -1271
  114. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +3 -1276
  115. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +3 -14
  116. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +3 -21
  117. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +1 -0
  118. data/lib/metronome_sdk/models/v1/plan_detail.rb +200 -0
  119. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +3 -286
  120. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +3 -20
  121. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +3 -128
  122. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +38 -0
  123. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +38 -0
  124. data/lib/metronome_sdk/models/v1/usage_search_params.rb +24 -0
  125. data/lib/metronome_sdk/models/v1/usage_search_response.rb +249 -0
  126. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +11 -8
  127. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +3 -14
  128. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +3 -2
  129. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +3 -14
  130. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +1127 -105
  131. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3 -14
  132. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +577 -643
  133. data/lib/metronome_sdk/models/v2/contract_list_response.rb +917 -746
  134. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +917 -748
  135. data/lib/metronome_sdk/models.rb +36 -4
  136. data/lib/metronome_sdk/resources/v1/alerts.rb +1 -1
  137. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +2 -2
  138. data/lib/metronome_sdk/resources/v1/contracts/products.rb +4 -4
  139. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +1 -1
  140. data/lib/metronome_sdk/resources/v1/contracts.rb +11 -5
  141. data/lib/metronome_sdk/resources/v1/credit_grants.rb +4 -2
  142. data/lib/metronome_sdk/resources/v1/customers/commits.rb +5 -3
  143. data/lib/metronome_sdk/resources/v1/customers/credits.rb +3 -1
  144. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +2 -2
  145. data/lib/metronome_sdk/resources/v1/customers.rb +40 -2
  146. data/lib/metronome_sdk/resources/v1/usage.rb +25 -0
  147. data/lib/metronome_sdk/resources/v2/contracts.rb +11 -9
  148. data/lib/metronome_sdk/version.rb +1 -1
  149. data/lib/metronome_sdk.rb +31 -2
  150. data/rbi/metronome_sdk/errors.rbi +16 -0
  151. data/rbi/metronome_sdk/internal/type/boolean.rbi +2 -0
  152. data/rbi/metronome_sdk/internal/type/converter.rbi +15 -15
  153. data/rbi/metronome_sdk/internal/type/union.rbi +5 -0
  154. data/rbi/metronome_sdk/internal/type/unknown.rbi +2 -0
  155. data/rbi/metronome_sdk/internal/util.rbi +2 -0
  156. data/rbi/metronome_sdk/models/base_usage_filter.rbi +46 -0
  157. data/rbi/metronome_sdk/models/commit.rbi +2046 -0
  158. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +4260 -0
  159. data/rbi/metronome_sdk/models/credit.rbi +1314 -0
  160. data/rbi/metronome_sdk/models/credit_type_data.rbi +26 -0
  161. data/rbi/metronome_sdk/models/discount.rbi +106 -0
  162. data/rbi/metronome_sdk/models/event_type_filter.rbi +57 -0
  163. data/rbi/metronome_sdk/models/id.rbi +23 -0
  164. data/rbi/metronome_sdk/models/override.rbi +675 -0
  165. data/rbi/metronome_sdk/models/pro_service.rbi +98 -0
  166. data/rbi/metronome_sdk/models/property_filter.rbi +88 -0
  167. data/rbi/metronome_sdk/models/rate.rbi +155 -0
  168. data/rbi/metronome_sdk/models/schedule_duration.rbi +89 -0
  169. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +121 -0
  170. data/rbi/metronome_sdk/models/scheduled_charge.rbi +119 -0
  171. data/rbi/metronome_sdk/models/tier.rbi +29 -0
  172. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +4 -37
  173. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -0
  174. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +4 -37
  175. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +6 -12
  176. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +4 -44
  177. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +8 -177
  178. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +4 -43
  179. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +8 -177
  180. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +8 -175
  181. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +712 -68
  182. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +4 -37
  183. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +4 -39
  184. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +3 -2595
  185. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1738 -210
  186. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +4 -37
  187. data/rbi/metronome_sdk/models/v1/contract_list_balances_params.rbi +11 -0
  188. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +3 -3366
  189. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +375 -22523
  190. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +12 -632
  191. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +375 -22523
  192. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +3 -2595
  193. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +4 -44
  194. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +4 -44
  195. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +8 -209
  196. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +4 -44
  197. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +237 -0
  198. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +76 -1143
  199. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +3 -9
  200. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +76 -1137
  201. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +8 -209
  202. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +4 -44
  203. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +111 -0
  204. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +94 -0
  205. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbi +3 -9
  206. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbi +4 -44
  207. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +4 -44
  208. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +8 -74
  209. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +3 -9
  210. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +8 -344
  211. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +8 -74
  212. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +4 -44
  213. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +4 -44
  214. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +4 -44
  215. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +8 -108
  216. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +4 -45
  217. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +8 -108
  218. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +12 -149
  219. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +8 -344
  220. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +8 -166
  221. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +4 -41
  222. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +4 -39
  223. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +58 -0
  224. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +10 -231
  225. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +14 -281
  226. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +4 -39
  227. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +90 -0
  228. data/rbi/metronome_sdk/models/v1/customer.rbi +74 -0
  229. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +6 -12
  230. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +4 -39
  231. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +6 -84
  232. data/rbi/metronome_sdk/models/v1/{customer_list_response.rbi → customer_detail.rbi} +19 -26
  233. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +8 -177
  234. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +214 -0
  235. data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +35 -0
  236. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +6 -255
  237. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +6 -86
  238. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +3 -623
  239. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +4 -622
  240. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +11 -0
  241. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +12 -8
  242. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +4 -44
  243. data/rbi/metronome_sdk/models/v1/customers/commit_list_params.rbi +11 -0
  244. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +3 -2164
  245. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +4 -44
  246. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +4 -44
  247. data/rbi/metronome_sdk/models/v1/customers/credit_list_params.rbi +11 -0
  248. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +3 -1224
  249. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +4 -44
  250. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +572 -0
  251. data/rbi/metronome_sdk/models/v1/customers/{invoice_list_response.rbi → invoice.rbi} +182 -589
  252. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +4 -2561
  253. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +6 -2612
  254. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +4 -41
  255. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +4 -39
  256. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +5 -0
  257. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +349 -0
  258. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +6 -560
  259. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +4 -37
  260. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +4 -248
  261. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +79 -0
  262. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +80 -0
  263. data/rbi/metronome_sdk/models/v1/usage_search_params.rbi +48 -0
  264. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +438 -0
  265. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +23 -23
  266. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +4 -41
  267. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +11 -15
  268. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +4 -41
  269. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +2463 -206
  270. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +4 -37
  271. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1381 -1550
  272. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +2017 -1466
  273. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +2017 -1466
  274. data/rbi/metronome_sdk/models.rbi +32 -0
  275. data/rbi/metronome_sdk/resources/v1/alerts.rbi +3 -0
  276. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +2 -6
  277. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +4 -4
  278. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +1 -4
  279. data/rbi/metronome_sdk/resources/v1/contracts.rbi +13 -4
  280. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +4 -0
  281. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +9 -4
  282. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +3 -0
  283. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +1 -1
  284. data/rbi/metronome_sdk/resources/v1/customers.rbi +34 -3
  285. data/rbi/metronome_sdk/resources/v1/usage.rbi +17 -0
  286. data/rbi/metronome_sdk/resources/v2/contracts.rbi +24 -14
  287. data/sig/metronome_sdk/errors.rbs +9 -0
  288. data/sig/metronome_sdk/internal/type/converter.rbs +7 -1
  289. data/sig/metronome_sdk/models/base_usage_filter.rbs +28 -0
  290. data/sig/metronome_sdk/models/commit.rbs +1063 -0
  291. data/sig/metronome_sdk/models/contract_without_amendments.rbs +1828 -0
  292. data/sig/metronome_sdk/models/credit.rbs +686 -0
  293. data/sig/metronome_sdk/models/credit_type_data.rbs +15 -0
  294. data/sig/metronome_sdk/models/discount.rbs +63 -0
  295. data/sig/metronome_sdk/models/event_type_filter.rbs +26 -0
  296. data/sig/metronome_sdk/models/id.rbs +13 -0
  297. data/sig/metronome_sdk/models/override.rbs +399 -0
  298. data/sig/metronome_sdk/models/pro_service.rbs +61 -0
  299. data/sig/metronome_sdk/models/property_filter.rbs +41 -0
  300. data/sig/metronome_sdk/models/rate.rbs +94 -0
  301. data/sig/metronome_sdk/models/schedule_duration.rbs +56 -0
  302. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +75 -0
  303. data/sig/metronome_sdk/models/scheduled_charge.rbs +70 -0
  304. data/sig/metronome_sdk/models/tier.rbs +17 -0
  305. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +4 -19
  306. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +4 -19
  307. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +4 -12
  308. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +4 -19
  309. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +12 -73
  310. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +4 -19
  311. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +12 -73
  312. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +12 -73
  313. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +291 -24
  314. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +4 -19
  315. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +4 -19
  316. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +4 -1291
  317. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +694 -84
  318. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +4 -19
  319. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +7 -0
  320. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +1 -1642
  321. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +188 -10437
  322. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +15 -271
  323. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +188 -10437
  324. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +4 -1291
  325. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +4 -19
  326. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +4 -21
  327. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +8 -82
  328. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +4 -21
  329. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +121 -0
  330. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +16 -466
  331. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +4 -12
  332. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +16 -466
  333. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +8 -82
  334. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +4 -21
  335. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +47 -0
  336. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +41 -0
  337. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +4 -12
  338. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +4 -21
  339. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +4 -21
  340. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +10 -34
  341. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +4 -12
  342. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +10 -144
  343. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +10 -34
  344. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +4 -21
  345. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +4 -21
  346. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +4 -21
  347. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +12 -40
  348. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +4 -21
  349. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +12 -40
  350. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +18 -58
  351. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +10 -144
  352. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +2 -66
  353. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +4 -19
  354. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +4 -19
  355. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +20 -0
  356. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +12 -118
  357. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +16 -140
  358. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +4 -19
  359. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +52 -0
  360. data/sig/metronome_sdk/models/v1/customer.rbs +44 -0
  361. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +4 -12
  362. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +4 -19
  363. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +4 -48
  364. data/sig/metronome_sdk/models/v1/{customer_list_response.rbs → customer_detail.rbs} +17 -17
  365. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +12 -73
  366. data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +105 -0
  367. data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +16 -0
  368. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +4 -112
  369. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +4 -48
  370. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +4 -243
  371. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +4 -247
  372. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +7 -0
  373. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +4 -21
  374. data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +7 -0
  375. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +4 -1057
  376. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +4 -21
  377. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +4 -21
  378. data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +7 -0
  379. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +4 -596
  380. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +4 -21
  381. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +234 -0
  382. data/sig/metronome_sdk/models/v1/customers/{invoice_list_response.rbs → invoice.rbs} +147 -305
  383. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +8 -1278
  384. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +4 -1294
  385. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +4 -19
  386. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +4 -16
  387. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +2 -1
  388. data/sig/metronome_sdk/models/v1/plan_detail.rbs +203 -0
  389. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +4 -267
  390. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +4 -16
  391. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +4 -108
  392. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +37 -0
  393. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +37 -0
  394. data/sig/metronome_sdk/models/v1/usage_search_params.rbs +26 -0
  395. data/sig/metronome_sdk/models/v1/usage_search_response.rbs +230 -0
  396. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +4 -8
  397. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +4 -19
  398. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +4 -8
  399. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +4 -19
  400. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +989 -77
  401. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +4 -19
  402. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +510 -655
  403. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +970 -809
  404. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +970 -809
  405. data/sig/metronome_sdk/models.rbs +32 -0
  406. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +2 -2
  407. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +4 -4
  408. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  409. data/sig/metronome_sdk/resources/v1/contracts.rbs +4 -1
  410. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -0
  411. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +1 -0
  412. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +1 -0
  413. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -1
  414. data/sig/metronome_sdk/resources/v1/customers.rbs +9 -1
  415. data/sig/metronome_sdk/resources/v1/usage.rbs +5 -0
  416. data/sig/metronome_sdk/resources/v2/contracts.rbs +3 -2
  417. metadata +97 -10
@@ -317,16 +317,18 @@ module MetronomeSDK
317
317
  sig { params(amount: Float).void }
318
318
  attr_writer :amount
319
319
 
320
- # Which products the commit applies to. If both applicable_product_ids and
321
- # applicable_product_tags are not provided, the commit applies to all products.
320
+ # Which products the commit applies to. If applicable_product_ids,
321
+ # applicable_product_tags or specifiers are not provided, the commit applies to
322
+ # all products.
322
323
  sig { returns(T.nilable(T::Array[String])) }
323
324
  attr_reader :applicable_product_ids
324
325
 
325
326
  sig { params(applicable_product_ids: T::Array[String]).void }
326
327
  attr_writer :applicable_product_ids
327
328
 
328
- # Which tags the commit applies to. If both applicable_product_ids and
329
- # applicable_product_tags are not provided, the commit applies to all products.
329
+ # Which tags the commit applies to. If applicable_product_ids,
330
+ # applicable_product_tags or specifiers are not provided, the commit applies to
331
+ # all products.
330
332
  sig { returns(T.nilable(T::Array[String])) }
331
333
  attr_reader :applicable_product_tags
332
334
 
@@ -346,6 +348,24 @@ module MetronomeSDK
346
348
  sig { params(description: String).void }
347
349
  attr_writer :description
348
350
 
351
+ # Optional configuration for commit hierarchy access control
352
+ sig do
353
+ returns(
354
+ T.nilable(
355
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration
356
+ )
357
+ )
358
+ end
359
+ attr_reader :hierarchy_configuration
360
+
361
+ sig do
362
+ params(
363
+ hierarchy_configuration:
364
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::OrHash
365
+ ).void
366
+ end
367
+ attr_writer :hierarchy_configuration
368
+
349
369
  # Required for "POSTPAID" commits: the true up invoice will be generated at this
350
370
  # time and only one schedule item is allowed; the total must match access_schedule
351
371
  # amount. Optional for "PREPAID" commits: if not provided, this will be a
@@ -476,6 +496,8 @@ module MetronomeSDK
476
496
  applicable_product_tags: T::Array[String],
477
497
  custom_fields: T::Hash[Symbol, String],
478
498
  description: String,
499
+ hierarchy_configuration:
500
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::OrHash,
479
501
  invoice_schedule:
480
502
  MetronomeSDK::V1::ContractAmendParams::Commit::InvoiceSchedule::OrHash,
481
503
  name: String,
@@ -502,15 +524,19 @@ module MetronomeSDK
502
524
  access_schedule: nil,
503
525
  # (DEPRECATED) Use access_schedule and invoice_schedule instead.
504
526
  amount: nil,
505
- # Which products the commit applies to. If both applicable_product_ids and
506
- # applicable_product_tags are not provided, the commit applies to all products.
527
+ # Which products the commit applies to. If applicable_product_ids,
528
+ # applicable_product_tags or specifiers are not provided, the commit applies to
529
+ # all products.
507
530
  applicable_product_ids: nil,
508
- # Which tags the commit applies to. If both applicable_product_ids and
509
- # applicable_product_tags are not provided, the commit applies to all products.
531
+ # Which tags the commit applies to. If applicable_product_ids,
532
+ # applicable_product_tags or specifiers are not provided, the commit applies to
533
+ # all products.
510
534
  applicable_product_tags: nil,
511
535
  custom_fields: nil,
512
536
  # Used only in UI/API. It is not exposed to end customers.
513
537
  description: nil,
538
+ # Optional configuration for commit hierarchy access control
539
+ hierarchy_configuration: nil,
514
540
  # Required for "POSTPAID" commits: the true up invoice will be generated at this
515
541
  # time and only one schedule item is allowed; the total must match access_schedule
516
542
  # amount. Optional for "PREPAID" commits: if not provided, this will be a
@@ -552,6 +578,8 @@ module MetronomeSDK
552
578
  applicable_product_tags: T::Array[String],
553
579
  custom_fields: T::Hash[Symbol, String],
554
580
  description: String,
581
+ hierarchy_configuration:
582
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration,
555
583
  invoice_schedule:
556
584
  MetronomeSDK::V1::ContractAmendParams::Commit::InvoiceSchedule,
557
585
  name: String,
@@ -711,6 +739,282 @@ module MetronomeSDK
711
739
  end
712
740
  end
713
741
 
742
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
743
+ OrHash =
744
+ T.type_alias do
745
+ T.any(
746
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration,
747
+ MetronomeSDK::Internal::AnyHash
748
+ )
749
+ end
750
+
751
+ sig do
752
+ returns(
753
+ T.any(
754
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
755
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
756
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
757
+ )
758
+ )
759
+ end
760
+ attr_accessor :child_access
761
+
762
+ # Optional configuration for commit hierarchy access control
763
+ sig do
764
+ params(
765
+ child_access:
766
+ T.any(
767
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::OrHash,
768
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::OrHash,
769
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::OrHash
770
+ )
771
+ ).returns(T.attached_class)
772
+ end
773
+ def self.new(child_access:)
774
+ end
775
+
776
+ sig do
777
+ override.returns(
778
+ {
779
+ child_access:
780
+ T.any(
781
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
782
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
783
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
784
+ )
785
+ }
786
+ )
787
+ end
788
+ def to_hash
789
+ end
790
+
791
+ module ChildAccess
792
+ extend MetronomeSDK::Internal::Type::Union
793
+
794
+ Variants =
795
+ T.type_alias do
796
+ T.any(
797
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
798
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
799
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
800
+ )
801
+ end
802
+
803
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
804
+ OrHash =
805
+ T.type_alias do
806
+ T.any(
807
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
808
+ MetronomeSDK::Internal::AnyHash
809
+ )
810
+ end
811
+
812
+ sig do
813
+ returns(
814
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
815
+ )
816
+ end
817
+ attr_accessor :type
818
+
819
+ sig do
820
+ params(
821
+ type:
822
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
823
+ ).returns(T.attached_class)
824
+ end
825
+ def self.new(type:)
826
+ end
827
+
828
+ sig do
829
+ override.returns(
830
+ {
831
+ type:
832
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
833
+ }
834
+ )
835
+ end
836
+ def to_hash
837
+ end
838
+
839
+ module Type
840
+ extend MetronomeSDK::Internal::Type::Enum
841
+
842
+ TaggedSymbol =
843
+ T.type_alias do
844
+ T.all(
845
+ Symbol,
846
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
847
+ )
848
+ end
849
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
850
+
851
+ ALL =
852
+ T.let(
853
+ :ALL,
854
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
855
+ )
856
+
857
+ sig do
858
+ override.returns(
859
+ T::Array[
860
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
861
+ ]
862
+ )
863
+ end
864
+ def self.values
865
+ end
866
+ end
867
+ end
868
+
869
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
870
+ OrHash =
871
+ T.type_alias do
872
+ T.any(
873
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
874
+ MetronomeSDK::Internal::AnyHash
875
+ )
876
+ end
877
+
878
+ sig do
879
+ returns(
880
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
881
+ )
882
+ end
883
+ attr_accessor :type
884
+
885
+ sig do
886
+ params(
887
+ type:
888
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
889
+ ).returns(T.attached_class)
890
+ end
891
+ def self.new(type:)
892
+ end
893
+
894
+ sig do
895
+ override.returns(
896
+ {
897
+ type:
898
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
899
+ }
900
+ )
901
+ end
902
+ def to_hash
903
+ end
904
+
905
+ module Type
906
+ extend MetronomeSDK::Internal::Type::Enum
907
+
908
+ TaggedSymbol =
909
+ T.type_alias do
910
+ T.all(
911
+ Symbol,
912
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
913
+ )
914
+ end
915
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
916
+
917
+ NONE =
918
+ T.let(
919
+ :NONE,
920
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
921
+ )
922
+
923
+ sig do
924
+ override.returns(
925
+ T::Array[
926
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
927
+ ]
928
+ )
929
+ end
930
+ def self.values
931
+ end
932
+ end
933
+ end
934
+
935
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
936
+ OrHash =
937
+ T.type_alias do
938
+ T.any(
939
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs,
940
+ MetronomeSDK::Internal::AnyHash
941
+ )
942
+ end
943
+
944
+ sig { returns(T::Array[String]) }
945
+ attr_accessor :contract_ids
946
+
947
+ sig do
948
+ returns(
949
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
950
+ )
951
+ end
952
+ attr_accessor :type
953
+
954
+ sig do
955
+ params(
956
+ contract_ids: T::Array[String],
957
+ type:
958
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
959
+ ).returns(T.attached_class)
960
+ end
961
+ def self.new(contract_ids:, type:)
962
+ end
963
+
964
+ sig do
965
+ override.returns(
966
+ {
967
+ contract_ids: T::Array[String],
968
+ type:
969
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
970
+ }
971
+ )
972
+ end
973
+ def to_hash
974
+ end
975
+
976
+ module Type
977
+ extend MetronomeSDK::Internal::Type::Enum
978
+
979
+ TaggedSymbol =
980
+ T.type_alias do
981
+ T.all(
982
+ Symbol,
983
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
984
+ )
985
+ end
986
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
987
+
988
+ CONTRACT_IDS =
989
+ T.let(
990
+ :CONTRACT_IDS,
991
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
992
+ )
993
+
994
+ sig do
995
+ override.returns(
996
+ T::Array[
997
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
998
+ ]
999
+ )
1000
+ end
1001
+ def self.values
1002
+ end
1003
+ end
1004
+ end
1005
+
1006
+ sig do
1007
+ override.returns(
1008
+ T::Array[
1009
+ MetronomeSDK::V1::ContractAmendParams::Commit::HierarchyConfiguration::ChildAccess::Variants
1010
+ ]
1011
+ )
1012
+ end
1013
+ def self.variants
1014
+ end
1015
+ end
1016
+ end
1017
+
714
1018
  class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
715
1019
  OrHash =
716
1020
  T.type_alias do
@@ -1111,7 +1415,25 @@ module MetronomeSDK
1111
1415
  end
1112
1416
  attr_accessor :payment_gate_type
1113
1417
 
1114
- # Only applicable if using Stripe as your payment gateway through Metronome.
1418
+ # Only applicable if using PRECALCULATED as your tax type.
1419
+ sig do
1420
+ returns(
1421
+ T.nilable(
1422
+ MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig
1423
+ )
1424
+ )
1425
+ end
1426
+ attr_reader :precalculated_tax_config
1427
+
1428
+ sig do
1429
+ params(
1430
+ precalculated_tax_config:
1431
+ MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig::OrHash
1432
+ ).void
1433
+ end
1434
+ attr_writer :precalculated_tax_config
1435
+
1436
+ # Only applicable if using STRIPE as your payment gate type.
1115
1437
  sig do
1116
1438
  returns(
1117
1439
  T.nilable(
@@ -1154,6 +1476,8 @@ module MetronomeSDK
1154
1476
  params(
1155
1477
  payment_gate_type:
1156
1478
  MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::PaymentGateType::OrSymbol,
1479
+ precalculated_tax_config:
1480
+ MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig::OrHash,
1157
1481
  stripe_config:
1158
1482
  MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig::OrHash,
1159
1483
  tax_type:
@@ -1166,7 +1490,9 @@ module MetronomeSDK
1166
1490
  # facilitate payment using your own payment integration. Select NONE if you do not
1167
1491
  # wish to payment gate the commit balance.
1168
1492
  payment_gate_type:,
1169
- # Only applicable if using Stripe as your payment gateway through Metronome.
1493
+ # Only applicable if using PRECALCULATED as your tax type.
1494
+ precalculated_tax_config: nil,
1495
+ # Only applicable if using STRIPE as your payment gate type.
1170
1496
  stripe_config: nil,
1171
1497
  # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
1172
1498
  # not wish Metronome to calculate tax on your behalf. Leaving this field blank
@@ -1180,6 +1506,8 @@ module MetronomeSDK
1180
1506
  {
1181
1507
  payment_gate_type:
1182
1508
  MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::PaymentGateType::OrSymbol,
1509
+ precalculated_tax_config:
1510
+ MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig,
1183
1511
  stripe_config:
1184
1512
  MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig,
1185
1513
  tax_type:
@@ -1233,6 +1561,49 @@ module MetronomeSDK
1233
1561
  end
1234
1562
  end
1235
1563
 
1564
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
1565
+ OrHash =
1566
+ T.type_alias do
1567
+ T.any(
1568
+ MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::PrecalculatedTaxConfig,
1569
+ MetronomeSDK::Internal::AnyHash
1570
+ )
1571
+ end
1572
+
1573
+ # Amount of tax to be applied. This should be in the same currency and
1574
+ # denomination as the commit's invoice schedule
1575
+ sig { returns(Float) }
1576
+ attr_accessor :tax_amount
1577
+
1578
+ # Name of the tax to be applied. This may be used in an invoice line item
1579
+ # description.
1580
+ sig { returns(T.nilable(String)) }
1581
+ attr_reader :tax_name
1582
+
1583
+ sig { params(tax_name: String).void }
1584
+ attr_writer :tax_name
1585
+
1586
+ # Only applicable if using PRECALCULATED as your tax type.
1587
+ sig do
1588
+ params(tax_amount: Float, tax_name: String).returns(
1589
+ T.attached_class
1590
+ )
1591
+ end
1592
+ def self.new(
1593
+ # Amount of tax to be applied. This should be in the same currency and
1594
+ # denomination as the commit's invoice schedule
1595
+ tax_amount:,
1596
+ # Name of the tax to be applied. This may be used in an invoice line item
1597
+ # description.
1598
+ tax_name: nil
1599
+ )
1600
+ end
1601
+
1602
+ sig { override.returns({ tax_amount: Float, tax_name: String }) }
1603
+ def to_hash
1604
+ end
1605
+ end
1606
+
1236
1607
  class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
1237
1608
  OrHash =
1238
1609
  T.type_alias do
@@ -1250,16 +1621,28 @@ module MetronomeSDK
1250
1621
  end
1251
1622
  attr_accessor :payment_type
1252
1623
 
1253
- # Only applicable if using Stripe as your payment gateway through Metronome.
1624
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
1625
+ # your payment type.
1626
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
1627
+ attr_reader :invoice_metadata
1628
+
1629
+ sig { params(invoice_metadata: T::Hash[Symbol, String]).void }
1630
+ attr_writer :invoice_metadata
1631
+
1632
+ # Only applicable if using STRIPE as your payment gate type.
1254
1633
  sig do
1255
1634
  params(
1256
1635
  payment_type:
1257
- MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol
1636
+ MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol,
1637
+ invoice_metadata: T::Hash[Symbol, String]
1258
1638
  ).returns(T.attached_class)
1259
1639
  end
1260
1640
  def self.new(
1261
1641
  # If left blank, will default to INVOICE
1262
- payment_type:
1642
+ payment_type:,
1643
+ # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
1644
+ # your payment type.
1645
+ invoice_metadata: nil
1263
1646
  )
1264
1647
  end
1265
1648
 
@@ -1267,7 +1650,8 @@ module MetronomeSDK
1267
1650
  override.returns(
1268
1651
  {
1269
1652
  payment_type:
1270
- MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol
1653
+ MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol,
1654
+ invoice_metadata: T::Hash[Symbol, String]
1271
1655
  }
1272
1656
  )
1273
1657
  end
@@ -1335,6 +1719,16 @@ module MetronomeSDK
1335
1719
  :STRIPE,
1336
1720
  MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::TaxType::TaggedSymbol
1337
1721
  )
1722
+ ANROK =
1723
+ T.let(
1724
+ :ANROK,
1725
+ MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::TaxType::TaggedSymbol
1726
+ )
1727
+ PRECALCULATED =
1728
+ T.let(
1729
+ :PRECALCULATED,
1730
+ MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::TaxType::TaggedSymbol
1731
+ )
1338
1732
 
1339
1733
  sig do
1340
1734
  override.returns(
@@ -1511,6 +1905,24 @@ module MetronomeSDK
1511
1905
  sig { params(description: String).void }
1512
1906
  attr_writer :description
1513
1907
 
1908
+ # Optional configuration for credit hierarchy access control
1909
+ sig do
1910
+ returns(
1911
+ T.nilable(
1912
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration
1913
+ )
1914
+ )
1915
+ end
1916
+ attr_reader :hierarchy_configuration
1917
+
1918
+ sig do
1919
+ params(
1920
+ hierarchy_configuration:
1921
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::OrHash
1922
+ ).void
1923
+ end
1924
+ attr_writer :hierarchy_configuration
1925
+
1514
1926
  # displayed on invoices
1515
1927
  sig { returns(T.nilable(String)) }
1516
1928
  attr_reader :name
@@ -1584,6 +1996,8 @@ module MetronomeSDK
1584
1996
  applicable_product_tags: T::Array[String],
1585
1997
  custom_fields: T::Hash[Symbol, String],
1586
1998
  description: String,
1999
+ hierarchy_configuration:
2000
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::OrHash,
1587
2001
  name: String,
1588
2002
  netsuite_sales_order_id: String,
1589
2003
  priority: Float,
@@ -1608,6 +2022,8 @@ module MetronomeSDK
1608
2022
  custom_fields: nil,
1609
2023
  # Used only in UI/API. It is not exposed to end customers.
1610
2024
  description: nil,
2025
+ # Optional configuration for credit hierarchy access control
2026
+ hierarchy_configuration: nil,
1611
2027
  # displayed on invoices
1612
2028
  name: nil,
1613
2029
  # This field's availability is dependent on your client's configuration.
@@ -1634,6 +2050,8 @@ module MetronomeSDK
1634
2050
  applicable_product_tags: T::Array[String],
1635
2051
  custom_fields: T::Hash[Symbol, String],
1636
2052
  description: String,
2053
+ hierarchy_configuration:
2054
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration,
1637
2055
  name: String,
1638
2056
  netsuite_sales_order_id: String,
1639
2057
  priority: Float,
@@ -1751,6 +2169,282 @@ module MetronomeSDK
1751
2169
  end
1752
2170
  end
1753
2171
 
2172
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
2173
+ OrHash =
2174
+ T.type_alias do
2175
+ T.any(
2176
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration,
2177
+ MetronomeSDK::Internal::AnyHash
2178
+ )
2179
+ end
2180
+
2181
+ sig do
2182
+ returns(
2183
+ T.any(
2184
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
2185
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
2186
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
2187
+ )
2188
+ )
2189
+ end
2190
+ attr_accessor :child_access
2191
+
2192
+ # Optional configuration for credit hierarchy access control
2193
+ sig do
2194
+ params(
2195
+ child_access:
2196
+ T.any(
2197
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::OrHash,
2198
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::OrHash,
2199
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::OrHash
2200
+ )
2201
+ ).returns(T.attached_class)
2202
+ end
2203
+ def self.new(child_access:)
2204
+ end
2205
+
2206
+ sig do
2207
+ override.returns(
2208
+ {
2209
+ child_access:
2210
+ T.any(
2211
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
2212
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
2213
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
2214
+ )
2215
+ }
2216
+ )
2217
+ end
2218
+ def to_hash
2219
+ end
2220
+
2221
+ module ChildAccess
2222
+ extend MetronomeSDK::Internal::Type::Union
2223
+
2224
+ Variants =
2225
+ T.type_alias do
2226
+ T.any(
2227
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
2228
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
2229
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
2230
+ )
2231
+ end
2232
+
2233
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
2234
+ OrHash =
2235
+ T.type_alias do
2236
+ T.any(
2237
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
2238
+ MetronomeSDK::Internal::AnyHash
2239
+ )
2240
+ end
2241
+
2242
+ sig do
2243
+ returns(
2244
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
2245
+ )
2246
+ end
2247
+ attr_accessor :type
2248
+
2249
+ sig do
2250
+ params(
2251
+ type:
2252
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
2253
+ ).returns(T.attached_class)
2254
+ end
2255
+ def self.new(type:)
2256
+ end
2257
+
2258
+ sig do
2259
+ override.returns(
2260
+ {
2261
+ type:
2262
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
2263
+ }
2264
+ )
2265
+ end
2266
+ def to_hash
2267
+ end
2268
+
2269
+ module Type
2270
+ extend MetronomeSDK::Internal::Type::Enum
2271
+
2272
+ TaggedSymbol =
2273
+ T.type_alias do
2274
+ T.all(
2275
+ Symbol,
2276
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
2277
+ )
2278
+ end
2279
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2280
+
2281
+ ALL =
2282
+ T.let(
2283
+ :ALL,
2284
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
2285
+ )
2286
+
2287
+ sig do
2288
+ override.returns(
2289
+ T::Array[
2290
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
2291
+ ]
2292
+ )
2293
+ end
2294
+ def self.values
2295
+ end
2296
+ end
2297
+ end
2298
+
2299
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
2300
+ OrHash =
2301
+ T.type_alias do
2302
+ T.any(
2303
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
2304
+ MetronomeSDK::Internal::AnyHash
2305
+ )
2306
+ end
2307
+
2308
+ sig do
2309
+ returns(
2310
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
2311
+ )
2312
+ end
2313
+ attr_accessor :type
2314
+
2315
+ sig do
2316
+ params(
2317
+ type:
2318
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
2319
+ ).returns(T.attached_class)
2320
+ end
2321
+ def self.new(type:)
2322
+ end
2323
+
2324
+ sig do
2325
+ override.returns(
2326
+ {
2327
+ type:
2328
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
2329
+ }
2330
+ )
2331
+ end
2332
+ def to_hash
2333
+ end
2334
+
2335
+ module Type
2336
+ extend MetronomeSDK::Internal::Type::Enum
2337
+
2338
+ TaggedSymbol =
2339
+ T.type_alias do
2340
+ T.all(
2341
+ Symbol,
2342
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
2343
+ )
2344
+ end
2345
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2346
+
2347
+ NONE =
2348
+ T.let(
2349
+ :NONE,
2350
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
2351
+ )
2352
+
2353
+ sig do
2354
+ override.returns(
2355
+ T::Array[
2356
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
2357
+ ]
2358
+ )
2359
+ end
2360
+ def self.values
2361
+ end
2362
+ end
2363
+ end
2364
+
2365
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
2366
+ OrHash =
2367
+ T.type_alias do
2368
+ T.any(
2369
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs,
2370
+ MetronomeSDK::Internal::AnyHash
2371
+ )
2372
+ end
2373
+
2374
+ sig { returns(T::Array[String]) }
2375
+ attr_accessor :contract_ids
2376
+
2377
+ sig do
2378
+ returns(
2379
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
2380
+ )
2381
+ end
2382
+ attr_accessor :type
2383
+
2384
+ sig do
2385
+ params(
2386
+ contract_ids: T::Array[String],
2387
+ type:
2388
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
2389
+ ).returns(T.attached_class)
2390
+ end
2391
+ def self.new(contract_ids:, type:)
2392
+ end
2393
+
2394
+ sig do
2395
+ override.returns(
2396
+ {
2397
+ contract_ids: T::Array[String],
2398
+ type:
2399
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
2400
+ }
2401
+ )
2402
+ end
2403
+ def to_hash
2404
+ end
2405
+
2406
+ module Type
2407
+ extend MetronomeSDK::Internal::Type::Enum
2408
+
2409
+ TaggedSymbol =
2410
+ T.type_alias do
2411
+ T.all(
2412
+ Symbol,
2413
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
2414
+ )
2415
+ end
2416
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2417
+
2418
+ CONTRACT_IDS =
2419
+ T.let(
2420
+ :CONTRACT_IDS,
2421
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
2422
+ )
2423
+
2424
+ sig do
2425
+ override.returns(
2426
+ T::Array[
2427
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
2428
+ ]
2429
+ )
2430
+ end
2431
+ def self.values
2432
+ end
2433
+ end
2434
+ end
2435
+
2436
+ sig do
2437
+ override.returns(
2438
+ T::Array[
2439
+ MetronomeSDK::V1::ContractAmendParams::Credit::HierarchyConfiguration::ChildAccess::Variants
2440
+ ]
2441
+ )
2442
+ end
2443
+ def self.variants
2444
+ end
2445
+ end
2446
+ end
2447
+
1754
2448
  module RateType
1755
2449
  extend MetronomeSDK::Internal::Type::Enum
1756
2450
 
@@ -2833,25 +3527,10 @@ module MetronomeSDK
2833
3527
  attr_writer :quantity
2834
3528
 
2835
3529
  # Only set for TIERED rate_type.
2836
- sig do
2837
- returns(
2838
- T.nilable(
2839
- T::Array[
2840
- MetronomeSDK::V1::ContractAmendParams::Override::OverwriteRate::Tier
2841
- ]
2842
- )
2843
- )
2844
- end
3530
+ sig { returns(T.nilable(T::Array[MetronomeSDK::Tier])) }
2845
3531
  attr_reader :tiers
2846
3532
 
2847
- sig do
2848
- params(
2849
- tiers:
2850
- T::Array[
2851
- MetronomeSDK::V1::ContractAmendParams::Override::OverwriteRate::Tier::OrHash
2852
- ]
2853
- ).void
2854
- end
3533
+ sig { params(tiers: T::Array[MetronomeSDK::Tier::OrHash]).void }
2855
3534
  attr_writer :tiers
2856
3535
 
2857
3536
  # Required for OVERWRITE type.
@@ -2864,10 +3543,7 @@ module MetronomeSDK
2864
3543
  is_prorated: T::Boolean,
2865
3544
  price: Float,
2866
3545
  quantity: Float,
2867
- tiers:
2868
- T::Array[
2869
- MetronomeSDK::V1::ContractAmendParams::Override::OverwriteRate::Tier::OrHash
2870
- ]
3546
+ tiers: T::Array[MetronomeSDK::Tier::OrHash]
2871
3547
  ).returns(T.attached_class)
2872
3548
  end
2873
3549
  def self.new(
@@ -2899,10 +3575,7 @@ module MetronomeSDK
2899
3575
  is_prorated: T::Boolean,
2900
3576
  price: Float,
2901
3577
  quantity: Float,
2902
- tiers:
2903
- T::Array[
2904
- MetronomeSDK::V1::ContractAmendParams::Override::OverwriteRate::Tier
2905
- ]
3578
+ tiers: T::Array[MetronomeSDK::Tier]
2906
3579
  }
2907
3580
  )
2908
3581
  end
@@ -2957,35 +3630,6 @@ module MetronomeSDK
2957
3630
  def self.values
2958
3631
  end
2959
3632
  end
2960
-
2961
- class Tier < MetronomeSDK::Internal::Type::BaseModel
2962
- OrHash =
2963
- T.type_alias do
2964
- T.any(
2965
- MetronomeSDK::V1::ContractAmendParams::Override::OverwriteRate::Tier,
2966
- MetronomeSDK::Internal::AnyHash
2967
- )
2968
- end
2969
-
2970
- sig { returns(Float) }
2971
- attr_accessor :price
2972
-
2973
- sig { returns(T.nilable(Float)) }
2974
- attr_reader :size
2975
-
2976
- sig { params(size: Float).void }
2977
- attr_writer :size
2978
-
2979
- sig do
2980
- params(price: Float, size: Float).returns(T.attached_class)
2981
- end
2982
- def self.new(price:, size: nil)
2983
- end
2984
-
2985
- sig { override.returns({ price: Float, size: Float }) }
2986
- def to_hash
2987
- end
2988
- end
2989
3633
  end
2990
3634
 
2991
3635
  # Indicates whether the override applies to commit rates or list rates. Can only