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,1053 @@
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::PrepaidCommitSeatBasedAdjustmentLedgerEntry, 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::PrepaidCommitSeatBasedAdjustmentLedgerEntry, 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::PrepaidCommitSeatBasedAdjustmentLedgerEntry }
397
+
398
+ variant -> { MetronomeSDK::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry }
399
+
400
+ variant -> { MetronomeSDK::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry }
401
+
402
+ variant -> { MetronomeSDK::Commit::Ledger::PostpaidCommitRolloverLedgerEntry }
403
+
404
+ variant -> { MetronomeSDK::Commit::Ledger::PostpaidCommitTrueupLedgerEntry }
405
+
406
+ variant -> { MetronomeSDK::Commit::Ledger::PrepaidCommitManualLedgerEntry }
407
+
408
+ variant -> { MetronomeSDK::Commit::Ledger::PostpaidCommitManualLedgerEntry }
409
+
410
+ variant -> { MetronomeSDK::Commit::Ledger::PostpaidCommitExpirationLedgerEntry }
411
+
412
+ class PrepaidCommitSegmentStartLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
413
+ # @!attribute amount
414
+ #
415
+ # @return [Float]
416
+ required :amount, Float
417
+
418
+ # @!attribute segment_id
419
+ #
420
+ # @return [String]
421
+ required :segment_id, String
422
+
423
+ # @!attribute timestamp
424
+ #
425
+ # @return [Time]
426
+ required :timestamp, Time
427
+
428
+ # @!attribute type
429
+ #
430
+ # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type]
431
+ required :type,
432
+ enum: -> {
433
+ MetronomeSDK::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type
434
+ }
435
+
436
+ # @!method initialize(amount:, segment_id:, timestamp:, type:)
437
+ # @param amount [Float]
438
+ # @param segment_id [String]
439
+ # @param timestamp [Time]
440
+ # @param type [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type]
441
+
442
+ # @see MetronomeSDK::Models::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry#type
443
+ module Type
444
+ extend MetronomeSDK::Internal::Type::Enum
445
+
446
+ PREPAID_COMMIT_SEGMENT_START = :PREPAID_COMMIT_SEGMENT_START
447
+
448
+ # @!method self.values
449
+ # @return [Array<Symbol>]
450
+ end
451
+ end
452
+
453
+ class PrepaidCommitAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
454
+ # @!attribute amount
455
+ #
456
+ # @return [Float]
457
+ required :amount, Float
458
+
459
+ # @!attribute invoice_id
460
+ #
461
+ # @return [String]
462
+ required :invoice_id, String
463
+
464
+ # @!attribute segment_id
465
+ #
466
+ # @return [String]
467
+ required :segment_id, String
468
+
469
+ # @!attribute timestamp
470
+ #
471
+ # @return [Time]
472
+ required :timestamp, Time
473
+
474
+ # @!attribute type
475
+ #
476
+ # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
477
+ required :type,
478
+ enum: -> {
479
+ MetronomeSDK::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type
480
+ }
481
+
482
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
483
+ # @param amount [Float]
484
+ # @param invoice_id [String]
485
+ # @param segment_id [String]
486
+ # @param timestamp [Time]
487
+ # @param type [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
488
+
489
+ # @see MetronomeSDK::Models::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry#type
490
+ module Type
491
+ extend MetronomeSDK::Internal::Type::Enum
492
+
493
+ PREPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION = :PREPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION
494
+
495
+ # @!method self.values
496
+ # @return [Array<Symbol>]
497
+ end
498
+ end
499
+
500
+ class PrepaidCommitRolloverLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
501
+ # @!attribute amount
502
+ #
503
+ # @return [Float]
504
+ required :amount, Float
505
+
506
+ # @!attribute new_contract_id
507
+ #
508
+ # @return [String]
509
+ required :new_contract_id, String
510
+
511
+ # @!attribute segment_id
512
+ #
513
+ # @return [String]
514
+ required :segment_id, String
515
+
516
+ # @!attribute timestamp
517
+ #
518
+ # @return [Time]
519
+ required :timestamp, Time
520
+
521
+ # @!attribute type
522
+ #
523
+ # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type]
524
+ required :type, enum: -> { MetronomeSDK::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type }
525
+
526
+ # @!method initialize(amount:, new_contract_id:, segment_id:, timestamp:, type:)
527
+ # @param amount [Float]
528
+ # @param new_contract_id [String]
529
+ # @param segment_id [String]
530
+ # @param timestamp [Time]
531
+ # @param type [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type]
532
+
533
+ # @see MetronomeSDK::Models::Commit::Ledger::PrepaidCommitRolloverLedgerEntry#type
534
+ module Type
535
+ extend MetronomeSDK::Internal::Type::Enum
536
+
537
+ PREPAID_COMMIT_ROLLOVER = :PREPAID_COMMIT_ROLLOVER
538
+
539
+ # @!method self.values
540
+ # @return [Array<Symbol>]
541
+ end
542
+ end
543
+
544
+ class PrepaidCommitExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
545
+ # @!attribute amount
546
+ #
547
+ # @return [Float]
548
+ required :amount, Float
549
+
550
+ # @!attribute segment_id
551
+ #
552
+ # @return [String]
553
+ required :segment_id, String
554
+
555
+ # @!attribute timestamp
556
+ #
557
+ # @return [Time]
558
+ required :timestamp, Time
559
+
560
+ # @!attribute type
561
+ #
562
+ # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type]
563
+ required :type, enum: -> { MetronomeSDK::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type }
564
+
565
+ # @!method initialize(amount:, segment_id:, timestamp:, type:)
566
+ # @param amount [Float]
567
+ # @param segment_id [String]
568
+ # @param timestamp [Time]
569
+ # @param type [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type]
570
+
571
+ # @see MetronomeSDK::Models::Commit::Ledger::PrepaidCommitExpirationLedgerEntry#type
572
+ module Type
573
+ extend MetronomeSDK::Internal::Type::Enum
574
+
575
+ PREPAID_COMMIT_EXPIRATION = :PREPAID_COMMIT_EXPIRATION
576
+
577
+ # @!method self.values
578
+ # @return [Array<Symbol>]
579
+ end
580
+ end
581
+
582
+ class PrepaidCommitCanceledLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
583
+ # @!attribute amount
584
+ #
585
+ # @return [Float]
586
+ required :amount, Float
587
+
588
+ # @!attribute invoice_id
589
+ #
590
+ # @return [String]
591
+ required :invoice_id, String
592
+
593
+ # @!attribute segment_id
594
+ #
595
+ # @return [String]
596
+ required :segment_id, String
597
+
598
+ # @!attribute timestamp
599
+ #
600
+ # @return [Time]
601
+ required :timestamp, Time
602
+
603
+ # @!attribute type
604
+ #
605
+ # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type]
606
+ required :type, enum: -> { MetronomeSDK::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type }
607
+
608
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
609
+ # @param amount [Float]
610
+ # @param invoice_id [String]
611
+ # @param segment_id [String]
612
+ # @param timestamp [Time]
613
+ # @param type [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type]
614
+
615
+ # @see MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCanceledLedgerEntry#type
616
+ module Type
617
+ extend MetronomeSDK::Internal::Type::Enum
618
+
619
+ PREPAID_COMMIT_CANCELED = :PREPAID_COMMIT_CANCELED
620
+
621
+ # @!method self.values
622
+ # @return [Array<Symbol>]
623
+ end
624
+ end
625
+
626
+ class PrepaidCommitCreditedLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
627
+ # @!attribute amount
628
+ #
629
+ # @return [Float]
630
+ required :amount, Float
631
+
632
+ # @!attribute invoice_id
633
+ #
634
+ # @return [String]
635
+ required :invoice_id, String
636
+
637
+ # @!attribute segment_id
638
+ #
639
+ # @return [String]
640
+ required :segment_id, String
641
+
642
+ # @!attribute timestamp
643
+ #
644
+ # @return [Time]
645
+ required :timestamp, Time
646
+
647
+ # @!attribute type
648
+ #
649
+ # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type]
650
+ required :type, enum: -> { MetronomeSDK::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type }
651
+
652
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
653
+ # @param amount [Float]
654
+ # @param invoice_id [String]
655
+ # @param segment_id [String]
656
+ # @param timestamp [Time]
657
+ # @param type [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type]
658
+
659
+ # @see MetronomeSDK::Models::Commit::Ledger::PrepaidCommitCreditedLedgerEntry#type
660
+ module Type
661
+ extend MetronomeSDK::Internal::Type::Enum
662
+
663
+ PREPAID_COMMIT_CREDITED = :PREPAID_COMMIT_CREDITED
664
+
665
+ # @!method self.values
666
+ # @return [Array<Symbol>]
667
+ end
668
+ end
669
+
670
+ class PrepaidCommitSeatBasedAdjustmentLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
671
+ # @!attribute amount
672
+ #
673
+ # @return [Float]
674
+ required :amount, Float
675
+
676
+ # @!attribute segment_id
677
+ #
678
+ # @return [String]
679
+ required :segment_id, String
680
+
681
+ # @!attribute timestamp
682
+ #
683
+ # @return [Time]
684
+ required :timestamp, Time
685
+
686
+ # @!attribute type
687
+ #
688
+ # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::Type]
689
+ required :type,
690
+ enum: -> {
691
+ MetronomeSDK::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::Type
692
+ }
693
+
694
+ # @!method initialize(amount:, segment_id:, timestamp:, type:)
695
+ # @param amount [Float]
696
+ # @param segment_id [String]
697
+ # @param timestamp [Time]
698
+ # @param type [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::Type]
699
+
700
+ # @see MetronomeSDK::Models::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry#type
701
+ module Type
702
+ extend MetronomeSDK::Internal::Type::Enum
703
+
704
+ PREPAID_COMMIT_SEAT_BASED_ADJUSTMENT = :PREPAID_COMMIT_SEAT_BASED_ADJUSTMENT
705
+
706
+ # @!method self.values
707
+ # @return [Array<Symbol>]
708
+ end
709
+ end
710
+
711
+ class PostpaidCommitInitialBalanceLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
712
+ # @!attribute amount
713
+ #
714
+ # @return [Float]
715
+ required :amount, Float
716
+
717
+ # @!attribute timestamp
718
+ #
719
+ # @return [Time]
720
+ required :timestamp, Time
721
+
722
+ # @!attribute type
723
+ #
724
+ # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type]
725
+ required :type,
726
+ enum: -> {
727
+ MetronomeSDK::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type
728
+ }
729
+
730
+ # @!method initialize(amount:, timestamp:, type:)
731
+ # @param amount [Float]
732
+ # @param timestamp [Time]
733
+ # @param type [Symbol, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type]
734
+
735
+ # @see MetronomeSDK::Models::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry#type
736
+ module Type
737
+ extend MetronomeSDK::Internal::Type::Enum
738
+
739
+ POSTPAID_COMMIT_INITIAL_BALANCE = :POSTPAID_COMMIT_INITIAL_BALANCE
740
+
741
+ # @!method self.values
742
+ # @return [Array<Symbol>]
743
+ end
744
+ end
745
+
746
+ class PostpaidCommitAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
747
+ # @!attribute amount
748
+ #
749
+ # @return [Float]
750
+ required :amount, Float
751
+
752
+ # @!attribute invoice_id
753
+ #
754
+ # @return [String]
755
+ required :invoice_id, String
756
+
757
+ # @!attribute segment_id
758
+ #
759
+ # @return [String]
760
+ required :segment_id, String
761
+
762
+ # @!attribute timestamp
763
+ #
764
+ # @return [Time]
765
+ required :timestamp, Time
766
+
767
+ # @!attribute type
768
+ #
769
+ # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
770
+ required :type,
771
+ enum: -> {
772
+ MetronomeSDK::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type
773
+ }
774
+
775
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
776
+ # @param amount [Float]
777
+ # @param invoice_id [String]
778
+ # @param segment_id [String]
779
+ # @param timestamp [Time]
780
+ # @param type [Symbol, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
781
+
782
+ # @see MetronomeSDK::Models::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry#type
783
+ module Type
784
+ extend MetronomeSDK::Internal::Type::Enum
785
+
786
+ POSTPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION = :POSTPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION
787
+
788
+ # @!method self.values
789
+ # @return [Array<Symbol>]
790
+ end
791
+ end
792
+
793
+ class PostpaidCommitRolloverLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
794
+ # @!attribute amount
795
+ #
796
+ # @return [Float]
797
+ required :amount, Float
798
+
799
+ # @!attribute new_contract_id
800
+ #
801
+ # @return [String]
802
+ required :new_contract_id, String
803
+
804
+ # @!attribute segment_id
805
+ #
806
+ # @return [String]
807
+ required :segment_id, String
808
+
809
+ # @!attribute timestamp
810
+ #
811
+ # @return [Time]
812
+ required :timestamp, Time
813
+
814
+ # @!attribute type
815
+ #
816
+ # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type]
817
+ required :type, enum: -> { MetronomeSDK::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type }
818
+
819
+ # @!method initialize(amount:, new_contract_id:, segment_id:, timestamp:, type:)
820
+ # @param amount [Float]
821
+ # @param new_contract_id [String]
822
+ # @param segment_id [String]
823
+ # @param timestamp [Time]
824
+ # @param type [Symbol, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type]
825
+
826
+ # @see MetronomeSDK::Models::Commit::Ledger::PostpaidCommitRolloverLedgerEntry#type
827
+ module Type
828
+ extend MetronomeSDK::Internal::Type::Enum
829
+
830
+ POSTPAID_COMMIT_ROLLOVER = :POSTPAID_COMMIT_ROLLOVER
831
+
832
+ # @!method self.values
833
+ # @return [Array<Symbol>]
834
+ end
835
+ end
836
+
837
+ class PostpaidCommitTrueupLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
838
+ # @!attribute amount
839
+ #
840
+ # @return [Float]
841
+ required :amount, Float
842
+
843
+ # @!attribute invoice_id
844
+ #
845
+ # @return [String]
846
+ required :invoice_id, String
847
+
848
+ # @!attribute timestamp
849
+ #
850
+ # @return [Time]
851
+ required :timestamp, Time
852
+
853
+ # @!attribute type
854
+ #
855
+ # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type]
856
+ required :type, enum: -> { MetronomeSDK::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type }
857
+
858
+ # @!method initialize(amount:, invoice_id:, timestamp:, type:)
859
+ # @param amount [Float]
860
+ # @param invoice_id [String]
861
+ # @param timestamp [Time]
862
+ # @param type [Symbol, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type]
863
+
864
+ # @see MetronomeSDK::Models::Commit::Ledger::PostpaidCommitTrueupLedgerEntry#type
865
+ module Type
866
+ extend MetronomeSDK::Internal::Type::Enum
867
+
868
+ POSTPAID_COMMIT_TRUEUP = :POSTPAID_COMMIT_TRUEUP
869
+
870
+ # @!method self.values
871
+ # @return [Array<Symbol>]
872
+ end
873
+ end
874
+
875
+ class PrepaidCommitManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
876
+ # @!attribute amount
877
+ #
878
+ # @return [Float]
879
+ required :amount, Float
880
+
881
+ # @!attribute reason
882
+ #
883
+ # @return [String]
884
+ required :reason, String
885
+
886
+ # @!attribute timestamp
887
+ #
888
+ # @return [Time]
889
+ required :timestamp, Time
890
+
891
+ # @!attribute type
892
+ #
893
+ # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type]
894
+ required :type, enum: -> { MetronomeSDK::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type }
895
+
896
+ # @!method initialize(amount:, reason:, timestamp:, type:)
897
+ # @param amount [Float]
898
+ # @param reason [String]
899
+ # @param timestamp [Time]
900
+ # @param type [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type]
901
+
902
+ # @see MetronomeSDK::Models::Commit::Ledger::PrepaidCommitManualLedgerEntry#type
903
+ module Type
904
+ extend MetronomeSDK::Internal::Type::Enum
905
+
906
+ PREPAID_COMMIT_MANUAL = :PREPAID_COMMIT_MANUAL
907
+
908
+ # @!method self.values
909
+ # @return [Array<Symbol>]
910
+ end
911
+ end
912
+
913
+ class PostpaidCommitManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
914
+ # @!attribute amount
915
+ #
916
+ # @return [Float]
917
+ required :amount, Float
918
+
919
+ # @!attribute reason
920
+ #
921
+ # @return [String]
922
+ required :reason, String
923
+
924
+ # @!attribute timestamp
925
+ #
926
+ # @return [Time]
927
+ required :timestamp, Time
928
+
929
+ # @!attribute type
930
+ #
931
+ # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type]
932
+ required :type, enum: -> { MetronomeSDK::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type }
933
+
934
+ # @!method initialize(amount:, reason:, timestamp:, type:)
935
+ # @param amount [Float]
936
+ # @param reason [String]
937
+ # @param timestamp [Time]
938
+ # @param type [Symbol, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type]
939
+
940
+ # @see MetronomeSDK::Models::Commit::Ledger::PostpaidCommitManualLedgerEntry#type
941
+ module Type
942
+ extend MetronomeSDK::Internal::Type::Enum
943
+
944
+ POSTPAID_COMMIT_MANUAL = :POSTPAID_COMMIT_MANUAL
945
+
946
+ # @!method self.values
947
+ # @return [Array<Symbol>]
948
+ end
949
+ end
950
+
951
+ class PostpaidCommitExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
952
+ # @!attribute amount
953
+ #
954
+ # @return [Float]
955
+ required :amount, Float
956
+
957
+ # @!attribute timestamp
958
+ #
959
+ # @return [Time]
960
+ required :timestamp, Time
961
+
962
+ # @!attribute type
963
+ #
964
+ # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type]
965
+ required :type, enum: -> { MetronomeSDK::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type }
966
+
967
+ # @!method initialize(amount:, timestamp:, type:)
968
+ # @param amount [Float]
969
+ # @param timestamp [Time]
970
+ # @param type [Symbol, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type]
971
+
972
+ # @see MetronomeSDK::Models::Commit::Ledger::PostpaidCommitExpirationLedgerEntry#type
973
+ module Type
974
+ extend MetronomeSDK::Internal::Type::Enum
975
+
976
+ POSTPAID_COMMIT_EXPIRATION = :POSTPAID_COMMIT_EXPIRATION
977
+
978
+ # @!method self.values
979
+ # @return [Array<Symbol>]
980
+ end
981
+ end
982
+
983
+ # @!method self.variants
984
+ # @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::PrepaidCommitSeatBasedAdjustmentLedgerEntry, 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)]
985
+ end
986
+
987
+ # @see MetronomeSDK::Models::Commit#rate_type
988
+ module RateType
989
+ extend MetronomeSDK::Internal::Type::Enum
990
+
991
+ COMMIT_RATE = :COMMIT_RATE
992
+ LIST_RATE = :LIST_RATE
993
+
994
+ # @!method self.values
995
+ # @return [Array<Symbol>]
996
+ end
997
+
998
+ # @see MetronomeSDK::Models::Commit#rolled_over_from
999
+ class RolledOverFrom < MetronomeSDK::Internal::Type::BaseModel
1000
+ # @!attribute commit_id
1001
+ #
1002
+ # @return [String]
1003
+ required :commit_id, String
1004
+
1005
+ # @!attribute contract_id
1006
+ #
1007
+ # @return [String]
1008
+ required :contract_id, String
1009
+
1010
+ # @!method initialize(commit_id:, contract_id:)
1011
+ # @param commit_id [String]
1012
+ # @param contract_id [String]
1013
+ end
1014
+
1015
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
1016
+ # @!attribute presentation_group_values
1017
+ #
1018
+ # @return [Hash{Symbol=>String}, nil]
1019
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1020
+
1021
+ # @!attribute pricing_group_values
1022
+ #
1023
+ # @return [Hash{Symbol=>String}, nil]
1024
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1025
+
1026
+ # @!attribute product_id
1027
+ # If provided, the specifier will only apply to the product with the specified ID.
1028
+ #
1029
+ # @return [String, nil]
1030
+ optional :product_id, String
1031
+
1032
+ # @!attribute product_tags
1033
+ # If provided, the specifier will only apply to products with all the specified
1034
+ # tags.
1035
+ #
1036
+ # @return [Array<String>, nil]
1037
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1038
+
1039
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
1040
+ # Some parameter documentations has been truncated, see
1041
+ # {MetronomeSDK::Models::Commit::Specifier} for more details.
1042
+ #
1043
+ # @param presentation_group_values [Hash{Symbol=>String}]
1044
+ #
1045
+ # @param pricing_group_values [Hash{Symbol=>String}]
1046
+ #
1047
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
1048
+ #
1049
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
1050
+ end
1051
+ end
1052
+ end
1053
+ end