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
@@ -0,0 +1,1962 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class Commit < MetronomeSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(MetronomeSDK::Commit, MetronomeSDK::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(String) }
12
+ attr_accessor :id
13
+
14
+ sig { returns(MetronomeSDK::Commit::Product) }
15
+ attr_reader :product
16
+
17
+ sig { params(product: MetronomeSDK::Commit::Product::OrHash).void }
18
+ attr_writer :product
19
+
20
+ sig { returns(MetronomeSDK::Commit::Type::TaggedSymbol) }
21
+ attr_accessor :type
22
+
23
+ # The schedule that the customer will gain access to the credits purposed with
24
+ # this commit.
25
+ sig { returns(T.nilable(MetronomeSDK::ScheduleDuration)) }
26
+ attr_reader :access_schedule
27
+
28
+ sig do
29
+ params(access_schedule: MetronomeSDK::ScheduleDuration::OrHash).void
30
+ end
31
+ attr_writer :access_schedule
32
+
33
+ # (DEPRECATED) Use access_schedule + invoice_schedule instead.
34
+ sig { returns(T.nilable(Float)) }
35
+ attr_reader :amount
36
+
37
+ sig { params(amount: Float).void }
38
+ attr_writer :amount
39
+
40
+ sig { returns(T.nilable(T::Array[String])) }
41
+ attr_reader :applicable_contract_ids
42
+
43
+ sig { params(applicable_contract_ids: T::Array[String]).void }
44
+ attr_writer :applicable_contract_ids
45
+
46
+ sig { returns(T.nilable(T::Array[String])) }
47
+ attr_reader :applicable_product_ids
48
+
49
+ sig { params(applicable_product_ids: T::Array[String]).void }
50
+ attr_writer :applicable_product_ids
51
+
52
+ sig { returns(T.nilable(T::Array[String])) }
53
+ attr_reader :applicable_product_tags
54
+
55
+ sig { params(applicable_product_tags: T::Array[String]).void }
56
+ attr_writer :applicable_product_tags
57
+
58
+ # RFC 3339 timestamp indicating when the commit was archived. If not provided, the
59
+ # commit is not archived.
60
+ sig { returns(T.nilable(Time)) }
61
+ attr_reader :archived_at
62
+
63
+ sig { params(archived_at: Time).void }
64
+ attr_writer :archived_at
65
+
66
+ # The current balance of the credit or commit. This balance reflects the amount of
67
+ # credit or commit that the customer has access to use at this moment - thus,
68
+ # expired and upcoming credit or commit segments contribute 0 to the balance. The
69
+ # balance will match the sum of all ledger entries with the exception of the case
70
+ # where the sum of negative manual ledger entries exceeds the positive amount
71
+ # remaining on the credit or commit - in that case, the balance will be 0. All
72
+ # manual ledger entries associated with active credit or commit segments are
73
+ # included in the balance, including future-dated manual ledger entries.
74
+ sig { returns(T.nilable(Float)) }
75
+ attr_reader :balance
76
+
77
+ sig { params(balance: Float).void }
78
+ attr_writer :balance
79
+
80
+ sig { returns(T.nilable(MetronomeSDK::Commit::Contract)) }
81
+ attr_reader :contract
82
+
83
+ sig { params(contract: MetronomeSDK::Commit::Contract::OrHash).void }
84
+ attr_writer :contract
85
+
86
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
87
+ attr_reader :custom_fields
88
+
89
+ sig { params(custom_fields: T::Hash[Symbol, String]).void }
90
+ attr_writer :custom_fields
91
+
92
+ sig { returns(T.nilable(String)) }
93
+ attr_reader :description
94
+
95
+ sig { params(description: String).void }
96
+ attr_writer :description
97
+
98
+ # Optional configuration for commit hierarchy access control
99
+ sig { returns(T.nilable(MetronomeSDK::Commit::HierarchyConfiguration)) }
100
+ attr_reader :hierarchy_configuration
101
+
102
+ sig do
103
+ params(
104
+ hierarchy_configuration:
105
+ MetronomeSDK::Commit::HierarchyConfiguration::OrHash
106
+ ).void
107
+ end
108
+ attr_writer :hierarchy_configuration
109
+
110
+ # The contract that this commit will be billed on.
111
+ sig { returns(T.nilable(MetronomeSDK::Commit::InvoiceContract)) }
112
+ attr_reader :invoice_contract
113
+
114
+ sig do
115
+ params(
116
+ invoice_contract: MetronomeSDK::Commit::InvoiceContract::OrHash
117
+ ).void
118
+ end
119
+ attr_writer :invoice_contract
120
+
121
+ # The schedule that the customer will be invoiced for this commit.
122
+ sig { returns(T.nilable(MetronomeSDK::SchedulePointInTime)) }
123
+ attr_reader :invoice_schedule
124
+
125
+ sig do
126
+ params(invoice_schedule: MetronomeSDK::SchedulePointInTime::OrHash).void
127
+ end
128
+ attr_writer :invoice_schedule
129
+
130
+ # A list of ordered events that impact the balance of a commit. For example, an
131
+ # invoice deduction or a rollover.
132
+ sig do
133
+ returns(T.nilable(T::Array[MetronomeSDK::Commit::Ledger::Variants]))
134
+ end
135
+ attr_reader :ledger
136
+
137
+ sig do
138
+ params(
139
+ ledger:
140
+ T::Array[
141
+ T.any(
142
+ MetronomeSDK::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::OrHash,
143
+ MetronomeSDK::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::OrHash,
144
+ MetronomeSDK::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::OrHash,
145
+ MetronomeSDK::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::OrHash,
146
+ MetronomeSDK::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::OrHash,
147
+ MetronomeSDK::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::OrHash,
148
+ MetronomeSDK::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::OrHash,
149
+ MetronomeSDK::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::OrHash,
150
+ MetronomeSDK::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::OrHash,
151
+ MetronomeSDK::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::OrHash,
152
+ MetronomeSDK::Commit::Ledger::PrepaidCommitManualLedgerEntry::OrHash,
153
+ MetronomeSDK::Commit::Ledger::PostpaidCommitManualLedgerEntry::OrHash,
154
+ MetronomeSDK::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::OrHash
155
+ )
156
+ ]
157
+ ).void
158
+ end
159
+ attr_writer :ledger
160
+
161
+ sig { returns(T.nilable(String)) }
162
+ attr_reader :name
163
+
164
+ sig { params(name: String).void }
165
+ attr_writer :name
166
+
167
+ # This field's availability is dependent on your client's configuration.
168
+ sig { returns(T.nilable(String)) }
169
+ attr_reader :netsuite_sales_order_id
170
+
171
+ sig { params(netsuite_sales_order_id: String).void }
172
+ attr_writer :netsuite_sales_order_id
173
+
174
+ # If multiple credits or commits are applicable, the one with the lower priority
175
+ # will apply first.
176
+ sig { returns(T.nilable(Float)) }
177
+ attr_reader :priority
178
+
179
+ sig { params(priority: Float).void }
180
+ attr_writer :priority
181
+
182
+ sig { returns(T.nilable(MetronomeSDK::Commit::RateType::TaggedSymbol)) }
183
+ attr_reader :rate_type
184
+
185
+ sig { params(rate_type: MetronomeSDK::Commit::RateType::OrSymbol).void }
186
+ attr_writer :rate_type
187
+
188
+ sig { returns(T.nilable(MetronomeSDK::Commit::RolledOverFrom)) }
189
+ attr_reader :rolled_over_from
190
+
191
+ sig do
192
+ params(
193
+ rolled_over_from: MetronomeSDK::Commit::RolledOverFrom::OrHash
194
+ ).void
195
+ end
196
+ attr_writer :rolled_over_from
197
+
198
+ sig { returns(T.nilable(Float)) }
199
+ attr_reader :rollover_fraction
200
+
201
+ sig { params(rollover_fraction: Float).void }
202
+ attr_writer :rollover_fraction
203
+
204
+ # This field's availability is dependent on your client's configuration.
205
+ sig { returns(T.nilable(String)) }
206
+ attr_reader :salesforce_opportunity_id
207
+
208
+ sig { params(salesforce_opportunity_id: String).void }
209
+ attr_writer :salesforce_opportunity_id
210
+
211
+ # List of filters that determine what kind of customer usage draws down a commit
212
+ # or credit. A customer's usage needs to meet the condition of at least one of the
213
+ # specifiers to contribute to a commit's or credit's drawdown.
214
+ sig { returns(T.nilable(T::Array[MetronomeSDK::Commit::Specifier])) }
215
+ attr_reader :specifiers
216
+
217
+ sig do
218
+ params(
219
+ specifiers: T::Array[MetronomeSDK::Commit::Specifier::OrHash]
220
+ ).void
221
+ end
222
+ attr_writer :specifiers
223
+
224
+ # Prevents the creation of duplicates. If a request to create a commit or credit
225
+ # is made with a uniqueness key that was previously used to create a commit or
226
+ # credit, a new record will not be created and the request will fail with a 409
227
+ # error.
228
+ sig { returns(T.nilable(String)) }
229
+ attr_reader :uniqueness_key
230
+
231
+ sig { params(uniqueness_key: String).void }
232
+ attr_writer :uniqueness_key
233
+
234
+ sig do
235
+ params(
236
+ id: String,
237
+ product: MetronomeSDK::Commit::Product::OrHash,
238
+ type: MetronomeSDK::Commit::Type::OrSymbol,
239
+ access_schedule: MetronomeSDK::ScheduleDuration::OrHash,
240
+ amount: Float,
241
+ applicable_contract_ids: T::Array[String],
242
+ applicable_product_ids: T::Array[String],
243
+ applicable_product_tags: T::Array[String],
244
+ archived_at: Time,
245
+ balance: Float,
246
+ contract: MetronomeSDK::Commit::Contract::OrHash,
247
+ custom_fields: T::Hash[Symbol, String],
248
+ description: String,
249
+ hierarchy_configuration:
250
+ MetronomeSDK::Commit::HierarchyConfiguration::OrHash,
251
+ invoice_contract: MetronomeSDK::Commit::InvoiceContract::OrHash,
252
+ invoice_schedule: MetronomeSDK::SchedulePointInTime::OrHash,
253
+ ledger:
254
+ T::Array[
255
+ T.any(
256
+ MetronomeSDK::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::OrHash,
257
+ MetronomeSDK::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::OrHash,
258
+ MetronomeSDK::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::OrHash,
259
+ MetronomeSDK::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::OrHash,
260
+ MetronomeSDK::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::OrHash,
261
+ MetronomeSDK::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::OrHash,
262
+ MetronomeSDK::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::OrHash,
263
+ MetronomeSDK::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::OrHash,
264
+ MetronomeSDK::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::OrHash,
265
+ MetronomeSDK::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::OrHash,
266
+ MetronomeSDK::Commit::Ledger::PrepaidCommitManualLedgerEntry::OrHash,
267
+ MetronomeSDK::Commit::Ledger::PostpaidCommitManualLedgerEntry::OrHash,
268
+ MetronomeSDK::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::OrHash
269
+ )
270
+ ],
271
+ name: String,
272
+ netsuite_sales_order_id: String,
273
+ priority: Float,
274
+ rate_type: MetronomeSDK::Commit::RateType::OrSymbol,
275
+ rolled_over_from: MetronomeSDK::Commit::RolledOverFrom::OrHash,
276
+ rollover_fraction: Float,
277
+ salesforce_opportunity_id: String,
278
+ specifiers: T::Array[MetronomeSDK::Commit::Specifier::OrHash],
279
+ uniqueness_key: String
280
+ ).returns(T.attached_class)
281
+ end
282
+ def self.new(
283
+ id:,
284
+ product:,
285
+ type:,
286
+ # The schedule that the customer will gain access to the credits purposed with
287
+ # this commit.
288
+ access_schedule: nil,
289
+ # (DEPRECATED) Use access_schedule + invoice_schedule instead.
290
+ amount: nil,
291
+ applicable_contract_ids: nil,
292
+ applicable_product_ids: nil,
293
+ applicable_product_tags: nil,
294
+ # RFC 3339 timestamp indicating when the commit was archived. If not provided, the
295
+ # commit is not archived.
296
+ archived_at: nil,
297
+ # The current balance of the credit or commit. This balance reflects the amount of
298
+ # credit or commit that the customer has access to use at this moment - thus,
299
+ # expired and upcoming credit or commit segments contribute 0 to the balance. The
300
+ # balance will match the sum of all ledger entries with the exception of the case
301
+ # where the sum of negative manual ledger entries exceeds the positive amount
302
+ # remaining on the credit or commit - in that case, the balance will be 0. All
303
+ # manual ledger entries associated with active credit or commit segments are
304
+ # included in the balance, including future-dated manual ledger entries.
305
+ balance: nil,
306
+ contract: nil,
307
+ custom_fields: nil,
308
+ description: nil,
309
+ # Optional configuration for commit hierarchy access control
310
+ hierarchy_configuration: nil,
311
+ # The contract that this commit will be billed on.
312
+ invoice_contract: nil,
313
+ # The schedule that the customer will be invoiced for this commit.
314
+ invoice_schedule: nil,
315
+ # A list of ordered events that impact the balance of a commit. For example, an
316
+ # invoice deduction or a rollover.
317
+ ledger: nil,
318
+ name: nil,
319
+ # This field's availability is dependent on your client's configuration.
320
+ netsuite_sales_order_id: nil,
321
+ # If multiple credits or commits are applicable, the one with the lower priority
322
+ # will apply first.
323
+ priority: nil,
324
+ rate_type: nil,
325
+ rolled_over_from: nil,
326
+ rollover_fraction: nil,
327
+ # This field's availability is dependent on your client's configuration.
328
+ salesforce_opportunity_id: nil,
329
+ # List of filters that determine what kind of customer usage draws down a commit
330
+ # or credit. A customer's usage needs to meet the condition of at least one of the
331
+ # specifiers to contribute to a commit's or credit's drawdown.
332
+ specifiers: nil,
333
+ # Prevents the creation of duplicates. If a request to create a commit or credit
334
+ # is made with a uniqueness key that was previously used to create a commit or
335
+ # credit, a new record will not be created and the request will fail with a 409
336
+ # error.
337
+ uniqueness_key: nil
338
+ )
339
+ end
340
+
341
+ sig do
342
+ override.returns(
343
+ {
344
+ id: String,
345
+ product: MetronomeSDK::Commit::Product,
346
+ type: MetronomeSDK::Commit::Type::TaggedSymbol,
347
+ access_schedule: MetronomeSDK::ScheduleDuration,
348
+ amount: Float,
349
+ applicable_contract_ids: T::Array[String],
350
+ applicable_product_ids: T::Array[String],
351
+ applicable_product_tags: T::Array[String],
352
+ archived_at: Time,
353
+ balance: Float,
354
+ contract: MetronomeSDK::Commit::Contract,
355
+ custom_fields: T::Hash[Symbol, String],
356
+ description: String,
357
+ hierarchy_configuration:
358
+ MetronomeSDK::Commit::HierarchyConfiguration,
359
+ invoice_contract: MetronomeSDK::Commit::InvoiceContract,
360
+ invoice_schedule: MetronomeSDK::SchedulePointInTime,
361
+ ledger: T::Array[MetronomeSDK::Commit::Ledger::Variants],
362
+ name: String,
363
+ netsuite_sales_order_id: String,
364
+ priority: Float,
365
+ rate_type: MetronomeSDK::Commit::RateType::TaggedSymbol,
366
+ rolled_over_from: MetronomeSDK::Commit::RolledOverFrom,
367
+ rollover_fraction: Float,
368
+ salesforce_opportunity_id: String,
369
+ specifiers: T::Array[MetronomeSDK::Commit::Specifier],
370
+ uniqueness_key: String
371
+ }
372
+ )
373
+ end
374
+ def to_hash
375
+ end
376
+
377
+ class Product < MetronomeSDK::Internal::Type::BaseModel
378
+ OrHash =
379
+ T.type_alias do
380
+ T.any(
381
+ MetronomeSDK::Commit::Product,
382
+ MetronomeSDK::Internal::AnyHash
383
+ )
384
+ end
385
+
386
+ sig { returns(String) }
387
+ attr_accessor :id
388
+
389
+ sig { returns(String) }
390
+ attr_accessor :name
391
+
392
+ sig { params(id: String, name: String).returns(T.attached_class) }
393
+ def self.new(id:, name:)
394
+ end
395
+
396
+ sig { override.returns({ id: String, name: String }) }
397
+ def to_hash
398
+ end
399
+ end
400
+
401
+ module Type
402
+ extend MetronomeSDK::Internal::Type::Enum
403
+
404
+ TaggedSymbol =
405
+ T.type_alias { T.all(Symbol, MetronomeSDK::Commit::Type) }
406
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
407
+
408
+ PREPAID = T.let(:PREPAID, MetronomeSDK::Commit::Type::TaggedSymbol)
409
+ POSTPAID = T.let(:POSTPAID, MetronomeSDK::Commit::Type::TaggedSymbol)
410
+
411
+ sig do
412
+ override.returns(T::Array[MetronomeSDK::Commit::Type::TaggedSymbol])
413
+ end
414
+ def self.values
415
+ end
416
+ end
417
+
418
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
419
+ OrHash =
420
+ T.type_alias do
421
+ T.any(
422
+ MetronomeSDK::Commit::Contract,
423
+ MetronomeSDK::Internal::AnyHash
424
+ )
425
+ end
426
+
427
+ sig { returns(String) }
428
+ attr_accessor :id
429
+
430
+ sig { params(id: String).returns(T.attached_class) }
431
+ def self.new(id:)
432
+ end
433
+
434
+ sig { override.returns({ id: String }) }
435
+ def to_hash
436
+ end
437
+ end
438
+
439
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
440
+ OrHash =
441
+ T.type_alias do
442
+ T.any(
443
+ MetronomeSDK::Commit::HierarchyConfiguration,
444
+ MetronomeSDK::Internal::AnyHash
445
+ )
446
+ end
447
+
448
+ sig do
449
+ returns(
450
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::Variants
451
+ )
452
+ end
453
+ attr_accessor :child_access
454
+
455
+ # Optional configuration for commit hierarchy access control
456
+ sig do
457
+ params(
458
+ child_access:
459
+ T.any(
460
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::OrHash,
461
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::OrHash,
462
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::OrHash
463
+ )
464
+ ).returns(T.attached_class)
465
+ end
466
+ def self.new(child_access:)
467
+ end
468
+
469
+ sig do
470
+ override.returns(
471
+ {
472
+ child_access:
473
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::Variants
474
+ }
475
+ )
476
+ end
477
+ def to_hash
478
+ end
479
+
480
+ module ChildAccess
481
+ extend MetronomeSDK::Internal::Type::Union
482
+
483
+ Variants =
484
+ T.type_alias do
485
+ T.any(
486
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
487
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
488
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
489
+ )
490
+ end
491
+
492
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
493
+ OrHash =
494
+ T.type_alias do
495
+ T.any(
496
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll,
497
+ MetronomeSDK::Internal::AnyHash
498
+ )
499
+ end
500
+
501
+ sig do
502
+ returns(
503
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
504
+ )
505
+ end
506
+ attr_accessor :type
507
+
508
+ sig do
509
+ params(
510
+ type:
511
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::OrSymbol
512
+ ).returns(T.attached_class)
513
+ end
514
+ def self.new(type:)
515
+ end
516
+
517
+ sig do
518
+ override.returns(
519
+ {
520
+ type:
521
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
522
+ }
523
+ )
524
+ end
525
+ def to_hash
526
+ end
527
+
528
+ module Type
529
+ extend MetronomeSDK::Internal::Type::Enum
530
+
531
+ TaggedSymbol =
532
+ T.type_alias do
533
+ T.all(
534
+ Symbol,
535
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
536
+ )
537
+ end
538
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
539
+
540
+ ALL =
541
+ T.let(
542
+ :ALL,
543
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
544
+ )
545
+
546
+ sig do
547
+ override.returns(
548
+ T::Array[
549
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type::TaggedSymbol
550
+ ]
551
+ )
552
+ end
553
+ def self.values
554
+ end
555
+ end
556
+ end
557
+
558
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
559
+ OrHash =
560
+ T.type_alias do
561
+ T.any(
562
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone,
563
+ MetronomeSDK::Internal::AnyHash
564
+ )
565
+ end
566
+
567
+ sig do
568
+ returns(
569
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
570
+ )
571
+ end
572
+ attr_accessor :type
573
+
574
+ sig do
575
+ params(
576
+ type:
577
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::OrSymbol
578
+ ).returns(T.attached_class)
579
+ end
580
+ def self.new(type:)
581
+ end
582
+
583
+ sig do
584
+ override.returns(
585
+ {
586
+ type:
587
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
588
+ }
589
+ )
590
+ end
591
+ def to_hash
592
+ end
593
+
594
+ module Type
595
+ extend MetronomeSDK::Internal::Type::Enum
596
+
597
+ TaggedSymbol =
598
+ T.type_alias do
599
+ T.all(
600
+ Symbol,
601
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
602
+ )
603
+ end
604
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
605
+
606
+ NONE =
607
+ T.let(
608
+ :NONE,
609
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
610
+ )
611
+
612
+ sig do
613
+ override.returns(
614
+ T::Array[
615
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type::TaggedSymbol
616
+ ]
617
+ )
618
+ end
619
+ def self.values
620
+ end
621
+ end
622
+ end
623
+
624
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
625
+ OrHash =
626
+ T.type_alias do
627
+ T.any(
628
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs,
629
+ MetronomeSDK::Internal::AnyHash
630
+ )
631
+ end
632
+
633
+ sig { returns(T::Array[String]) }
634
+ attr_accessor :contract_ids
635
+
636
+ sig do
637
+ returns(
638
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
639
+ )
640
+ end
641
+ attr_accessor :type
642
+
643
+ sig do
644
+ params(
645
+ contract_ids: T::Array[String],
646
+ type:
647
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::OrSymbol
648
+ ).returns(T.attached_class)
649
+ end
650
+ def self.new(contract_ids:, type:)
651
+ end
652
+
653
+ sig do
654
+ override.returns(
655
+ {
656
+ contract_ids: T::Array[String],
657
+ type:
658
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
659
+ }
660
+ )
661
+ end
662
+ def to_hash
663
+ end
664
+
665
+ module Type
666
+ extend MetronomeSDK::Internal::Type::Enum
667
+
668
+ TaggedSymbol =
669
+ T.type_alias do
670
+ T.all(
671
+ Symbol,
672
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
673
+ )
674
+ end
675
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
676
+
677
+ CONTRACT_IDS =
678
+ T.let(
679
+ :CONTRACT_IDS,
680
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
681
+ )
682
+
683
+ sig do
684
+ override.returns(
685
+ T::Array[
686
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type::TaggedSymbol
687
+ ]
688
+ )
689
+ end
690
+ def self.values
691
+ end
692
+ end
693
+ end
694
+
695
+ sig do
696
+ override.returns(
697
+ T::Array[
698
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::Variants
699
+ ]
700
+ )
701
+ end
702
+ def self.variants
703
+ end
704
+ end
705
+ end
706
+
707
+ class InvoiceContract < MetronomeSDK::Internal::Type::BaseModel
708
+ OrHash =
709
+ T.type_alias do
710
+ T.any(
711
+ MetronomeSDK::Commit::InvoiceContract,
712
+ MetronomeSDK::Internal::AnyHash
713
+ )
714
+ end
715
+
716
+ sig { returns(String) }
717
+ attr_accessor :id
718
+
719
+ # The contract that this commit will be billed on.
720
+ sig { params(id: String).returns(T.attached_class) }
721
+ def self.new(id:)
722
+ end
723
+
724
+ sig { override.returns({ id: String }) }
725
+ def to_hash
726
+ end
727
+ end
728
+
729
+ module Ledger
730
+ extend MetronomeSDK::Internal::Type::Union
731
+
732
+ Variants =
733
+ T.type_alias do
734
+ T.any(
735
+ MetronomeSDK::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry,
736
+ MetronomeSDK::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry,
737
+ MetronomeSDK::Commit::Ledger::PrepaidCommitRolloverLedgerEntry,
738
+ MetronomeSDK::Commit::Ledger::PrepaidCommitExpirationLedgerEntry,
739
+ MetronomeSDK::Commit::Ledger::PrepaidCommitCanceledLedgerEntry,
740
+ MetronomeSDK::Commit::Ledger::PrepaidCommitCreditedLedgerEntry,
741
+ MetronomeSDK::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry,
742
+ MetronomeSDK::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry,
743
+ MetronomeSDK::Commit::Ledger::PostpaidCommitRolloverLedgerEntry,
744
+ MetronomeSDK::Commit::Ledger::PostpaidCommitTrueupLedgerEntry,
745
+ MetronomeSDK::Commit::Ledger::PrepaidCommitManualLedgerEntry,
746
+ MetronomeSDK::Commit::Ledger::PostpaidCommitManualLedgerEntry,
747
+ MetronomeSDK::Commit::Ledger::PostpaidCommitExpirationLedgerEntry
748
+ )
749
+ end
750
+
751
+ class PrepaidCommitSegmentStartLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
752
+ OrHash =
753
+ T.type_alias do
754
+ T.any(
755
+ MetronomeSDK::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry,
756
+ MetronomeSDK::Internal::AnyHash
757
+ )
758
+ end
759
+
760
+ sig { returns(Float) }
761
+ attr_accessor :amount
762
+
763
+ sig { returns(String) }
764
+ attr_accessor :segment_id
765
+
766
+ sig { returns(Time) }
767
+ attr_accessor :timestamp
768
+
769
+ sig do
770
+ returns(
771
+ MetronomeSDK::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type::TaggedSymbol
772
+ )
773
+ end
774
+ attr_accessor :type
775
+
776
+ sig do
777
+ params(
778
+ amount: Float,
779
+ segment_id: String,
780
+ timestamp: Time,
781
+ type:
782
+ MetronomeSDK::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type::OrSymbol
783
+ ).returns(T.attached_class)
784
+ end
785
+ def self.new(amount:, segment_id:, timestamp:, type:)
786
+ end
787
+
788
+ sig do
789
+ override.returns(
790
+ {
791
+ amount: Float,
792
+ segment_id: String,
793
+ timestamp: Time,
794
+ type:
795
+ MetronomeSDK::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type::TaggedSymbol
796
+ }
797
+ )
798
+ end
799
+ def to_hash
800
+ end
801
+
802
+ module Type
803
+ extend MetronomeSDK::Internal::Type::Enum
804
+
805
+ TaggedSymbol =
806
+ T.type_alias do
807
+ T.all(
808
+ Symbol,
809
+ MetronomeSDK::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type
810
+ )
811
+ end
812
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
813
+
814
+ PREPAID_COMMIT_SEGMENT_START =
815
+ T.let(
816
+ :PREPAID_COMMIT_SEGMENT_START,
817
+ MetronomeSDK::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type::TaggedSymbol
818
+ )
819
+
820
+ sig do
821
+ override.returns(
822
+ T::Array[
823
+ MetronomeSDK::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type::TaggedSymbol
824
+ ]
825
+ )
826
+ end
827
+ def self.values
828
+ end
829
+ end
830
+ end
831
+
832
+ class PrepaidCommitAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
833
+ OrHash =
834
+ T.type_alias do
835
+ T.any(
836
+ MetronomeSDK::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry,
837
+ MetronomeSDK::Internal::AnyHash
838
+ )
839
+ end
840
+
841
+ sig { returns(Float) }
842
+ attr_accessor :amount
843
+
844
+ sig { returns(String) }
845
+ attr_accessor :invoice_id
846
+
847
+ sig { returns(String) }
848
+ attr_accessor :segment_id
849
+
850
+ sig { returns(Time) }
851
+ attr_accessor :timestamp
852
+
853
+ sig do
854
+ returns(
855
+ MetronomeSDK::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol
856
+ )
857
+ end
858
+ attr_accessor :type
859
+
860
+ sig do
861
+ params(
862
+ amount: Float,
863
+ invoice_id: String,
864
+ segment_id: String,
865
+ timestamp: Time,
866
+ type:
867
+ MetronomeSDK::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::OrSymbol
868
+ ).returns(T.attached_class)
869
+ end
870
+ def self.new(amount:, invoice_id:, segment_id:, timestamp:, type:)
871
+ end
872
+
873
+ sig do
874
+ override.returns(
875
+ {
876
+ amount: Float,
877
+ invoice_id: String,
878
+ segment_id: String,
879
+ timestamp: Time,
880
+ type:
881
+ MetronomeSDK::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol
882
+ }
883
+ )
884
+ end
885
+ def to_hash
886
+ end
887
+
888
+ module Type
889
+ extend MetronomeSDK::Internal::Type::Enum
890
+
891
+ TaggedSymbol =
892
+ T.type_alias do
893
+ T.all(
894
+ Symbol,
895
+ MetronomeSDK::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type
896
+ )
897
+ end
898
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
899
+
900
+ PREPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION =
901
+ T.let(
902
+ :PREPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION,
903
+ MetronomeSDK::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol
904
+ )
905
+
906
+ sig do
907
+ override.returns(
908
+ T::Array[
909
+ MetronomeSDK::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol
910
+ ]
911
+ )
912
+ end
913
+ def self.values
914
+ end
915
+ end
916
+ end
917
+
918
+ class PrepaidCommitRolloverLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
919
+ OrHash =
920
+ T.type_alias do
921
+ T.any(
922
+ MetronomeSDK::Commit::Ledger::PrepaidCommitRolloverLedgerEntry,
923
+ MetronomeSDK::Internal::AnyHash
924
+ )
925
+ end
926
+
927
+ sig { returns(Float) }
928
+ attr_accessor :amount
929
+
930
+ sig { returns(String) }
931
+ attr_accessor :new_contract_id
932
+
933
+ sig { returns(String) }
934
+ attr_accessor :segment_id
935
+
936
+ sig { returns(Time) }
937
+ attr_accessor :timestamp
938
+
939
+ sig do
940
+ returns(
941
+ MetronomeSDK::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type::TaggedSymbol
942
+ )
943
+ end
944
+ attr_accessor :type
945
+
946
+ sig do
947
+ params(
948
+ amount: Float,
949
+ new_contract_id: String,
950
+ segment_id: String,
951
+ timestamp: Time,
952
+ type:
953
+ MetronomeSDK::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type::OrSymbol
954
+ ).returns(T.attached_class)
955
+ end
956
+ def self.new(
957
+ amount:,
958
+ new_contract_id:,
959
+ segment_id:,
960
+ timestamp:,
961
+ type:
962
+ )
963
+ end
964
+
965
+ sig do
966
+ override.returns(
967
+ {
968
+ amount: Float,
969
+ new_contract_id: String,
970
+ segment_id: String,
971
+ timestamp: Time,
972
+ type:
973
+ MetronomeSDK::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type::TaggedSymbol
974
+ }
975
+ )
976
+ end
977
+ def to_hash
978
+ end
979
+
980
+ module Type
981
+ extend MetronomeSDK::Internal::Type::Enum
982
+
983
+ TaggedSymbol =
984
+ T.type_alias do
985
+ T.all(
986
+ Symbol,
987
+ MetronomeSDK::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type
988
+ )
989
+ end
990
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
991
+
992
+ PREPAID_COMMIT_ROLLOVER =
993
+ T.let(
994
+ :PREPAID_COMMIT_ROLLOVER,
995
+ MetronomeSDK::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type::TaggedSymbol
996
+ )
997
+
998
+ sig do
999
+ override.returns(
1000
+ T::Array[
1001
+ MetronomeSDK::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type::TaggedSymbol
1002
+ ]
1003
+ )
1004
+ end
1005
+ def self.values
1006
+ end
1007
+ end
1008
+ end
1009
+
1010
+ class PrepaidCommitExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1011
+ OrHash =
1012
+ T.type_alias do
1013
+ T.any(
1014
+ MetronomeSDK::Commit::Ledger::PrepaidCommitExpirationLedgerEntry,
1015
+ MetronomeSDK::Internal::AnyHash
1016
+ )
1017
+ end
1018
+
1019
+ sig { returns(Float) }
1020
+ attr_accessor :amount
1021
+
1022
+ sig { returns(String) }
1023
+ attr_accessor :segment_id
1024
+
1025
+ sig { returns(Time) }
1026
+ attr_accessor :timestamp
1027
+
1028
+ sig do
1029
+ returns(
1030
+ MetronomeSDK::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type::TaggedSymbol
1031
+ )
1032
+ end
1033
+ attr_accessor :type
1034
+
1035
+ sig do
1036
+ params(
1037
+ amount: Float,
1038
+ segment_id: String,
1039
+ timestamp: Time,
1040
+ type:
1041
+ MetronomeSDK::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type::OrSymbol
1042
+ ).returns(T.attached_class)
1043
+ end
1044
+ def self.new(amount:, segment_id:, timestamp:, type:)
1045
+ end
1046
+
1047
+ sig do
1048
+ override.returns(
1049
+ {
1050
+ amount: Float,
1051
+ segment_id: String,
1052
+ timestamp: Time,
1053
+ type:
1054
+ MetronomeSDK::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type::TaggedSymbol
1055
+ }
1056
+ )
1057
+ end
1058
+ def to_hash
1059
+ end
1060
+
1061
+ module Type
1062
+ extend MetronomeSDK::Internal::Type::Enum
1063
+
1064
+ TaggedSymbol =
1065
+ T.type_alias do
1066
+ T.all(
1067
+ Symbol,
1068
+ MetronomeSDK::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type
1069
+ )
1070
+ end
1071
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1072
+
1073
+ PREPAID_COMMIT_EXPIRATION =
1074
+ T.let(
1075
+ :PREPAID_COMMIT_EXPIRATION,
1076
+ MetronomeSDK::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type::TaggedSymbol
1077
+ )
1078
+
1079
+ sig do
1080
+ override.returns(
1081
+ T::Array[
1082
+ MetronomeSDK::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type::TaggedSymbol
1083
+ ]
1084
+ )
1085
+ end
1086
+ def self.values
1087
+ end
1088
+ end
1089
+ end
1090
+
1091
+ class PrepaidCommitCanceledLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1092
+ OrHash =
1093
+ T.type_alias do
1094
+ T.any(
1095
+ MetronomeSDK::Commit::Ledger::PrepaidCommitCanceledLedgerEntry,
1096
+ MetronomeSDK::Internal::AnyHash
1097
+ )
1098
+ end
1099
+
1100
+ sig { returns(Float) }
1101
+ attr_accessor :amount
1102
+
1103
+ sig { returns(String) }
1104
+ attr_accessor :invoice_id
1105
+
1106
+ sig { returns(String) }
1107
+ attr_accessor :segment_id
1108
+
1109
+ sig { returns(Time) }
1110
+ attr_accessor :timestamp
1111
+
1112
+ sig do
1113
+ returns(
1114
+ MetronomeSDK::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type::TaggedSymbol
1115
+ )
1116
+ end
1117
+ attr_accessor :type
1118
+
1119
+ sig do
1120
+ params(
1121
+ amount: Float,
1122
+ invoice_id: String,
1123
+ segment_id: String,
1124
+ timestamp: Time,
1125
+ type:
1126
+ MetronomeSDK::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type::OrSymbol
1127
+ ).returns(T.attached_class)
1128
+ end
1129
+ def self.new(amount:, invoice_id:, segment_id:, timestamp:, type:)
1130
+ end
1131
+
1132
+ sig do
1133
+ override.returns(
1134
+ {
1135
+ amount: Float,
1136
+ invoice_id: String,
1137
+ segment_id: String,
1138
+ timestamp: Time,
1139
+ type:
1140
+ MetronomeSDK::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type::TaggedSymbol
1141
+ }
1142
+ )
1143
+ end
1144
+ def to_hash
1145
+ end
1146
+
1147
+ module Type
1148
+ extend MetronomeSDK::Internal::Type::Enum
1149
+
1150
+ TaggedSymbol =
1151
+ T.type_alias do
1152
+ T.all(
1153
+ Symbol,
1154
+ MetronomeSDK::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type
1155
+ )
1156
+ end
1157
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1158
+
1159
+ PREPAID_COMMIT_CANCELED =
1160
+ T.let(
1161
+ :PREPAID_COMMIT_CANCELED,
1162
+ MetronomeSDK::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type::TaggedSymbol
1163
+ )
1164
+
1165
+ sig do
1166
+ override.returns(
1167
+ T::Array[
1168
+ MetronomeSDK::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type::TaggedSymbol
1169
+ ]
1170
+ )
1171
+ end
1172
+ def self.values
1173
+ end
1174
+ end
1175
+ end
1176
+
1177
+ class PrepaidCommitCreditedLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1178
+ OrHash =
1179
+ T.type_alias do
1180
+ T.any(
1181
+ MetronomeSDK::Commit::Ledger::PrepaidCommitCreditedLedgerEntry,
1182
+ MetronomeSDK::Internal::AnyHash
1183
+ )
1184
+ end
1185
+
1186
+ sig { returns(Float) }
1187
+ attr_accessor :amount
1188
+
1189
+ sig { returns(String) }
1190
+ attr_accessor :invoice_id
1191
+
1192
+ sig { returns(String) }
1193
+ attr_accessor :segment_id
1194
+
1195
+ sig { returns(Time) }
1196
+ attr_accessor :timestamp
1197
+
1198
+ sig do
1199
+ returns(
1200
+ MetronomeSDK::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type::TaggedSymbol
1201
+ )
1202
+ end
1203
+ attr_accessor :type
1204
+
1205
+ sig do
1206
+ params(
1207
+ amount: Float,
1208
+ invoice_id: String,
1209
+ segment_id: String,
1210
+ timestamp: Time,
1211
+ type:
1212
+ MetronomeSDK::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type::OrSymbol
1213
+ ).returns(T.attached_class)
1214
+ end
1215
+ def self.new(amount:, invoice_id:, segment_id:, timestamp:, type:)
1216
+ end
1217
+
1218
+ sig do
1219
+ override.returns(
1220
+ {
1221
+ amount: Float,
1222
+ invoice_id: String,
1223
+ segment_id: String,
1224
+ timestamp: Time,
1225
+ type:
1226
+ MetronomeSDK::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type::TaggedSymbol
1227
+ }
1228
+ )
1229
+ end
1230
+ def to_hash
1231
+ end
1232
+
1233
+ module Type
1234
+ extend MetronomeSDK::Internal::Type::Enum
1235
+
1236
+ TaggedSymbol =
1237
+ T.type_alias do
1238
+ T.all(
1239
+ Symbol,
1240
+ MetronomeSDK::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type
1241
+ )
1242
+ end
1243
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1244
+
1245
+ PREPAID_COMMIT_CREDITED =
1246
+ T.let(
1247
+ :PREPAID_COMMIT_CREDITED,
1248
+ MetronomeSDK::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type::TaggedSymbol
1249
+ )
1250
+
1251
+ sig do
1252
+ override.returns(
1253
+ T::Array[
1254
+ MetronomeSDK::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type::TaggedSymbol
1255
+ ]
1256
+ )
1257
+ end
1258
+ def self.values
1259
+ end
1260
+ end
1261
+ end
1262
+
1263
+ class PostpaidCommitInitialBalanceLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1264
+ OrHash =
1265
+ T.type_alias do
1266
+ T.any(
1267
+ MetronomeSDK::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry,
1268
+ MetronomeSDK::Internal::AnyHash
1269
+ )
1270
+ end
1271
+
1272
+ sig { returns(Float) }
1273
+ attr_accessor :amount
1274
+
1275
+ sig { returns(Time) }
1276
+ attr_accessor :timestamp
1277
+
1278
+ sig do
1279
+ returns(
1280
+ MetronomeSDK::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type::TaggedSymbol
1281
+ )
1282
+ end
1283
+ attr_accessor :type
1284
+
1285
+ sig do
1286
+ params(
1287
+ amount: Float,
1288
+ timestamp: Time,
1289
+ type:
1290
+ MetronomeSDK::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type::OrSymbol
1291
+ ).returns(T.attached_class)
1292
+ end
1293
+ def self.new(amount:, timestamp:, type:)
1294
+ end
1295
+
1296
+ sig do
1297
+ override.returns(
1298
+ {
1299
+ amount: Float,
1300
+ timestamp: Time,
1301
+ type:
1302
+ MetronomeSDK::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type::TaggedSymbol
1303
+ }
1304
+ )
1305
+ end
1306
+ def to_hash
1307
+ end
1308
+
1309
+ module Type
1310
+ extend MetronomeSDK::Internal::Type::Enum
1311
+
1312
+ TaggedSymbol =
1313
+ T.type_alias do
1314
+ T.all(
1315
+ Symbol,
1316
+ MetronomeSDK::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type
1317
+ )
1318
+ end
1319
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1320
+
1321
+ POSTPAID_COMMIT_INITIAL_BALANCE =
1322
+ T.let(
1323
+ :POSTPAID_COMMIT_INITIAL_BALANCE,
1324
+ MetronomeSDK::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type::TaggedSymbol
1325
+ )
1326
+
1327
+ sig do
1328
+ override.returns(
1329
+ T::Array[
1330
+ MetronomeSDK::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type::TaggedSymbol
1331
+ ]
1332
+ )
1333
+ end
1334
+ def self.values
1335
+ end
1336
+ end
1337
+ end
1338
+
1339
+ class PostpaidCommitAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1340
+ OrHash =
1341
+ T.type_alias do
1342
+ T.any(
1343
+ MetronomeSDK::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry,
1344
+ MetronomeSDK::Internal::AnyHash
1345
+ )
1346
+ end
1347
+
1348
+ sig { returns(Float) }
1349
+ attr_accessor :amount
1350
+
1351
+ sig { returns(String) }
1352
+ attr_accessor :invoice_id
1353
+
1354
+ sig { returns(String) }
1355
+ attr_accessor :segment_id
1356
+
1357
+ sig { returns(Time) }
1358
+ attr_accessor :timestamp
1359
+
1360
+ sig do
1361
+ returns(
1362
+ MetronomeSDK::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol
1363
+ )
1364
+ end
1365
+ attr_accessor :type
1366
+
1367
+ sig do
1368
+ params(
1369
+ amount: Float,
1370
+ invoice_id: String,
1371
+ segment_id: String,
1372
+ timestamp: Time,
1373
+ type:
1374
+ MetronomeSDK::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::OrSymbol
1375
+ ).returns(T.attached_class)
1376
+ end
1377
+ def self.new(amount:, invoice_id:, segment_id:, timestamp:, type:)
1378
+ end
1379
+
1380
+ sig do
1381
+ override.returns(
1382
+ {
1383
+ amount: Float,
1384
+ invoice_id: String,
1385
+ segment_id: String,
1386
+ timestamp: Time,
1387
+ type:
1388
+ MetronomeSDK::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol
1389
+ }
1390
+ )
1391
+ end
1392
+ def to_hash
1393
+ end
1394
+
1395
+ module Type
1396
+ extend MetronomeSDK::Internal::Type::Enum
1397
+
1398
+ TaggedSymbol =
1399
+ T.type_alias do
1400
+ T.all(
1401
+ Symbol,
1402
+ MetronomeSDK::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type
1403
+ )
1404
+ end
1405
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1406
+
1407
+ POSTPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION =
1408
+ T.let(
1409
+ :POSTPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION,
1410
+ MetronomeSDK::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol
1411
+ )
1412
+
1413
+ sig do
1414
+ override.returns(
1415
+ T::Array[
1416
+ MetronomeSDK::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol
1417
+ ]
1418
+ )
1419
+ end
1420
+ def self.values
1421
+ end
1422
+ end
1423
+ end
1424
+
1425
+ class PostpaidCommitRolloverLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1426
+ OrHash =
1427
+ T.type_alias do
1428
+ T.any(
1429
+ MetronomeSDK::Commit::Ledger::PostpaidCommitRolloverLedgerEntry,
1430
+ MetronomeSDK::Internal::AnyHash
1431
+ )
1432
+ end
1433
+
1434
+ sig { returns(Float) }
1435
+ attr_accessor :amount
1436
+
1437
+ sig { returns(String) }
1438
+ attr_accessor :new_contract_id
1439
+
1440
+ sig { returns(String) }
1441
+ attr_accessor :segment_id
1442
+
1443
+ sig { returns(Time) }
1444
+ attr_accessor :timestamp
1445
+
1446
+ sig do
1447
+ returns(
1448
+ MetronomeSDK::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type::TaggedSymbol
1449
+ )
1450
+ end
1451
+ attr_accessor :type
1452
+
1453
+ sig do
1454
+ params(
1455
+ amount: Float,
1456
+ new_contract_id: String,
1457
+ segment_id: String,
1458
+ timestamp: Time,
1459
+ type:
1460
+ MetronomeSDK::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type::OrSymbol
1461
+ ).returns(T.attached_class)
1462
+ end
1463
+ def self.new(
1464
+ amount:,
1465
+ new_contract_id:,
1466
+ segment_id:,
1467
+ timestamp:,
1468
+ type:
1469
+ )
1470
+ end
1471
+
1472
+ sig do
1473
+ override.returns(
1474
+ {
1475
+ amount: Float,
1476
+ new_contract_id: String,
1477
+ segment_id: String,
1478
+ timestamp: Time,
1479
+ type:
1480
+ MetronomeSDK::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type::TaggedSymbol
1481
+ }
1482
+ )
1483
+ end
1484
+ def to_hash
1485
+ end
1486
+
1487
+ module Type
1488
+ extend MetronomeSDK::Internal::Type::Enum
1489
+
1490
+ TaggedSymbol =
1491
+ T.type_alias do
1492
+ T.all(
1493
+ Symbol,
1494
+ MetronomeSDK::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type
1495
+ )
1496
+ end
1497
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1498
+
1499
+ POSTPAID_COMMIT_ROLLOVER =
1500
+ T.let(
1501
+ :POSTPAID_COMMIT_ROLLOVER,
1502
+ MetronomeSDK::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type::TaggedSymbol
1503
+ )
1504
+
1505
+ sig do
1506
+ override.returns(
1507
+ T::Array[
1508
+ MetronomeSDK::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type::TaggedSymbol
1509
+ ]
1510
+ )
1511
+ end
1512
+ def self.values
1513
+ end
1514
+ end
1515
+ end
1516
+
1517
+ class PostpaidCommitTrueupLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1518
+ OrHash =
1519
+ T.type_alias do
1520
+ T.any(
1521
+ MetronomeSDK::Commit::Ledger::PostpaidCommitTrueupLedgerEntry,
1522
+ MetronomeSDK::Internal::AnyHash
1523
+ )
1524
+ end
1525
+
1526
+ sig { returns(Float) }
1527
+ attr_accessor :amount
1528
+
1529
+ sig { returns(String) }
1530
+ attr_accessor :invoice_id
1531
+
1532
+ sig { returns(Time) }
1533
+ attr_accessor :timestamp
1534
+
1535
+ sig do
1536
+ returns(
1537
+ MetronomeSDK::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type::TaggedSymbol
1538
+ )
1539
+ end
1540
+ attr_accessor :type
1541
+
1542
+ sig do
1543
+ params(
1544
+ amount: Float,
1545
+ invoice_id: String,
1546
+ timestamp: Time,
1547
+ type:
1548
+ MetronomeSDK::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type::OrSymbol
1549
+ ).returns(T.attached_class)
1550
+ end
1551
+ def self.new(amount:, invoice_id:, timestamp:, type:)
1552
+ end
1553
+
1554
+ sig do
1555
+ override.returns(
1556
+ {
1557
+ amount: Float,
1558
+ invoice_id: String,
1559
+ timestamp: Time,
1560
+ type:
1561
+ MetronomeSDK::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type::TaggedSymbol
1562
+ }
1563
+ )
1564
+ end
1565
+ def to_hash
1566
+ end
1567
+
1568
+ module Type
1569
+ extend MetronomeSDK::Internal::Type::Enum
1570
+
1571
+ TaggedSymbol =
1572
+ T.type_alias do
1573
+ T.all(
1574
+ Symbol,
1575
+ MetronomeSDK::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type
1576
+ )
1577
+ end
1578
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1579
+
1580
+ POSTPAID_COMMIT_TRUEUP =
1581
+ T.let(
1582
+ :POSTPAID_COMMIT_TRUEUP,
1583
+ MetronomeSDK::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type::TaggedSymbol
1584
+ )
1585
+
1586
+ sig do
1587
+ override.returns(
1588
+ T::Array[
1589
+ MetronomeSDK::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type::TaggedSymbol
1590
+ ]
1591
+ )
1592
+ end
1593
+ def self.values
1594
+ end
1595
+ end
1596
+ end
1597
+
1598
+ class PrepaidCommitManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1599
+ OrHash =
1600
+ T.type_alias do
1601
+ T.any(
1602
+ MetronomeSDK::Commit::Ledger::PrepaidCommitManualLedgerEntry,
1603
+ MetronomeSDK::Internal::AnyHash
1604
+ )
1605
+ end
1606
+
1607
+ sig { returns(Float) }
1608
+ attr_accessor :amount
1609
+
1610
+ sig { returns(String) }
1611
+ attr_accessor :reason
1612
+
1613
+ sig { returns(Time) }
1614
+ attr_accessor :timestamp
1615
+
1616
+ sig do
1617
+ returns(
1618
+ MetronomeSDK::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type::TaggedSymbol
1619
+ )
1620
+ end
1621
+ attr_accessor :type
1622
+
1623
+ sig do
1624
+ params(
1625
+ amount: Float,
1626
+ reason: String,
1627
+ timestamp: Time,
1628
+ type:
1629
+ MetronomeSDK::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type::OrSymbol
1630
+ ).returns(T.attached_class)
1631
+ end
1632
+ def self.new(amount:, reason:, timestamp:, type:)
1633
+ end
1634
+
1635
+ sig do
1636
+ override.returns(
1637
+ {
1638
+ amount: Float,
1639
+ reason: String,
1640
+ timestamp: Time,
1641
+ type:
1642
+ MetronomeSDK::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type::TaggedSymbol
1643
+ }
1644
+ )
1645
+ end
1646
+ def to_hash
1647
+ end
1648
+
1649
+ module Type
1650
+ extend MetronomeSDK::Internal::Type::Enum
1651
+
1652
+ TaggedSymbol =
1653
+ T.type_alias do
1654
+ T.all(
1655
+ Symbol,
1656
+ MetronomeSDK::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type
1657
+ )
1658
+ end
1659
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1660
+
1661
+ PREPAID_COMMIT_MANUAL =
1662
+ T.let(
1663
+ :PREPAID_COMMIT_MANUAL,
1664
+ MetronomeSDK::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type::TaggedSymbol
1665
+ )
1666
+
1667
+ sig do
1668
+ override.returns(
1669
+ T::Array[
1670
+ MetronomeSDK::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type::TaggedSymbol
1671
+ ]
1672
+ )
1673
+ end
1674
+ def self.values
1675
+ end
1676
+ end
1677
+ end
1678
+
1679
+ class PostpaidCommitManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1680
+ OrHash =
1681
+ T.type_alias do
1682
+ T.any(
1683
+ MetronomeSDK::Commit::Ledger::PostpaidCommitManualLedgerEntry,
1684
+ MetronomeSDK::Internal::AnyHash
1685
+ )
1686
+ end
1687
+
1688
+ sig { returns(Float) }
1689
+ attr_accessor :amount
1690
+
1691
+ sig { returns(String) }
1692
+ attr_accessor :reason
1693
+
1694
+ sig { returns(Time) }
1695
+ attr_accessor :timestamp
1696
+
1697
+ sig do
1698
+ returns(
1699
+ MetronomeSDK::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type::TaggedSymbol
1700
+ )
1701
+ end
1702
+ attr_accessor :type
1703
+
1704
+ sig do
1705
+ params(
1706
+ amount: Float,
1707
+ reason: String,
1708
+ timestamp: Time,
1709
+ type:
1710
+ MetronomeSDK::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type::OrSymbol
1711
+ ).returns(T.attached_class)
1712
+ end
1713
+ def self.new(amount:, reason:, timestamp:, type:)
1714
+ end
1715
+
1716
+ sig do
1717
+ override.returns(
1718
+ {
1719
+ amount: Float,
1720
+ reason: String,
1721
+ timestamp: Time,
1722
+ type:
1723
+ MetronomeSDK::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type::TaggedSymbol
1724
+ }
1725
+ )
1726
+ end
1727
+ def to_hash
1728
+ end
1729
+
1730
+ module Type
1731
+ extend MetronomeSDK::Internal::Type::Enum
1732
+
1733
+ TaggedSymbol =
1734
+ T.type_alias do
1735
+ T.all(
1736
+ Symbol,
1737
+ MetronomeSDK::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type
1738
+ )
1739
+ end
1740
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1741
+
1742
+ POSTPAID_COMMIT_MANUAL =
1743
+ T.let(
1744
+ :POSTPAID_COMMIT_MANUAL,
1745
+ MetronomeSDK::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type::TaggedSymbol
1746
+ )
1747
+
1748
+ sig do
1749
+ override.returns(
1750
+ T::Array[
1751
+ MetronomeSDK::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type::TaggedSymbol
1752
+ ]
1753
+ )
1754
+ end
1755
+ def self.values
1756
+ end
1757
+ end
1758
+ end
1759
+
1760
+ class PostpaidCommitExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1761
+ OrHash =
1762
+ T.type_alias do
1763
+ T.any(
1764
+ MetronomeSDK::Commit::Ledger::PostpaidCommitExpirationLedgerEntry,
1765
+ MetronomeSDK::Internal::AnyHash
1766
+ )
1767
+ end
1768
+
1769
+ sig { returns(Float) }
1770
+ attr_accessor :amount
1771
+
1772
+ sig { returns(Time) }
1773
+ attr_accessor :timestamp
1774
+
1775
+ sig do
1776
+ returns(
1777
+ MetronomeSDK::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type::TaggedSymbol
1778
+ )
1779
+ end
1780
+ attr_accessor :type
1781
+
1782
+ sig do
1783
+ params(
1784
+ amount: Float,
1785
+ timestamp: Time,
1786
+ type:
1787
+ MetronomeSDK::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type::OrSymbol
1788
+ ).returns(T.attached_class)
1789
+ end
1790
+ def self.new(amount:, timestamp:, type:)
1791
+ end
1792
+
1793
+ sig do
1794
+ override.returns(
1795
+ {
1796
+ amount: Float,
1797
+ timestamp: Time,
1798
+ type:
1799
+ MetronomeSDK::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type::TaggedSymbol
1800
+ }
1801
+ )
1802
+ end
1803
+ def to_hash
1804
+ end
1805
+
1806
+ module Type
1807
+ extend MetronomeSDK::Internal::Type::Enum
1808
+
1809
+ TaggedSymbol =
1810
+ T.type_alias do
1811
+ T.all(
1812
+ Symbol,
1813
+ MetronomeSDK::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type
1814
+ )
1815
+ end
1816
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1817
+
1818
+ POSTPAID_COMMIT_EXPIRATION =
1819
+ T.let(
1820
+ :POSTPAID_COMMIT_EXPIRATION,
1821
+ MetronomeSDK::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type::TaggedSymbol
1822
+ )
1823
+
1824
+ sig do
1825
+ override.returns(
1826
+ T::Array[
1827
+ MetronomeSDK::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type::TaggedSymbol
1828
+ ]
1829
+ )
1830
+ end
1831
+ def self.values
1832
+ end
1833
+ end
1834
+ end
1835
+
1836
+ sig do
1837
+ override.returns(T::Array[MetronomeSDK::Commit::Ledger::Variants])
1838
+ end
1839
+ def self.variants
1840
+ end
1841
+ end
1842
+
1843
+ module RateType
1844
+ extend MetronomeSDK::Internal::Type::Enum
1845
+
1846
+ TaggedSymbol =
1847
+ T.type_alias { T.all(Symbol, MetronomeSDK::Commit::RateType) }
1848
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1849
+
1850
+ COMMIT_RATE =
1851
+ T.let(:COMMIT_RATE, MetronomeSDK::Commit::RateType::TaggedSymbol)
1852
+ LIST_RATE =
1853
+ T.let(:LIST_RATE, MetronomeSDK::Commit::RateType::TaggedSymbol)
1854
+
1855
+ sig do
1856
+ override.returns(
1857
+ T::Array[MetronomeSDK::Commit::RateType::TaggedSymbol]
1858
+ )
1859
+ end
1860
+ def self.values
1861
+ end
1862
+ end
1863
+
1864
+ class RolledOverFrom < MetronomeSDK::Internal::Type::BaseModel
1865
+ OrHash =
1866
+ T.type_alias do
1867
+ T.any(
1868
+ MetronomeSDK::Commit::RolledOverFrom,
1869
+ MetronomeSDK::Internal::AnyHash
1870
+ )
1871
+ end
1872
+
1873
+ sig { returns(String) }
1874
+ attr_accessor :commit_id
1875
+
1876
+ sig { returns(String) }
1877
+ attr_accessor :contract_id
1878
+
1879
+ sig do
1880
+ params(commit_id: String, contract_id: String).returns(
1881
+ T.attached_class
1882
+ )
1883
+ end
1884
+ def self.new(commit_id:, contract_id:)
1885
+ end
1886
+
1887
+ sig { override.returns({ commit_id: String, contract_id: String }) }
1888
+ def to_hash
1889
+ end
1890
+ end
1891
+
1892
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
1893
+ OrHash =
1894
+ T.type_alias do
1895
+ T.any(
1896
+ MetronomeSDK::Commit::Specifier,
1897
+ MetronomeSDK::Internal::AnyHash
1898
+ )
1899
+ end
1900
+
1901
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
1902
+ attr_reader :presentation_group_values
1903
+
1904
+ sig { params(presentation_group_values: T::Hash[Symbol, String]).void }
1905
+ attr_writer :presentation_group_values
1906
+
1907
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
1908
+ attr_reader :pricing_group_values
1909
+
1910
+ sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
1911
+ attr_writer :pricing_group_values
1912
+
1913
+ # If provided, the specifier will only apply to the product with the specified ID.
1914
+ sig { returns(T.nilable(String)) }
1915
+ attr_reader :product_id
1916
+
1917
+ sig { params(product_id: String).void }
1918
+ attr_writer :product_id
1919
+
1920
+ # If provided, the specifier will only apply to products with all the specified
1921
+ # tags.
1922
+ sig { returns(T.nilable(T::Array[String])) }
1923
+ attr_reader :product_tags
1924
+
1925
+ sig { params(product_tags: T::Array[String]).void }
1926
+ attr_writer :product_tags
1927
+
1928
+ sig do
1929
+ params(
1930
+ presentation_group_values: T::Hash[Symbol, String],
1931
+ pricing_group_values: T::Hash[Symbol, String],
1932
+ product_id: String,
1933
+ product_tags: T::Array[String]
1934
+ ).returns(T.attached_class)
1935
+ end
1936
+ def self.new(
1937
+ presentation_group_values: nil,
1938
+ pricing_group_values: nil,
1939
+ # If provided, the specifier will only apply to the product with the specified ID.
1940
+ product_id: nil,
1941
+ # If provided, the specifier will only apply to products with all the specified
1942
+ # tags.
1943
+ product_tags: nil
1944
+ )
1945
+ end
1946
+
1947
+ sig do
1948
+ override.returns(
1949
+ {
1950
+ presentation_group_values: T::Hash[Symbol, String],
1951
+ pricing_group_values: T::Hash[Symbol, String],
1952
+ product_id: String,
1953
+ product_tags: T::Array[String]
1954
+ }
1955
+ )
1956
+ end
1957
+ def to_hash
1958
+ end
1959
+ end
1960
+ end
1961
+ end
1962
+ end