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