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
@@ -7,8 +7,8 @@ module MetronomeSDK
7
7
  class PlanListCustomersResponse < MetronomeSDK::Internal::Type::BaseModel
8
8
  # @!attribute customer_details
9
9
  #
10
- # @return [MetronomeSDK::Models::V1::PlanListCustomersResponse::CustomerDetails]
11
- required :customer_details, -> { MetronomeSDK::Models::V1::PlanListCustomersResponse::CustomerDetails }
10
+ # @return [MetronomeSDK::Models::V1::CustomerDetail]
11
+ required :customer_details, -> { MetronomeSDK::V1::CustomerDetail }
12
12
 
13
13
  # @!attribute plan_details
14
14
  #
@@ -16,134 +16,9 @@ module MetronomeSDK
16
16
  required :plan_details, -> { MetronomeSDK::Models::V1::PlanListCustomersResponse::PlanDetails }
17
17
 
18
18
  # @!method initialize(customer_details:, plan_details:)
19
- # @param customer_details [MetronomeSDK::Models::V1::PlanListCustomersResponse::CustomerDetails]
19
+ # @param customer_details [MetronomeSDK::Models::V1::CustomerDetail]
20
20
  # @param plan_details [MetronomeSDK::Models::V1::PlanListCustomersResponse::PlanDetails]
21
21
 
22
- # @see MetronomeSDK::Models::V1::PlanListCustomersResponse#customer_details
23
- class CustomerDetails < MetronomeSDK::Internal::Type::BaseModel
24
- # @!attribute id
25
- # the Metronome ID of the customer
26
- #
27
- # @return [String]
28
- required :id, String
29
-
30
- # @!attribute created_at
31
- # RFC 3339 timestamp indicating when the customer was created.
32
- #
33
- # @return [Time]
34
- required :created_at, Time
35
-
36
- # @!attribute custom_fields
37
- #
38
- # @return [Hash{Symbol=>String}]
39
- required :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
40
-
41
- # @!attribute customer_config
42
- #
43
- # @return [MetronomeSDK::Models::V1::PlanListCustomersResponse::CustomerDetails::CustomerConfig]
44
- required :customer_config,
45
- -> { MetronomeSDK::Models::V1::PlanListCustomersResponse::CustomerDetails::CustomerConfig }
46
-
47
- # @!attribute external_id
48
- # (deprecated, use ingest_aliases instead) the first ID (Metronome or ingest
49
- # alias) that can be used in usage events
50
- #
51
- # @return [String]
52
- required :external_id, String
53
-
54
- # @!attribute ingest_aliases
55
- # aliases for this customer that can be used instead of the Metronome customer ID
56
- # in usage events
57
- #
58
- # @return [Array<String>]
59
- required :ingest_aliases, MetronomeSDK::Internal::Type::ArrayOf[String]
60
-
61
- # @!attribute name
62
- #
63
- # @return [String]
64
- required :name, String
65
-
66
- # @!attribute archived_at
67
- # RFC 3339 timestamp indicating when the customer was archived. Null if the
68
- # customer is active.
69
- #
70
- # @return [Time, nil]
71
- optional :archived_at, Time, nil?: true
72
-
73
- # @!attribute current_billable_status
74
- # This field's availability is dependent on your client's configuration.
75
- #
76
- # @return [MetronomeSDK::Models::V1::PlanListCustomersResponse::CustomerDetails::CurrentBillableStatus, nil]
77
- optional :current_billable_status,
78
- -> { MetronomeSDK::Models::V1::PlanListCustomersResponse::CustomerDetails::CurrentBillableStatus }
79
-
80
- # @!method initialize(id:, created_at:, custom_fields:, customer_config:, external_id:, ingest_aliases:, name:, archived_at: nil, current_billable_status: nil)
81
- # Some parameter documentations has been truncated, see
82
- # {MetronomeSDK::Models::V1::PlanListCustomersResponse::CustomerDetails} for more
83
- # details.
84
- #
85
- # @param id [String] the Metronome ID of the customer
86
- #
87
- # @param created_at [Time] RFC 3339 timestamp indicating when the customer was created.
88
- #
89
- # @param custom_fields [Hash{Symbol=>String}]
90
- #
91
- # @param customer_config [MetronomeSDK::Models::V1::PlanListCustomersResponse::CustomerDetails::CustomerConfig]
92
- #
93
- # @param external_id [String] (deprecated, use ingest_aliases instead) the first ID (Metronome or ingest alias
94
- #
95
- # @param ingest_aliases [Array<String>] aliases for this customer that can be used instead of the Metronome customer ID
96
- #
97
- # @param name [String]
98
- #
99
- # @param archived_at [Time, nil] RFC 3339 timestamp indicating when the customer was archived. Null if the custom
100
- #
101
- # @param current_billable_status [MetronomeSDK::Models::V1::PlanListCustomersResponse::CustomerDetails::CurrentBillableStatus] This field's availability is dependent on your client's configuration.
102
-
103
- # @see MetronomeSDK::Models::V1::PlanListCustomersResponse::CustomerDetails#customer_config
104
- class CustomerConfig < MetronomeSDK::Internal::Type::BaseModel
105
- # @!attribute salesforce_account_id
106
- # The Salesforce account ID for the customer
107
- #
108
- # @return [String, nil]
109
- required :salesforce_account_id, String, nil?: true
110
-
111
- # @!method initialize(salesforce_account_id:)
112
- # @param salesforce_account_id [String, nil] The Salesforce account ID for the customer
113
- end
114
-
115
- # @see MetronomeSDK::Models::V1::PlanListCustomersResponse::CustomerDetails#current_billable_status
116
- class CurrentBillableStatus < MetronomeSDK::Internal::Type::BaseModel
117
- # @!attribute value
118
- #
119
- # @return [Symbol, MetronomeSDK::Models::V1::PlanListCustomersResponse::CustomerDetails::CurrentBillableStatus::Value]
120
- required :value,
121
- enum: -> { MetronomeSDK::Models::V1::PlanListCustomersResponse::CustomerDetails::CurrentBillableStatus::Value }
122
-
123
- # @!attribute effective_at
124
- #
125
- # @return [Time, nil]
126
- optional :effective_at, Time, nil?: true
127
-
128
- # @!method initialize(value:, effective_at: nil)
129
- # This field's availability is dependent on your client's configuration.
130
- #
131
- # @param value [Symbol, MetronomeSDK::Models::V1::PlanListCustomersResponse::CustomerDetails::CurrentBillableStatus::Value]
132
- # @param effective_at [Time, nil]
133
-
134
- # @see MetronomeSDK::Models::V1::PlanListCustomersResponse::CustomerDetails::CurrentBillableStatus#value
135
- module Value
136
- extend MetronomeSDK::Internal::Type::Enum
137
-
138
- BILLABLE = :billable
139
- UNBILLABLE = :unbillable
140
-
141
- # @!method self.values
142
- # @return [Array<Symbol>]
143
- end
144
- end
145
- end
146
-
147
22
  # @see MetronomeSDK::Models::V1::PlanListCustomersResponse#plan_details
148
23
  class PlanDetails < MetronomeSDK::Internal::Type::BaseModel
149
24
  # @!attribute id
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ class RolloverAmountMaxAmount < MetronomeSDK::Internal::Type::BaseModel
7
+ # @!attribute type
8
+ # Rollover up to a fixed amount of the original credit grant amount.
9
+ #
10
+ # @return [Symbol, MetronomeSDK::Models::V1::RolloverAmountMaxAmount::Type]
11
+ required :type, enum: -> { MetronomeSDK::V1::RolloverAmountMaxAmount::Type }
12
+
13
+ # @!attribute value
14
+ # The maximum amount to rollover.
15
+ #
16
+ # @return [Float]
17
+ required :value, Float
18
+
19
+ # @!method initialize(type:, value:)
20
+ # @param type [Symbol, MetronomeSDK::Models::V1::RolloverAmountMaxAmount::Type] Rollover up to a fixed amount of the original credit grant amount.
21
+ #
22
+ # @param value [Float] The maximum amount to rollover.
23
+
24
+ # Rollover up to a fixed amount of the original credit grant amount.
25
+ #
26
+ # @see MetronomeSDK::Models::V1::RolloverAmountMaxAmount#type
27
+ module Type
28
+ extend MetronomeSDK::Internal::Type::Enum
29
+
30
+ MAX_AMOUNT = :MAX_AMOUNT
31
+
32
+ # @!method self.values
33
+ # @return [Array<Symbol>]
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ class RolloverAmountMaxPercentage < MetronomeSDK::Internal::Type::BaseModel
7
+ # @!attribute type
8
+ # Rollover up to a percentage of the original credit grant amount.
9
+ #
10
+ # @return [Symbol, MetronomeSDK::Models::V1::RolloverAmountMaxPercentage::Type]
11
+ required :type, enum: -> { MetronomeSDK::V1::RolloverAmountMaxPercentage::Type }
12
+
13
+ # @!attribute value
14
+ # The maximum percentage (0-1) of the original credit grant to rollover.
15
+ #
16
+ # @return [Float]
17
+ required :value, Float
18
+
19
+ # @!method initialize(type:, value:)
20
+ # @param type [Symbol, MetronomeSDK::Models::V1::RolloverAmountMaxPercentage::Type] Rollover up to a percentage of the original credit grant amount.
21
+ #
22
+ # @param value [Float] The maximum percentage (0-1) of the original credit grant to rollover.
23
+
24
+ # Rollover up to a percentage of the original credit grant amount.
25
+ #
26
+ # @see MetronomeSDK::Models::V1::RolloverAmountMaxPercentage#type
27
+ module Type
28
+ extend MetronomeSDK::Internal::Type::Enum
29
+
30
+ MAX_PERCENTAGE = :MAX_PERCENTAGE
31
+
32
+ # @!method self.values
33
+ # @return [Array<Symbol>]
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ # @see MetronomeSDK::Resources::V1::Usage#search
7
+ class UsageSearchParams < MetronomeSDK::Internal::Type::BaseModel
8
+ extend MetronomeSDK::Internal::Type::RequestParameters::Converter
9
+ include MetronomeSDK::Internal::Type::RequestParameters
10
+
11
+ # @!attribute transaction_ids
12
+ # The transaction IDs of the events to retrieve
13
+ #
14
+ # @return [Array<String>]
15
+ required :transaction_ids, MetronomeSDK::Internal::Type::ArrayOf[String], api_name: :transactionIds
16
+
17
+ # @!method initialize(transaction_ids:, request_options: {})
18
+ # @param transaction_ids [Array<String>] The transaction IDs of the events to retrieve
19
+ #
20
+ # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,249 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ class UsageSearchResponseItem < MetronomeSDK::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ #
9
+ # @return [String]
10
+ required :id, String
11
+
12
+ # @!attribute customer_id
13
+ # The ID of the customer in the ingest event body
14
+ #
15
+ # @return [String]
16
+ required :customer_id, String
17
+
18
+ # @!attribute event_type
19
+ #
20
+ # @return [String]
21
+ required :event_type, String
22
+
23
+ # @!attribute timestamp
24
+ #
25
+ # @return [Time]
26
+ required :timestamp, Time
27
+
28
+ # @!attribute transaction_id
29
+ #
30
+ # @return [String]
31
+ required :transaction_id, String
32
+
33
+ # @!attribute is_duplicate
34
+ #
35
+ # @return [Boolean, nil]
36
+ optional :is_duplicate, MetronomeSDK::Internal::Type::Boolean
37
+
38
+ # @!attribute matched_billable_metrics
39
+ #
40
+ # @return [Array<MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric>, nil]
41
+ optional :matched_billable_metrics,
42
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric] }
43
+
44
+ # @!attribute matched_customer
45
+ # The customer the event was matched to if a match was found
46
+ #
47
+ # @return [MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedCustomer, nil]
48
+ optional :matched_customer, -> { MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedCustomer }
49
+
50
+ # @!attribute processed_at
51
+ #
52
+ # @return [Time, nil]
53
+ optional :processed_at, Time
54
+
55
+ # @!attribute properties
56
+ #
57
+ # @return [Hash{Symbol=>Object}, nil]
58
+ optional :properties, MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
59
+
60
+ # @!method initialize(id:, customer_id:, event_type:, timestamp:, transaction_id:, is_duplicate: nil, matched_billable_metrics: nil, matched_customer: nil, processed_at: nil, properties: nil)
61
+ # @param id [String]
62
+ #
63
+ # @param customer_id [String] The ID of the customer in the ingest event body
64
+ #
65
+ # @param event_type [String]
66
+ #
67
+ # @param timestamp [Time]
68
+ #
69
+ # @param transaction_id [String]
70
+ #
71
+ # @param is_duplicate [Boolean]
72
+ #
73
+ # @param matched_billable_metrics [Array<MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric>]
74
+ #
75
+ # @param matched_customer [MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedCustomer] The customer the event was matched to if a match was found
76
+ #
77
+ # @param processed_at [Time]
78
+ #
79
+ # @param properties [Hash{Symbol=>Object}]
80
+
81
+ class MatchedBillableMetric < MetronomeSDK::Internal::Type::BaseModel
82
+ # @!attribute id
83
+ #
84
+ # @return [String]
85
+ required :id, String
86
+
87
+ # @!attribute name
88
+ #
89
+ # @return [String]
90
+ required :name, String
91
+
92
+ # @!attribute aggregate
93
+ # (DEPRECATED) use aggregation_type instead
94
+ #
95
+ # @return [String, nil]
96
+ optional :aggregate, String
97
+
98
+ # @!attribute aggregate_keys
99
+ # (DEPRECATED) use aggregation_key instead
100
+ #
101
+ # @return [Array<String>, nil]
102
+ optional :aggregate_keys, MetronomeSDK::Internal::Type::ArrayOf[String]
103
+
104
+ # @!attribute aggregation_key
105
+ # A key that specifies which property of the event is used to aggregate data. This
106
+ # key must be one of the property filter names and is not applicable when the
107
+ # aggregation type is 'count'.
108
+ #
109
+ # @return [String, nil]
110
+ optional :aggregation_key, String
111
+
112
+ # @!attribute aggregation_type
113
+ # Specifies the type of aggregation performed on matching events.
114
+ #
115
+ # @return [Symbol, MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric::AggregationType, nil]
116
+ optional :aggregation_type,
117
+ enum: -> { MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric::AggregationType }
118
+
119
+ # @!attribute archived_at
120
+ # RFC 3339 timestamp indicating when the billable metric was archived. If not
121
+ # provided, the billable metric is not archived.
122
+ #
123
+ # @return [Time, nil]
124
+ optional :archived_at, Time
125
+
126
+ # @!attribute custom_fields
127
+ #
128
+ # @return [Hash{Symbol=>String}, nil]
129
+ optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
130
+
131
+ # @!attribute event_type_filter
132
+ # An optional filtering rule to match the 'event_type' property of an event.
133
+ #
134
+ # @return [MetronomeSDK::Models::EventTypeFilter, nil]
135
+ optional :event_type_filter, -> { MetronomeSDK::EventTypeFilter }
136
+
137
+ # @!attribute filter
138
+ # (DEPRECATED) use property_filters & event_type_filter instead
139
+ #
140
+ # @return [Hash{Symbol=>Object}, nil]
141
+ optional :filter, MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
142
+
143
+ # @!attribute group_by
144
+ # (DEPRECATED) use group_keys instead
145
+ #
146
+ # @return [Array<String>, nil]
147
+ optional :group_by, MetronomeSDK::Internal::Type::ArrayOf[String]
148
+
149
+ # @!attribute group_keys
150
+ # Property names that are used to group usage costs on an invoice. Each entry
151
+ # represents a set of properties used to slice events into distinct buckets.
152
+ #
153
+ # @return [Array<Array<String>>, nil]
154
+ optional :group_keys,
155
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Internal::Type::ArrayOf[String]]
156
+
157
+ # @!attribute property_filters
158
+ # A list of filters to match events to this billable metric. Each filter defines a
159
+ # rule on an event property. All rules must pass for the event to match the
160
+ # billable metric.
161
+ #
162
+ # @return [Array<MetronomeSDK::Models::PropertyFilter>, nil]
163
+ optional :property_filters,
164
+ -> {
165
+ MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::PropertyFilter]
166
+ }
167
+
168
+ # @!attribute sql
169
+ # The SQL query associated with the billable metric
170
+ #
171
+ # @return [String, nil]
172
+ optional :sql, String
173
+
174
+ # @!method initialize(id:, name:, aggregate: nil, aggregate_keys: nil, aggregation_key: nil, aggregation_type: nil, archived_at: nil, custom_fields: nil, event_type_filter: nil, filter: nil, group_by: nil, group_keys: nil, property_filters: nil, sql: nil)
175
+ # Some parameter documentations has been truncated, see
176
+ # {MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric} for
177
+ # more details.
178
+ #
179
+ # @param id [String]
180
+ #
181
+ # @param name [String]
182
+ #
183
+ # @param aggregate [String] (DEPRECATED) use aggregation_type instead
184
+ #
185
+ # @param aggregate_keys [Array<String>] (DEPRECATED) use aggregation_key instead
186
+ #
187
+ # @param aggregation_key [String] A key that specifies which property of the event is used to aggregate data. This
188
+ #
189
+ # @param aggregation_type [Symbol, MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric::AggregationType] Specifies the type of aggregation performed on matching events.
190
+ #
191
+ # @param archived_at [Time] RFC 3339 timestamp indicating when the billable metric was archived. If not prov
192
+ #
193
+ # @param custom_fields [Hash{Symbol=>String}]
194
+ #
195
+ # @param event_type_filter [MetronomeSDK::Models::EventTypeFilter] An optional filtering rule to match the 'event_type' property of an event.
196
+ #
197
+ # @param filter [Hash{Symbol=>Object}] (DEPRECATED) use property_filters & event_type_filter instead
198
+ #
199
+ # @param group_by [Array<String>] (DEPRECATED) use group_keys instead
200
+ #
201
+ # @param group_keys [Array<Array<String>>] Property names that are used to group usage costs on an invoice. Each entry repr
202
+ #
203
+ # @param property_filters [Array<MetronomeSDK::Models::PropertyFilter>] A list of filters to match events to this billable metric. Each filter defines a
204
+ #
205
+ # @param sql [String] The SQL query associated with the billable metric
206
+
207
+ # Specifies the type of aggregation performed on matching events.
208
+ #
209
+ # @see MetronomeSDK::Models::V1::UsageSearchResponseItem::MatchedBillableMetric#aggregation_type
210
+ module AggregationType
211
+ extend MetronomeSDK::Internal::Type::Enum
212
+
213
+ COUNT = :COUNT
214
+ LATEST = :LATEST
215
+ MAX = :MAX
216
+ SUM = :SUM
217
+ UNIQUE = :UNIQUE
218
+
219
+ # @!method self.values
220
+ # @return [Array<Symbol>]
221
+ end
222
+ end
223
+
224
+ # @see MetronomeSDK::Models::V1::UsageSearchResponseItem#matched_customer
225
+ class MatchedCustomer < MetronomeSDK::Internal::Type::BaseModel
226
+ # @!attribute id
227
+ #
228
+ # @return [String, nil]
229
+ optional :id, String
230
+
231
+ # @!attribute name
232
+ #
233
+ # @return [String, nil]
234
+ optional :name, String
235
+
236
+ # @!method initialize(id: nil, name: nil)
237
+ # The customer the event was matched to if a match was found
238
+ #
239
+ # @param id [String]
240
+ # @param name [String]
241
+ end
242
+ end
243
+
244
+ # @type [MetronomeSDK::Internal::Type::Converter]
245
+ UsageSearchResponse =
246
+ MetronomeSDK::Internal::Type::ArrayOf[-> { MetronomeSDK::Models::V1::UsageSearchResponseItem }]
247
+ end
248
+ end
249
+ end
@@ -26,15 +26,17 @@ module MetronomeSDK
26
26
  optional :access_schedule, -> { MetronomeSDK::V2::ContractEditCommitParams::AccessSchedule }
27
27
 
28
28
  # @!attribute applicable_product_ids
29
- # Which products the commit applies to. If both applicable_product_ids and
30
- # applicable_product_tags are not provided, the commit applies to all products.
29
+ # Which products the commit applies to. If applicable_product_ids,
30
+ # applicable_product_tags or specifiers are not provided, the commit applies to
31
+ # all products.
31
32
  #
32
33
  # @return [Array<String>, nil]
33
34
  optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String], nil?: true
34
35
 
35
36
  # @!attribute applicable_product_tags
36
- # Which tags the commit applies to. If both applicable_product_ids and
37
- # applicable_product_tags are not provided, the commit applies to all products.
37
+ # Which tags the commit applies to. If applicable_product_ids,
38
+ # applicable_product_tags or specifiers are not provided, the commit applies to
39
+ # all products.
38
40
  #
39
41
  # @return [Array<String>, nil]
40
42
  optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String], nil?: true
@@ -65,7 +67,8 @@ module MetronomeSDK
65
67
  optional :specifiers,
66
68
  -> {
67
69
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditCommitParams::Specifier]
68
- }
70
+ },
71
+ nil?: true
69
72
 
70
73
  # @!method initialize(commit_id:, customer_id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, invoice_contract_id: nil, invoice_schedule: nil, product_id: nil, specifiers: nil, request_options: {})
71
74
  # Some parameter documentations has been truncated, see
@@ -77,9 +80,9 @@ module MetronomeSDK
77
80
  #
78
81
  # @param access_schedule [MetronomeSDK::Models::V2::ContractEditCommitParams::AccessSchedule]
79
82
  #
80
- # @param applicable_product_ids [Array<String>, nil] Which products the commit applies to. If both applicable_product_ids and applica
83
+ # @param applicable_product_ids [Array<String>, nil] Which products the commit applies to. If applicable_product_ids, applicable_prod
81
84
  #
82
- # @param applicable_product_tags [Array<String>, nil] Which tags the commit applies to. If both applicable*product_ids and applicable*
85
+ # @param applicable_product_tags [Array<String>, nil] Which tags the commit applies to. If applicable*product_ids, applicable_product*
83
86
  #
84
87
  # @param invoice_contract_id [String] ID of contract to use for invoicing
85
88
  #
@@ -87,7 +90,7 @@ module MetronomeSDK
87
90
  #
88
91
  # @param product_id [String]
89
92
  #
90
- # @param specifiers [Array<MetronomeSDK::Models::V2::ContractEditCommitParams::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
93
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractEditCommitParams::Specifier>, nil] List of filters that determine what kind of customer usage draws down a commit o
91
94
  #
92
95
  # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
93
96
 
@@ -7,22 +7,11 @@ module MetronomeSDK
7
7
  class ContractEditCommitResponse < MetronomeSDK::Internal::Type::BaseModel
8
8
  # @!attribute data
9
9
  #
10
- # @return [MetronomeSDK::Models::V2::ContractEditCommitResponse::Data]
11
- required :data, -> { MetronomeSDK::Models::V2::ContractEditCommitResponse::Data }
10
+ # @return [MetronomeSDK::Models::ID]
11
+ required :data, -> { MetronomeSDK::ID }
12
12
 
13
13
  # @!method initialize(data:)
14
- # @param data [MetronomeSDK::Models::V2::ContractEditCommitResponse::Data]
15
-
16
- # @see MetronomeSDK::Models::V2::ContractEditCommitResponse#data
17
- class Data < MetronomeSDK::Internal::Type::BaseModel
18
- # @!attribute id
19
- #
20
- # @return [String]
21
- required :id, String
22
-
23
- # @!method initialize(id:)
24
- # @param id [String]
25
- end
14
+ # @param data [MetronomeSDK::Models::ID]
26
15
  end
27
16
  end
28
17
  end
@@ -54,7 +54,8 @@ module MetronomeSDK
54
54
  optional :specifiers,
55
55
  -> {
56
56
  MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V2::ContractEditCreditParams::Specifier]
57
- }
57
+ },
58
+ nil?: true
58
59
 
59
60
  # @!method initialize(credit_id:, customer_id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, product_id: nil, specifiers: nil, request_options: {})
60
61
  # Some parameter documentations has been truncated, see
@@ -72,7 +73,7 @@ module MetronomeSDK
72
73
  #
73
74
  # @param product_id [String]
74
75
  #
75
- # @param specifiers [Array<MetronomeSDK::Models::V2::ContractEditCreditParams::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
76
+ # @param specifiers [Array<MetronomeSDK::Models::V2::ContractEditCreditParams::Specifier>, nil] List of filters that determine what kind of customer usage draws down a commit o
76
77
  #
77
78
  # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
78
79
 
@@ -7,22 +7,11 @@ module MetronomeSDK
7
7
  class ContractEditCreditResponse < MetronomeSDK::Internal::Type::BaseModel
8
8
  # @!attribute data
9
9
  #
10
- # @return [MetronomeSDK::Models::V2::ContractEditCreditResponse::Data]
11
- required :data, -> { MetronomeSDK::Models::V2::ContractEditCreditResponse::Data }
10
+ # @return [MetronomeSDK::Models::ID]
11
+ required :data, -> { MetronomeSDK::ID }
12
12
 
13
13
  # @!method initialize(data:)
14
- # @param data [MetronomeSDK::Models::V2::ContractEditCreditResponse::Data]
15
-
16
- # @see MetronomeSDK::Models::V2::ContractEditCreditResponse#data
17
- class Data < MetronomeSDK::Internal::Type::BaseModel
18
- # @!attribute id
19
- #
20
- # @return [String]
21
- required :id, String
22
-
23
- # @!method initialize(id:)
24
- # @param id [String]
25
- end
14
+ # @param data [MetronomeSDK::Models::ID]
26
15
  end
27
16
  end
28
17
  end