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,1010 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class Commit < MetronomeSDK::Internal::Type::BaseModel
6
+ # @!attribute id
7
+ #
8
+ # @return [String]
9
+ required :id, String
10
+
11
+ # @!attribute product
12
+ #
13
+ # @return [MetronomeSDK::Models::Commit::Product]
14
+ required :product, -> { MetronomeSDK::Commit::Product }
15
+
16
+ # @!attribute type
17
+ #
18
+ # @return [Symbol, MetronomeSDK::Models::Commit::Type]
19
+ required :type, enum: -> { MetronomeSDK::Commit::Type }
20
+
21
+ # @!attribute access_schedule
22
+ # The schedule that the customer will gain access to the credits purposed with
23
+ # this commit.
24
+ #
25
+ # @return [MetronomeSDK::Models::ScheduleDuration, nil]
26
+ optional :access_schedule, -> { MetronomeSDK::ScheduleDuration }
27
+
28
+ # @!attribute amount
29
+ # (DEPRECATED) Use access_schedule + invoice_schedule instead.
30
+ #
31
+ # @return [Float, nil]
32
+ optional :amount, Float
33
+
34
+ # @!attribute applicable_contract_ids
35
+ #
36
+ # @return [Array<String>, nil]
37
+ optional :applicable_contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
38
+
39
+ # @!attribute applicable_product_ids
40
+ #
41
+ # @return [Array<String>, nil]
42
+ optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
43
+
44
+ # @!attribute applicable_product_tags
45
+ #
46
+ # @return [Array<String>, nil]
47
+ optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
48
+
49
+ # @!attribute archived_at
50
+ # RFC 3339 timestamp indicating when the commit was archived. If not provided, the
51
+ # commit is not archived.
52
+ #
53
+ # @return [Time, nil]
54
+ optional :archived_at, Time
55
+
56
+ # @!attribute balance
57
+ # The current balance of the credit or commit. This balance reflects the amount of
58
+ # credit or commit that the customer has access to use at this moment - thus,
59
+ # expired and upcoming credit or commit segments contribute 0 to the balance. The
60
+ # balance will match the sum of all ledger entries with the exception of the case
61
+ # where the sum of negative manual ledger entries exceeds the positive amount
62
+ # remaining on the credit or commit - in that case, the balance will be 0. All
63
+ # manual ledger entries associated with active credit or commit segments are
64
+ # included in the balance, including future-dated manual ledger entries.
65
+ #
66
+ # @return [Float, nil]
67
+ optional :balance, Float
68
+
69
+ # @!attribute contract
70
+ #
71
+ # @return [MetronomeSDK::Models::Commit::Contract, nil]
72
+ optional :contract, -> { MetronomeSDK::Commit::Contract }
73
+
74
+ # @!attribute custom_fields
75
+ #
76
+ # @return [Hash{Symbol=>String}, nil]
77
+ optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
78
+
79
+ # @!attribute description
80
+ #
81
+ # @return [String, nil]
82
+ optional :description, String
83
+
84
+ # @!attribute hierarchy_configuration
85
+ # Optional configuration for commit hierarchy access control
86
+ #
87
+ # @return [MetronomeSDK::Models::Commit::HierarchyConfiguration, nil]
88
+ optional :hierarchy_configuration, -> { MetronomeSDK::Commit::HierarchyConfiguration }
89
+
90
+ # @!attribute invoice_contract
91
+ # The contract that this commit will be billed on.
92
+ #
93
+ # @return [MetronomeSDK::Models::Commit::InvoiceContract, nil]
94
+ optional :invoice_contract, -> { MetronomeSDK::Commit::InvoiceContract }
95
+
96
+ # @!attribute invoice_schedule
97
+ # The schedule that the customer will be invoiced for this commit.
98
+ #
99
+ # @return [MetronomeSDK::Models::SchedulePointInTime, nil]
100
+ optional :invoice_schedule, -> { MetronomeSDK::SchedulePointInTime }
101
+
102
+ # @!attribute ledger
103
+ # A list of ordered events that impact the balance of a commit. For example, an
104
+ # invoice deduction or a rollover.
105
+ #
106
+ # @return [Array<MetronomeSDK::Models::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitExpirationLedgerEntry>, nil]
107
+ optional :ledger, -> { MetronomeSDK::Internal::Type::ArrayOf[union: MetronomeSDK::Commit::Ledger] }
108
+
109
+ # @!attribute name
110
+ #
111
+ # @return [String, nil]
112
+ optional :name, String
113
+
114
+ # @!attribute netsuite_sales_order_id
115
+ # This field's availability is dependent on your client's configuration.
116
+ #
117
+ # @return [String, nil]
118
+ optional :netsuite_sales_order_id, String
119
+
120
+ # @!attribute priority
121
+ # If multiple credits or commits are applicable, the one with the lower priority
122
+ # will apply first.
123
+ #
124
+ # @return [Float, nil]
125
+ optional :priority, Float
126
+
127
+ # @!attribute rate_type
128
+ #
129
+ # @return [Symbol, MetronomeSDK::Models::Commit::RateType, nil]
130
+ optional :rate_type, enum: -> { MetronomeSDK::Commit::RateType }
131
+
132
+ # @!attribute rolled_over_from
133
+ #
134
+ # @return [MetronomeSDK::Models::Commit::RolledOverFrom, nil]
135
+ optional :rolled_over_from, -> { MetronomeSDK::Commit::RolledOverFrom }
136
+
137
+ # @!attribute rollover_fraction
138
+ #
139
+ # @return [Float, nil]
140
+ optional :rollover_fraction, Float
141
+
142
+ # @!attribute salesforce_opportunity_id
143
+ # This field's availability is dependent on your client's configuration.
144
+ #
145
+ # @return [String, nil]
146
+ optional :salesforce_opportunity_id, String
147
+
148
+ # @!attribute specifiers
149
+ # List of filters that determine what kind of customer usage draws down a commit
150
+ # or credit. A customer's usage needs to meet the condition of at least one of the
151
+ # specifiers to contribute to a commit's or credit's drawdown.
152
+ #
153
+ # @return [Array<MetronomeSDK::Models::Commit::Specifier>, nil]
154
+ optional :specifiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Commit::Specifier] }
155
+
156
+ # @!attribute uniqueness_key
157
+ # Prevents the creation of duplicates. If a request to create a commit or credit
158
+ # is made with a uniqueness key that was previously used to create a commit or
159
+ # credit, a new record will not be created and the request will fail with a 409
160
+ # error.
161
+ #
162
+ # @return [String, nil]
163
+ optional :uniqueness_key, String
164
+
165
+ # @!method initialize(id:, product:, type:, access_schedule: nil, amount: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, archived_at: nil, balance: nil, contract: nil, custom_fields: nil, description: nil, hierarchy_configuration: nil, invoice_contract: nil, invoice_schedule: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, rolled_over_from: nil, rollover_fraction: nil, salesforce_opportunity_id: nil, specifiers: nil, uniqueness_key: nil)
166
+ # Some parameter documentations has been truncated, see
167
+ # {MetronomeSDK::Models::Commit} for more details.
168
+ #
169
+ # @param id [String]
170
+ #
171
+ # @param product [MetronomeSDK::Models::Commit::Product]
172
+ #
173
+ # @param type [Symbol, MetronomeSDK::Models::Commit::Type]
174
+ #
175
+ # @param access_schedule [MetronomeSDK::Models::ScheduleDuration] The schedule that the customer will gain access to the credits purposed with thi
176
+ #
177
+ # @param amount [Float] (DEPRECATED) Use access_schedule + invoice_schedule instead.
178
+ #
179
+ # @param applicable_contract_ids [Array<String>]
180
+ #
181
+ # @param applicable_product_ids [Array<String>]
182
+ #
183
+ # @param applicable_product_tags [Array<String>]
184
+ #
185
+ # @param archived_at [Time] RFC 3339 timestamp indicating when the commit was archived. If not provided, the
186
+ #
187
+ # @param balance [Float] The current balance of the credit or commit. This balance reflects the amount of
188
+ #
189
+ # @param contract [MetronomeSDK::Models::Commit::Contract]
190
+ #
191
+ # @param custom_fields [Hash{Symbol=>String}]
192
+ #
193
+ # @param description [String]
194
+ #
195
+ # @param hierarchy_configuration [MetronomeSDK::Models::Commit::HierarchyConfiguration] Optional configuration for commit hierarchy access control
196
+ #
197
+ # @param invoice_contract [MetronomeSDK::Models::Commit::InvoiceContract] The contract that this commit will be billed on.
198
+ #
199
+ # @param invoice_schedule [MetronomeSDK::Models::SchedulePointInTime] The schedule that the customer will be invoiced for this commit.
200
+ #
201
+ # @param ledger [Array<MetronomeSDK::Models::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitExpirationLedgerEntry>] A list of ordered events that impact the balance of a commit. For example, an in
202
+ #
203
+ # @param name [String]
204
+ #
205
+ # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
206
+ #
207
+ # @param priority [Float] If multiple credits or commits are applicable, the one with the lower priority w
208
+ #
209
+ # @param rate_type [Symbol, MetronomeSDK::Models::Commit::RateType]
210
+ #
211
+ # @param rolled_over_from [MetronomeSDK::Models::Commit::RolledOverFrom]
212
+ #
213
+ # @param rollover_fraction [Float]
214
+ #
215
+ # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
216
+ #
217
+ # @param specifiers [Array<MetronomeSDK::Models::Commit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
218
+ #
219
+ # @param uniqueness_key [String] Prevents the creation of duplicates. If a request to create a commit or credit i
220
+
221
+ # @see MetronomeSDK::Models::Commit#product
222
+ class Product < MetronomeSDK::Internal::Type::BaseModel
223
+ # @!attribute id
224
+ #
225
+ # @return [String]
226
+ required :id, String
227
+
228
+ # @!attribute name
229
+ #
230
+ # @return [String]
231
+ required :name, String
232
+
233
+ # @!method initialize(id:, name:)
234
+ # @param id [String]
235
+ # @param name [String]
236
+ end
237
+
238
+ # @see MetronomeSDK::Models::Commit#type
239
+ module Type
240
+ extend MetronomeSDK::Internal::Type::Enum
241
+
242
+ PREPAID = :PREPAID
243
+ POSTPAID = :POSTPAID
244
+
245
+ # @!method self.values
246
+ # @return [Array<Symbol>]
247
+ end
248
+
249
+ # @see MetronomeSDK::Models::Commit#contract
250
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
251
+ # @!attribute id
252
+ #
253
+ # @return [String]
254
+ required :id, String
255
+
256
+ # @!method initialize(id:)
257
+ # @param id [String]
258
+ end
259
+
260
+ # @see MetronomeSDK::Models::Commit#hierarchy_configuration
261
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
262
+ # @!attribute child_access
263
+ #
264
+ # @return [MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
265
+ required :child_access, union: -> { MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess }
266
+
267
+ # @!method initialize(child_access:)
268
+ # Optional configuration for commit hierarchy access control
269
+ #
270
+ # @param child_access [MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
271
+
272
+ # @see MetronomeSDK::Models::Commit::HierarchyConfiguration#child_access
273
+ module ChildAccess
274
+ extend MetronomeSDK::Internal::Type::Union
275
+
276
+ variant -> {
277
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
278
+ }
279
+
280
+ variant -> {
281
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
282
+ }
283
+
284
+ variant -> {
285
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
286
+ }
287
+
288
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
289
+ # @!attribute type
290
+ #
291
+ # @return [Symbol, MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
292
+ required :type,
293
+ enum: -> {
294
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
295
+ }
296
+
297
+ # @!method initialize(type:)
298
+ # @param type [Symbol, MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
299
+
300
+ # @see MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
301
+ module Type
302
+ extend MetronomeSDK::Internal::Type::Enum
303
+
304
+ ALL = :ALL
305
+
306
+ # @!method self.values
307
+ # @return [Array<Symbol>]
308
+ end
309
+ end
310
+
311
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
312
+ # @!attribute type
313
+ #
314
+ # @return [Symbol, MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
315
+ required :type,
316
+ enum: -> {
317
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
318
+ }
319
+
320
+ # @!method initialize(type:)
321
+ # @param type [Symbol, MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
322
+
323
+ # @see MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
324
+ module Type
325
+ extend MetronomeSDK::Internal::Type::Enum
326
+
327
+ NONE = :NONE
328
+
329
+ # @!method self.values
330
+ # @return [Array<Symbol>]
331
+ end
332
+ end
333
+
334
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
335
+ # @!attribute contract_ids
336
+ #
337
+ # @return [Array<String>]
338
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
339
+
340
+ # @!attribute type
341
+ #
342
+ # @return [Symbol, MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
343
+ required :type,
344
+ enum: -> {
345
+ MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
346
+ }
347
+
348
+ # @!method initialize(contract_ids:, type:)
349
+ # @param contract_ids [Array<String>]
350
+ # @param type [Symbol, MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
351
+
352
+ # @see MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
353
+ module Type
354
+ extend MetronomeSDK::Internal::Type::Enum
355
+
356
+ CONTRACT_IDS = :CONTRACT_IDS
357
+
358
+ # @!method self.values
359
+ # @return [Array<Symbol>]
360
+ end
361
+ end
362
+
363
+ # @!method self.variants
364
+ # @return [Array(MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
365
+ end
366
+ end
367
+
368
+ # @see MetronomeSDK::Models::Commit#invoice_contract
369
+ class InvoiceContract < MetronomeSDK::Internal::Type::BaseModel
370
+ # @!attribute id
371
+ #
372
+ # @return [String]
373
+ required :id, String
374
+
375
+ # @!method initialize(id:)
376
+ # The contract that this commit will be billed on.
377
+ #
378
+ # @param id [String]
379
+ end
380
+
381
+ module Ledger
382
+ extend MetronomeSDK::Internal::Type::Union
383
+
384
+ variant -> { MetronomeSDK::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry }
385
+
386
+ variant -> { MetronomeSDK::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry }
387
+
388
+ variant -> { MetronomeSDK::Commit::Ledger::PrepaidCommitRolloverLedgerEntry }
389
+
390
+ variant -> { MetronomeSDK::Commit::Ledger::PrepaidCommitExpirationLedgerEntry }
391
+
392
+ variant -> { MetronomeSDK::Commit::Ledger::PrepaidCommitCanceledLedgerEntry }
393
+
394
+ variant -> { MetronomeSDK::Commit::Ledger::PrepaidCommitCreditedLedgerEntry }
395
+
396
+ variant -> { MetronomeSDK::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry }
397
+
398
+ variant -> { MetronomeSDK::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry }
399
+
400
+ variant -> { MetronomeSDK::Commit::Ledger::PostpaidCommitRolloverLedgerEntry }
401
+
402
+ variant -> { MetronomeSDK::Commit::Ledger::PostpaidCommitTrueupLedgerEntry }
403
+
404
+ variant -> { MetronomeSDK::Commit::Ledger::PrepaidCommitManualLedgerEntry }
405
+
406
+ variant -> { MetronomeSDK::Commit::Ledger::PostpaidCommitManualLedgerEntry }
407
+
408
+ variant -> { MetronomeSDK::Commit::Ledger::PostpaidCommitExpirationLedgerEntry }
409
+
410
+ class PrepaidCommitSegmentStartLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
411
+ # @!attribute amount
412
+ #
413
+ # @return [Float]
414
+ required :amount, Float
415
+
416
+ # @!attribute segment_id
417
+ #
418
+ # @return [String]
419
+ required :segment_id, String
420
+
421
+ # @!attribute timestamp
422
+ #
423
+ # @return [Time]
424
+ required :timestamp, Time
425
+
426
+ # @!attribute type
427
+ #
428
+ # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type]
429
+ required :type,
430
+ enum: -> {
431
+ MetronomeSDK::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type
432
+ }
433
+
434
+ # @!method initialize(amount:, segment_id:, timestamp:, type:)
435
+ # @param amount [Float]
436
+ # @param segment_id [String]
437
+ # @param timestamp [Time]
438
+ # @param type [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type]
439
+
440
+ # @see MetronomeSDK::Models::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry#type
441
+ module Type
442
+ extend MetronomeSDK::Internal::Type::Enum
443
+
444
+ PREPAID_COMMIT_SEGMENT_START = :PREPAID_COMMIT_SEGMENT_START
445
+
446
+ # @!method self.values
447
+ # @return [Array<Symbol>]
448
+ end
449
+ end
450
+
451
+ class PrepaidCommitAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
452
+ # @!attribute amount
453
+ #
454
+ # @return [Float]
455
+ required :amount, Float
456
+
457
+ # @!attribute invoice_id
458
+ #
459
+ # @return [String]
460
+ required :invoice_id, String
461
+
462
+ # @!attribute segment_id
463
+ #
464
+ # @return [String]
465
+ required :segment_id, String
466
+
467
+ # @!attribute timestamp
468
+ #
469
+ # @return [Time]
470
+ required :timestamp, Time
471
+
472
+ # @!attribute type
473
+ #
474
+ # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
475
+ required :type,
476
+ enum: -> {
477
+ MetronomeSDK::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type
478
+ }
479
+
480
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
481
+ # @param amount [Float]
482
+ # @param invoice_id [String]
483
+ # @param segment_id [String]
484
+ # @param timestamp [Time]
485
+ # @param type [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
486
+
487
+ # @see MetronomeSDK::Models::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry#type
488
+ module Type
489
+ extend MetronomeSDK::Internal::Type::Enum
490
+
491
+ PREPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION = :PREPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION
492
+
493
+ # @!method self.values
494
+ # @return [Array<Symbol>]
495
+ end
496
+ end
497
+
498
+ class PrepaidCommitRolloverLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
499
+ # @!attribute amount
500
+ #
501
+ # @return [Float]
502
+ required :amount, Float
503
+
504
+ # @!attribute new_contract_id
505
+ #
506
+ # @return [String]
507
+ required :new_contract_id, String
508
+
509
+ # @!attribute segment_id
510
+ #
511
+ # @return [String]
512
+ required :segment_id, String
513
+
514
+ # @!attribute timestamp
515
+ #
516
+ # @return [Time]
517
+ required :timestamp, Time
518
+
519
+ # @!attribute type
520
+ #
521
+ # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type]
522
+ required :type, enum: -> { MetronomeSDK::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type }
523
+
524
+ # @!method initialize(amount:, new_contract_id:, segment_id:, timestamp:, type:)
525
+ # @param amount [Float]
526
+ # @param new_contract_id [String]
527
+ # @param segment_id [String]
528
+ # @param timestamp [Time]
529
+ # @param type [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type]
530
+
531
+ # @see MetronomeSDK::Models::Commit::Ledger::PrepaidCommitRolloverLedgerEntry#type
532
+ module Type
533
+ extend MetronomeSDK::Internal::Type::Enum
534
+
535
+ PREPAID_COMMIT_ROLLOVER = :PREPAID_COMMIT_ROLLOVER
536
+
537
+ # @!method self.values
538
+ # @return [Array<Symbol>]
539
+ end
540
+ end
541
+
542
+ class PrepaidCommitExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
543
+ # @!attribute amount
544
+ #
545
+ # @return [Float]
546
+ required :amount, Float
547
+
548
+ # @!attribute segment_id
549
+ #
550
+ # @return [String]
551
+ required :segment_id, String
552
+
553
+ # @!attribute timestamp
554
+ #
555
+ # @return [Time]
556
+ required :timestamp, Time
557
+
558
+ # @!attribute type
559
+ #
560
+ # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type]
561
+ required :type, enum: -> { MetronomeSDK::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type }
562
+
563
+ # @!method initialize(amount:, segment_id:, timestamp:, type:)
564
+ # @param amount [Float]
565
+ # @param segment_id [String]
566
+ # @param timestamp [Time]
567
+ # @param type [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type]
568
+
569
+ # @see MetronomeSDK::Models::Commit::Ledger::PrepaidCommitExpirationLedgerEntry#type
570
+ module Type
571
+ extend MetronomeSDK::Internal::Type::Enum
572
+
573
+ PREPAID_COMMIT_EXPIRATION = :PREPAID_COMMIT_EXPIRATION
574
+
575
+ # @!method self.values
576
+ # @return [Array<Symbol>]
577
+ end
578
+ end
579
+
580
+ class PrepaidCommitCanceledLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
581
+ # @!attribute amount
582
+ #
583
+ # @return [Float]
584
+ required :amount, Float
585
+
586
+ # @!attribute invoice_id
587
+ #
588
+ # @return [String]
589
+ required :invoice_id, String
590
+
591
+ # @!attribute segment_id
592
+ #
593
+ # @return [String]
594
+ required :segment_id, String
595
+
596
+ # @!attribute timestamp
597
+ #
598
+ # @return [Time]
599
+ required :timestamp, Time
600
+
601
+ # @!attribute type
602
+ #
603
+ # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type]
604
+ required :type, enum: -> { MetronomeSDK::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type }
605
+
606
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
607
+ # @param amount [Float]
608
+ # @param invoice_id [String]
609
+ # @param segment_id [String]
610
+ # @param timestamp [Time]
611
+ # @param type [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type]
612
+
613
+ # @see MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCanceledLedgerEntry#type
614
+ module Type
615
+ extend MetronomeSDK::Internal::Type::Enum
616
+
617
+ PREPAID_COMMIT_CANCELED = :PREPAID_COMMIT_CANCELED
618
+
619
+ # @!method self.values
620
+ # @return [Array<Symbol>]
621
+ end
622
+ end
623
+
624
+ class PrepaidCommitCreditedLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
625
+ # @!attribute amount
626
+ #
627
+ # @return [Float]
628
+ required :amount, Float
629
+
630
+ # @!attribute invoice_id
631
+ #
632
+ # @return [String]
633
+ required :invoice_id, String
634
+
635
+ # @!attribute segment_id
636
+ #
637
+ # @return [String]
638
+ required :segment_id, String
639
+
640
+ # @!attribute timestamp
641
+ #
642
+ # @return [Time]
643
+ required :timestamp, Time
644
+
645
+ # @!attribute type
646
+ #
647
+ # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type]
648
+ required :type, enum: -> { MetronomeSDK::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type }
649
+
650
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
651
+ # @param amount [Float]
652
+ # @param invoice_id [String]
653
+ # @param segment_id [String]
654
+ # @param timestamp [Time]
655
+ # @param type [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type]
656
+
657
+ # @see MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCreditedLedgerEntry#type
658
+ module Type
659
+ extend MetronomeSDK::Internal::Type::Enum
660
+
661
+ PREPAID_COMMIT_CREDITED = :PREPAID_COMMIT_CREDITED
662
+
663
+ # @!method self.values
664
+ # @return [Array<Symbol>]
665
+ end
666
+ end
667
+
668
+ class PostpaidCommitInitialBalanceLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
669
+ # @!attribute amount
670
+ #
671
+ # @return [Float]
672
+ required :amount, Float
673
+
674
+ # @!attribute timestamp
675
+ #
676
+ # @return [Time]
677
+ required :timestamp, Time
678
+
679
+ # @!attribute type
680
+ #
681
+ # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type]
682
+ required :type,
683
+ enum: -> {
684
+ MetronomeSDK::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type
685
+ }
686
+
687
+ # @!method initialize(amount:, timestamp:, type:)
688
+ # @param amount [Float]
689
+ # @param timestamp [Time]
690
+ # @param type [Symbol, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type]
691
+
692
+ # @see MetronomeSDK::Models::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry#type
693
+ module Type
694
+ extend MetronomeSDK::Internal::Type::Enum
695
+
696
+ POSTPAID_COMMIT_INITIAL_BALANCE = :POSTPAID_COMMIT_INITIAL_BALANCE
697
+
698
+ # @!method self.values
699
+ # @return [Array<Symbol>]
700
+ end
701
+ end
702
+
703
+ class PostpaidCommitAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
704
+ # @!attribute amount
705
+ #
706
+ # @return [Float]
707
+ required :amount, Float
708
+
709
+ # @!attribute invoice_id
710
+ #
711
+ # @return [String]
712
+ required :invoice_id, String
713
+
714
+ # @!attribute segment_id
715
+ #
716
+ # @return [String]
717
+ required :segment_id, String
718
+
719
+ # @!attribute timestamp
720
+ #
721
+ # @return [Time]
722
+ required :timestamp, Time
723
+
724
+ # @!attribute type
725
+ #
726
+ # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
727
+ required :type,
728
+ enum: -> {
729
+ MetronomeSDK::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type
730
+ }
731
+
732
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
733
+ # @param amount [Float]
734
+ # @param invoice_id [String]
735
+ # @param segment_id [String]
736
+ # @param timestamp [Time]
737
+ # @param type [Symbol, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
738
+
739
+ # @see MetronomeSDK::Models::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry#type
740
+ module Type
741
+ extend MetronomeSDK::Internal::Type::Enum
742
+
743
+ POSTPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION = :POSTPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION
744
+
745
+ # @!method self.values
746
+ # @return [Array<Symbol>]
747
+ end
748
+ end
749
+
750
+ class PostpaidCommitRolloverLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
751
+ # @!attribute amount
752
+ #
753
+ # @return [Float]
754
+ required :amount, Float
755
+
756
+ # @!attribute new_contract_id
757
+ #
758
+ # @return [String]
759
+ required :new_contract_id, String
760
+
761
+ # @!attribute segment_id
762
+ #
763
+ # @return [String]
764
+ required :segment_id, String
765
+
766
+ # @!attribute timestamp
767
+ #
768
+ # @return [Time]
769
+ required :timestamp, Time
770
+
771
+ # @!attribute type
772
+ #
773
+ # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type]
774
+ required :type, enum: -> { MetronomeSDK::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type }
775
+
776
+ # @!method initialize(amount:, new_contract_id:, segment_id:, timestamp:, type:)
777
+ # @param amount [Float]
778
+ # @param new_contract_id [String]
779
+ # @param segment_id [String]
780
+ # @param timestamp [Time]
781
+ # @param type [Symbol, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type]
782
+
783
+ # @see MetronomeSDK::Models::Commit::Ledger::PostpaidCommitRolloverLedgerEntry#type
784
+ module Type
785
+ extend MetronomeSDK::Internal::Type::Enum
786
+
787
+ POSTPAID_COMMIT_ROLLOVER = :POSTPAID_COMMIT_ROLLOVER
788
+
789
+ # @!method self.values
790
+ # @return [Array<Symbol>]
791
+ end
792
+ end
793
+
794
+ class PostpaidCommitTrueupLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
795
+ # @!attribute amount
796
+ #
797
+ # @return [Float]
798
+ required :amount, Float
799
+
800
+ # @!attribute invoice_id
801
+ #
802
+ # @return [String]
803
+ required :invoice_id, String
804
+
805
+ # @!attribute timestamp
806
+ #
807
+ # @return [Time]
808
+ required :timestamp, Time
809
+
810
+ # @!attribute type
811
+ #
812
+ # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type]
813
+ required :type, enum: -> { MetronomeSDK::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type }
814
+
815
+ # @!method initialize(amount:, invoice_id:, timestamp:, type:)
816
+ # @param amount [Float]
817
+ # @param invoice_id [String]
818
+ # @param timestamp [Time]
819
+ # @param type [Symbol, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type]
820
+
821
+ # @see MetronomeSDK::Models::Commit::Ledger::PostpaidCommitTrueupLedgerEntry#type
822
+ module Type
823
+ extend MetronomeSDK::Internal::Type::Enum
824
+
825
+ POSTPAID_COMMIT_TRUEUP = :POSTPAID_COMMIT_TRUEUP
826
+
827
+ # @!method self.values
828
+ # @return [Array<Symbol>]
829
+ end
830
+ end
831
+
832
+ class PrepaidCommitManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
833
+ # @!attribute amount
834
+ #
835
+ # @return [Float]
836
+ required :amount, Float
837
+
838
+ # @!attribute reason
839
+ #
840
+ # @return [String]
841
+ required :reason, String
842
+
843
+ # @!attribute timestamp
844
+ #
845
+ # @return [Time]
846
+ required :timestamp, Time
847
+
848
+ # @!attribute type
849
+ #
850
+ # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type]
851
+ required :type, enum: -> { MetronomeSDK::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type }
852
+
853
+ # @!method initialize(amount:, reason:, timestamp:, type:)
854
+ # @param amount [Float]
855
+ # @param reason [String]
856
+ # @param timestamp [Time]
857
+ # @param type [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type]
858
+
859
+ # @see MetronomeSDK::Models::Commit::Ledger::PrepaidCommitManualLedgerEntry#type
860
+ module Type
861
+ extend MetronomeSDK::Internal::Type::Enum
862
+
863
+ PREPAID_COMMIT_MANUAL = :PREPAID_COMMIT_MANUAL
864
+
865
+ # @!method self.values
866
+ # @return [Array<Symbol>]
867
+ end
868
+ end
869
+
870
+ class PostpaidCommitManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
871
+ # @!attribute amount
872
+ #
873
+ # @return [Float]
874
+ required :amount, Float
875
+
876
+ # @!attribute reason
877
+ #
878
+ # @return [String]
879
+ required :reason, String
880
+
881
+ # @!attribute timestamp
882
+ #
883
+ # @return [Time]
884
+ required :timestamp, Time
885
+
886
+ # @!attribute type
887
+ #
888
+ # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type]
889
+ required :type, enum: -> { MetronomeSDK::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type }
890
+
891
+ # @!method initialize(amount:, reason:, timestamp:, type:)
892
+ # @param amount [Float]
893
+ # @param reason [String]
894
+ # @param timestamp [Time]
895
+ # @param type [Symbol, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type]
896
+
897
+ # @see MetronomeSDK::Models::Commit::Ledger::PostpaidCommitManualLedgerEntry#type
898
+ module Type
899
+ extend MetronomeSDK::Internal::Type::Enum
900
+
901
+ POSTPAID_COMMIT_MANUAL = :POSTPAID_COMMIT_MANUAL
902
+
903
+ # @!method self.values
904
+ # @return [Array<Symbol>]
905
+ end
906
+ end
907
+
908
+ class PostpaidCommitExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
909
+ # @!attribute amount
910
+ #
911
+ # @return [Float]
912
+ required :amount, Float
913
+
914
+ # @!attribute timestamp
915
+ #
916
+ # @return [Time]
917
+ required :timestamp, Time
918
+
919
+ # @!attribute type
920
+ #
921
+ # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type]
922
+ required :type, enum: -> { MetronomeSDK::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type }
923
+
924
+ # @!method initialize(amount:, timestamp:, type:)
925
+ # @param amount [Float]
926
+ # @param timestamp [Time]
927
+ # @param type [Symbol, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type]
928
+
929
+ # @see MetronomeSDK::Models::Commit::Ledger::PostpaidCommitExpirationLedgerEntry#type
930
+ module Type
931
+ extend MetronomeSDK::Internal::Type::Enum
932
+
933
+ POSTPAID_COMMIT_EXPIRATION = :POSTPAID_COMMIT_EXPIRATION
934
+
935
+ # @!method self.values
936
+ # @return [Array<Symbol>]
937
+ end
938
+ end
939
+
940
+ # @!method self.variants
941
+ # @return [Array(MetronomeSDK::Models::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitExpirationLedgerEntry)]
942
+ end
943
+
944
+ # @see MetronomeSDK::Models::Commit#rate_type
945
+ module RateType
946
+ extend MetronomeSDK::Internal::Type::Enum
947
+
948
+ COMMIT_RATE = :COMMIT_RATE
949
+ LIST_RATE = :LIST_RATE
950
+
951
+ # @!method self.values
952
+ # @return [Array<Symbol>]
953
+ end
954
+
955
+ # @see MetronomeSDK::Models::Commit#rolled_over_from
956
+ class RolledOverFrom < MetronomeSDK::Internal::Type::BaseModel
957
+ # @!attribute commit_id
958
+ #
959
+ # @return [String]
960
+ required :commit_id, String
961
+
962
+ # @!attribute contract_id
963
+ #
964
+ # @return [String]
965
+ required :contract_id, String
966
+
967
+ # @!method initialize(commit_id:, contract_id:)
968
+ # @param commit_id [String]
969
+ # @param contract_id [String]
970
+ end
971
+
972
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
973
+ # @!attribute presentation_group_values
974
+ #
975
+ # @return [Hash{Symbol=>String}, nil]
976
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
977
+
978
+ # @!attribute pricing_group_values
979
+ #
980
+ # @return [Hash{Symbol=>String}, nil]
981
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
982
+
983
+ # @!attribute product_id
984
+ # If provided, the specifier will only apply to the product with the specified ID.
985
+ #
986
+ # @return [String, nil]
987
+ optional :product_id, String
988
+
989
+ # @!attribute product_tags
990
+ # If provided, the specifier will only apply to products with all the specified
991
+ # tags.
992
+ #
993
+ # @return [Array<String>, nil]
994
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
995
+
996
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
997
+ # Some parameter documentations has been truncated, see
998
+ # {MetronomeSDK::Models::Commit::Specifier} for more details.
999
+ #
1000
+ # @param presentation_group_values [Hash{Symbol=>String}]
1001
+ #
1002
+ # @param pricing_group_values [Hash{Symbol=>String}]
1003
+ #
1004
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
1005
+ #
1006
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
1007
+ end
1008
+ end
1009
+ end
1010
+ end