metronome-sdk 0.1.0.pre.alpha.3 → 0.1.0.pre.alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +40 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/errors.rb +22 -0
  5. data/lib/metronome_sdk/internal/transport/base_client.rb +10 -2
  6. data/lib/metronome_sdk/internal/type/array_of.rb +6 -1
  7. data/lib/metronome_sdk/internal/type/base_model.rb +82 -26
  8. data/lib/metronome_sdk/internal/type/boolean.rb +7 -1
  9. data/lib/metronome_sdk/internal/type/converter.rb +42 -34
  10. data/lib/metronome_sdk/internal/type/enum.rb +16 -5
  11. data/lib/metronome_sdk/internal/type/file_input.rb +6 -1
  12. data/lib/metronome_sdk/internal/type/hash_of.rb +6 -1
  13. data/lib/metronome_sdk/internal/type/union.rb +17 -9
  14. data/lib/metronome_sdk/internal/type/unknown.rb +7 -1
  15. data/lib/metronome_sdk/internal/util.rb +8 -9
  16. data/lib/metronome_sdk/models/base_usage_filter.rb +27 -0
  17. data/lib/metronome_sdk/models/commit.rb +1010 -0
  18. data/lib/metronome_sdk/models/contract_without_amendments.rb +1803 -0
  19. data/lib/metronome_sdk/models/credit.rb +634 -0
  20. data/lib/metronome_sdk/models/credit_type_data.rb +21 -0
  21. data/lib/metronome_sdk/models/discount.rb +68 -0
  22. data/lib/metronome_sdk/models/event_type_filter.rb +33 -0
  23. data/lib/metronome_sdk/models/id.rb +15 -0
  24. data/lib/metronome_sdk/models/override.rb +381 -0
  25. data/lib/metronome_sdk/models/pro_service.rb +73 -0
  26. data/lib/metronome_sdk/models/property_filter.rb +52 -0
  27. data/lib/metronome_sdk/models/rate.rb +101 -0
  28. data/lib/metronome_sdk/models/schedule_duration.rb +50 -0
  29. data/lib/metronome_sdk/models/schedule_point_in_time.rb +62 -0
  30. data/lib/metronome_sdk/models/scheduled_charge.rb +76 -0
  31. data/lib/metronome_sdk/models/tier.rb +21 -0
  32. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +3 -14
  33. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -1
  34. data/lib/metronome_sdk/models/v1/alert_create_response.rb +3 -14
  35. data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +2 -8
  36. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +3 -14
  37. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +6 -86
  38. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +3 -14
  39. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +6 -85
  40. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +8 -85
  41. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +312 -35
  42. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +3 -14
  43. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +3 -14
  44. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +3 -1276
  45. data/lib/metronome_sdk/models/v1/contract_create_params.rb +550 -102
  46. data/lib/metronome_sdk/models/v1/contract_create_response.rb +3 -14
  47. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +5 -1645
  48. data/lib/metronome_sdk/models/v1/contract_list_response.rb +253 -10692
  49. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +9 -295
  50. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +254 -10721
  51. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +3 -1276
  52. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +3 -14
  53. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +3 -14
  54. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +6 -97
  55. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +3 -14
  56. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +148 -0
  57. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +12 -561
  58. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +2 -8
  59. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +14 -559
  60. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +6 -97
  61. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +3 -14
  62. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +57 -0
  63. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +45 -0
  64. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_params.rb +2 -8
  65. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +3 -14
  66. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +3 -14
  67. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +6 -42
  68. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +2 -8
  69. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +6 -159
  70. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +6 -42
  71. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +3 -14
  72. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +3 -14
  73. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +3 -14
  74. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -44
  75. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +3 -16
  76. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +6 -44
  77. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +9 -61
  78. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +6 -158
  79. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +5 -77
  80. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +3 -14
  81. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +3 -14
  82. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +20 -1
  83. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +11 -153
  84. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +14 -175
  85. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +3 -14
  86. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +69 -0
  87. data/lib/metronome_sdk/models/v1/customer.rb +53 -0
  88. data/lib/metronome_sdk/models/v1/customer_archive_params.rb +2 -8
  89. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +3 -14
  90. data/lib/metronome_sdk/models/v1/customer_create_response.rb +3 -50
  91. data/lib/metronome_sdk/models/v1/{customer_list_response.rb → customer_detail.rb} +14 -15
  92. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +6 -86
  93. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +115 -0
  94. data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +18 -0
  95. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +3 -126
  96. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +3 -50
  97. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +5 -276
  98. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +3 -279
  99. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +9 -1
  100. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +8 -6
  101. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +3 -14
  102. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +3 -1047
  103. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +3 -14
  104. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +3 -14
  105. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +3 -593
  106. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +3 -14
  107. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +270 -0
  108. data/lib/metronome_sdk/models/v1/customers/{invoice_list_response.rb → invoice.rb} +119 -303
  109. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +2 -1271
  110. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +3 -1276
  111. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +3 -14
  112. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +3 -21
  113. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +1 -0
  114. data/lib/metronome_sdk/models/v1/plan_detail.rb +200 -0
  115. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +3 -286
  116. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +3 -20
  117. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +3 -128
  118. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +38 -0
  119. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +38 -0
  120. data/lib/metronome_sdk/models/v1/usage_search_params.rb +24 -0
  121. data/lib/metronome_sdk/models/v1/usage_search_response.rb +249 -0
  122. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +11 -8
  123. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +3 -14
  124. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +3 -2
  125. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +3 -14
  126. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +885 -103
  127. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3 -14
  128. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +351 -625
  129. data/lib/metronome_sdk/models/v2/contract_list_response.rb +590 -749
  130. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +590 -751
  131. data/lib/metronome_sdk/models.rb +36 -4
  132. data/lib/metronome_sdk/resources/v1/alerts.rb +1 -1
  133. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +2 -2
  134. data/lib/metronome_sdk/resources/v1/contracts/products.rb +4 -4
  135. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +1 -1
  136. data/lib/metronome_sdk/resources/v1/contracts.rb +8 -4
  137. data/lib/metronome_sdk/resources/v1/credit_grants.rb +4 -2
  138. data/lib/metronome_sdk/resources/v1/customers/commits.rb +2 -2
  139. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +2 -2
  140. data/lib/metronome_sdk/resources/v1/customers.rb +40 -2
  141. data/lib/metronome_sdk/resources/v1/usage.rb +25 -0
  142. data/lib/metronome_sdk/resources/v2/contracts.rb +11 -9
  143. data/lib/metronome_sdk/version.rb +1 -1
  144. data/lib/metronome_sdk.rb +31 -2
  145. data/rbi/metronome_sdk/errors.rbi +16 -0
  146. data/rbi/metronome_sdk/internal/type/boolean.rbi +2 -0
  147. data/rbi/metronome_sdk/internal/type/converter.rbi +15 -15
  148. data/rbi/metronome_sdk/internal/type/union.rbi +5 -0
  149. data/rbi/metronome_sdk/internal/type/unknown.rbi +2 -0
  150. data/rbi/metronome_sdk/internal/util.rbi +2 -0
  151. data/rbi/metronome_sdk/models/base_usage_filter.rbi +46 -0
  152. data/rbi/metronome_sdk/models/commit.rbi +1962 -0
  153. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +3676 -0
  154. data/rbi/metronome_sdk/models/credit.rbi +1230 -0
  155. data/rbi/metronome_sdk/models/credit_type_data.rbi +26 -0
  156. data/rbi/metronome_sdk/models/discount.rbi +106 -0
  157. data/rbi/metronome_sdk/models/event_type_filter.rbi +57 -0
  158. data/rbi/metronome_sdk/models/id.rbi +23 -0
  159. data/rbi/metronome_sdk/models/override.rbi +675 -0
  160. data/rbi/metronome_sdk/models/pro_service.rbi +98 -0
  161. data/rbi/metronome_sdk/models/property_filter.rbi +88 -0
  162. data/rbi/metronome_sdk/models/rate.rbi +155 -0
  163. data/rbi/metronome_sdk/models/schedule_duration.rbi +89 -0
  164. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +121 -0
  165. data/rbi/metronome_sdk/models/scheduled_charge.rbi +119 -0
  166. data/rbi/metronome_sdk/models/tier.rbi +29 -0
  167. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +4 -37
  168. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -0
  169. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +4 -37
  170. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +6 -12
  171. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +4 -44
  172. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +8 -177
  173. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +4 -43
  174. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +8 -177
  175. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +8 -175
  176. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +712 -68
  177. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +4 -37
  178. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +4 -39
  179. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +3 -2595
  180. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1100 -172
  181. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +4 -37
  182. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +3 -3366
  183. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +375 -22523
  184. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +12 -632
  185. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +375 -22523
  186. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +3 -2595
  187. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +4 -44
  188. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +4 -44
  189. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +8 -209
  190. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +4 -44
  191. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +237 -0
  192. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +76 -1143
  193. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +3 -9
  194. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +76 -1137
  195. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +8 -209
  196. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +4 -44
  197. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +111 -0
  198. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +94 -0
  199. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbi +3 -9
  200. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbi +4 -44
  201. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +4 -44
  202. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +8 -74
  203. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +3 -9
  204. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +8 -344
  205. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +8 -74
  206. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +4 -44
  207. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +4 -44
  208. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +4 -44
  209. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +8 -108
  210. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +4 -45
  211. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +8 -108
  212. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +12 -149
  213. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +8 -344
  214. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +8 -166
  215. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +4 -41
  216. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +4 -39
  217. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +58 -0
  218. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +10 -231
  219. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +14 -281
  220. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +4 -39
  221. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +90 -0
  222. data/rbi/metronome_sdk/models/v1/customer.rbi +74 -0
  223. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +6 -12
  224. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +4 -39
  225. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +6 -84
  226. data/rbi/metronome_sdk/models/v1/{customer_list_response.rbi → customer_detail.rbi} +19 -26
  227. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +8 -177
  228. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +214 -0
  229. data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +35 -0
  230. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +6 -255
  231. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +6 -86
  232. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +3 -623
  233. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +4 -622
  234. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +11 -0
  235. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +12 -8
  236. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +4 -44
  237. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +3 -2164
  238. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +4 -44
  239. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +4 -44
  240. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +3 -1224
  241. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +4 -44
  242. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +572 -0
  243. data/rbi/metronome_sdk/models/v1/customers/{invoice_list_response.rbi → invoice.rbi} +182 -589
  244. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +4 -2561
  245. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +6 -2612
  246. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +4 -41
  247. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +4 -39
  248. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +5 -0
  249. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +349 -0
  250. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +6 -560
  251. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +4 -37
  252. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +4 -248
  253. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +79 -0
  254. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +80 -0
  255. data/rbi/metronome_sdk/models/v1/usage_search_params.rbi +48 -0
  256. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +438 -0
  257. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +23 -23
  258. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +4 -41
  259. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +11 -15
  260. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +4 -41
  261. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +1859 -202
  262. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +4 -37
  263. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +700 -1447
  264. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +1204 -1472
  265. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +1204 -1472
  266. data/rbi/metronome_sdk/models.rbi +32 -0
  267. data/rbi/metronome_sdk/resources/v1/alerts.rbi +3 -0
  268. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +2 -6
  269. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +4 -4
  270. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +1 -4
  271. data/rbi/metronome_sdk/resources/v1/contracts.rbi +10 -4
  272. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +4 -0
  273. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +6 -4
  274. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +1 -1
  275. data/rbi/metronome_sdk/resources/v1/customers.rbi +34 -3
  276. data/rbi/metronome_sdk/resources/v1/usage.rbi +17 -0
  277. data/rbi/metronome_sdk/resources/v2/contracts.rbi +24 -14
  278. data/sig/metronome_sdk/errors.rbs +9 -0
  279. data/sig/metronome_sdk/internal/type/converter.rbs +7 -1
  280. data/sig/metronome_sdk/models/base_usage_filter.rbs +28 -0
  281. data/sig/metronome_sdk/models/commit.rbs +1020 -0
  282. data/sig/metronome_sdk/models/contract_without_amendments.rbs +1582 -0
  283. data/sig/metronome_sdk/models/credit.rbs +643 -0
  284. data/sig/metronome_sdk/models/credit_type_data.rbs +15 -0
  285. data/sig/metronome_sdk/models/discount.rbs +63 -0
  286. data/sig/metronome_sdk/models/event_type_filter.rbs +26 -0
  287. data/sig/metronome_sdk/models/id.rbs +13 -0
  288. data/sig/metronome_sdk/models/override.rbs +399 -0
  289. data/sig/metronome_sdk/models/pro_service.rbs +61 -0
  290. data/sig/metronome_sdk/models/property_filter.rbs +41 -0
  291. data/sig/metronome_sdk/models/rate.rbs +94 -0
  292. data/sig/metronome_sdk/models/schedule_duration.rbs +56 -0
  293. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +75 -0
  294. data/sig/metronome_sdk/models/scheduled_charge.rbs +70 -0
  295. data/sig/metronome_sdk/models/tier.rbs +17 -0
  296. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +4 -19
  297. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +4 -19
  298. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +4 -12
  299. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +4 -19
  300. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +12 -73
  301. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +4 -19
  302. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +12 -73
  303. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +12 -73
  304. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +291 -24
  305. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +4 -19
  306. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +4 -19
  307. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +4 -1291
  308. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +448 -84
  309. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +4 -19
  310. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +1 -1642
  311. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +188 -10437
  312. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +15 -271
  313. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +188 -10437
  314. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +4 -1291
  315. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +4 -19
  316. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +4 -21
  317. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +8 -82
  318. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +4 -21
  319. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +121 -0
  320. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +16 -466
  321. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +4 -12
  322. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +16 -466
  323. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +8 -82
  324. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +4 -21
  325. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +47 -0
  326. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +41 -0
  327. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +4 -12
  328. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +4 -21
  329. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +4 -21
  330. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +10 -34
  331. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +4 -12
  332. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +10 -144
  333. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +10 -34
  334. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +4 -21
  335. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +4 -21
  336. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +4 -21
  337. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +12 -40
  338. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +4 -21
  339. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +12 -40
  340. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +18 -58
  341. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +10 -144
  342. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +2 -66
  343. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +4 -19
  344. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +4 -19
  345. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +20 -0
  346. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +12 -118
  347. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +16 -140
  348. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +4 -19
  349. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +52 -0
  350. data/sig/metronome_sdk/models/v1/customer.rbs +44 -0
  351. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +4 -12
  352. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +4 -19
  353. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +4 -48
  354. data/sig/metronome_sdk/models/v1/{customer_list_response.rbs → customer_detail.rbs} +17 -17
  355. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +12 -73
  356. data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +105 -0
  357. data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +16 -0
  358. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +4 -112
  359. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +4 -48
  360. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +4 -243
  361. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +4 -247
  362. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +7 -0
  363. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +4 -21
  364. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +4 -1057
  365. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +4 -21
  366. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +4 -21
  367. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +4 -596
  368. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +4 -21
  369. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +234 -0
  370. data/sig/metronome_sdk/models/v1/customers/{invoice_list_response.rbs → invoice.rbs} +147 -305
  371. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +8 -1278
  372. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +4 -1294
  373. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +4 -19
  374. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +4 -16
  375. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +2 -1
  376. data/sig/metronome_sdk/models/v1/plan_detail.rbs +203 -0
  377. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +4 -267
  378. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +4 -16
  379. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +4 -108
  380. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +37 -0
  381. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +37 -0
  382. data/sig/metronome_sdk/models/v1/usage_search_params.rbs +26 -0
  383. data/sig/metronome_sdk/models/v1/usage_search_response.rbs +230 -0
  384. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +4 -8
  385. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +4 -19
  386. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +4 -8
  387. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +4 -19
  388. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +743 -77
  389. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +4 -19
  390. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +274 -665
  391. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +567 -759
  392. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +567 -759
  393. data/sig/metronome_sdk/models.rbs +32 -0
  394. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +2 -2
  395. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +4 -4
  396. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  397. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -1
  398. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -0
  399. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -1
  400. data/sig/metronome_sdk/resources/v1/customers.rbs +9 -1
  401. data/sig/metronome_sdk/resources/v1/usage.rbs +5 -0
  402. data/sig/metronome_sdk/resources/v2/contracts.rbs +3 -2
  403. metadata +95 -8
@@ -0,0 +1,68 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class Discount < MetronomeSDK::Internal::Type::BaseModel
6
+ # @!attribute id
7
+ #
8
+ # @return [String]
9
+ required :id, String
10
+
11
+ # @!attribute product
12
+ #
13
+ # @return [MetronomeSDK::Models::Discount::Product]
14
+ required :product, -> { MetronomeSDK::Discount::Product }
15
+
16
+ # @!attribute schedule
17
+ #
18
+ # @return [MetronomeSDK::Models::SchedulePointInTime]
19
+ required :schedule, -> { MetronomeSDK::SchedulePointInTime }
20
+
21
+ # @!attribute custom_fields
22
+ #
23
+ # @return [Hash{Symbol=>String}, nil]
24
+ optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
25
+
26
+ # @!attribute name
27
+ #
28
+ # @return [String, nil]
29
+ optional :name, String
30
+
31
+ # @!attribute netsuite_sales_order_id
32
+ # This field's availability is dependent on your client's configuration.
33
+ #
34
+ # @return [String, nil]
35
+ optional :netsuite_sales_order_id, String
36
+
37
+ # @!method initialize(id:, product:, schedule:, custom_fields: nil, name: nil, netsuite_sales_order_id: nil)
38
+ # @param id [String]
39
+ #
40
+ # @param product [MetronomeSDK::Models::Discount::Product]
41
+ #
42
+ # @param schedule [MetronomeSDK::Models::SchedulePointInTime]
43
+ #
44
+ # @param custom_fields [Hash{Symbol=>String}]
45
+ #
46
+ # @param name [String]
47
+ #
48
+ # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
49
+
50
+ # @see MetronomeSDK::Models::Discount#product
51
+ class Product < MetronomeSDK::Internal::Type::BaseModel
52
+ # @!attribute id
53
+ #
54
+ # @return [String]
55
+ required :id, String
56
+
57
+ # @!attribute name
58
+ #
59
+ # @return [String]
60
+ required :name, String
61
+
62
+ # @!method initialize(id:, name:)
63
+ # @param id [String]
64
+ # @param name [String]
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class EventTypeFilter < MetronomeSDK::Internal::Type::BaseModel
6
+ # @!attribute in_values
7
+ # A list of event types that are explicitly included in the billable metric. If
8
+ # specified, only events of these types will match the billable metric. Must be
9
+ # non-empty if present.
10
+ #
11
+ # @return [Array<String>, nil]
12
+ optional :in_values, MetronomeSDK::Internal::Type::ArrayOf[String]
13
+
14
+ # @!attribute not_in_values
15
+ # A list of event types that are explicitly excluded from the billable metric. If
16
+ # specified, events of these types will not match the billable metric. Must be
17
+ # non-empty if present.
18
+ #
19
+ # @return [Array<String>, nil]
20
+ optional :not_in_values, MetronomeSDK::Internal::Type::ArrayOf[String]
21
+
22
+ # @!method initialize(in_values: nil, not_in_values: nil)
23
+ # Some parameter documentations has been truncated, see
24
+ # {MetronomeSDK::Models::EventTypeFilter} for more details.
25
+ #
26
+ # An optional filtering rule to match the 'event_type' property of an event.
27
+ #
28
+ # @param in_values [Array<String>] A list of event types that are explicitly included in the billable metric. If sp
29
+ #
30
+ # @param not_in_values [Array<String>] A list of event types that are explicitly excluded from the billable metric. If
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class ID < MetronomeSDK::Internal::Type::BaseModel
6
+ # @!attribute id
7
+ #
8
+ # @return [String]
9
+ required :id, String
10
+
11
+ # @!method initialize(id:)
12
+ # @param id [String]
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,381 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class Override < MetronomeSDK::Internal::Type::BaseModel
6
+ # @!attribute id
7
+ #
8
+ # @return [String]
9
+ required :id, String
10
+
11
+ # @!attribute starting_at
12
+ #
13
+ # @return [Time]
14
+ required :starting_at, Time
15
+
16
+ # @!attribute applicable_product_tags
17
+ #
18
+ # @return [Array<String>, nil]
19
+ optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
20
+
21
+ # @!attribute credit_type
22
+ #
23
+ # @return [MetronomeSDK::Models::CreditTypeData, nil]
24
+ optional :credit_type, -> { MetronomeSDK::CreditTypeData }
25
+
26
+ # @!attribute ending_before
27
+ #
28
+ # @return [Time, nil]
29
+ optional :ending_before, Time
30
+
31
+ # @!attribute entitled
32
+ #
33
+ # @return [Boolean, nil]
34
+ optional :entitled, MetronomeSDK::Internal::Type::Boolean
35
+
36
+ # @!attribute is_commit_specific
37
+ #
38
+ # @return [Boolean, nil]
39
+ optional :is_commit_specific, MetronomeSDK::Internal::Type::Boolean
40
+
41
+ # @!attribute is_prorated
42
+ # Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
43
+ # set to true.
44
+ #
45
+ # @return [Boolean, nil]
46
+ optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
47
+
48
+ # @!attribute multiplier
49
+ #
50
+ # @return [Float, nil]
51
+ optional :multiplier, Float
52
+
53
+ # @!attribute override_specifiers
54
+ #
55
+ # @return [Array<MetronomeSDK::Models::Override::OverrideSpecifier>, nil]
56
+ optional :override_specifiers,
57
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Override::OverrideSpecifier] }
58
+
59
+ # @!attribute override_tiers
60
+ #
61
+ # @return [Array<MetronomeSDK::Models::Override::OverrideTier>, nil]
62
+ optional :override_tiers,
63
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Override::OverrideTier] }
64
+
65
+ # @!attribute overwrite_rate
66
+ #
67
+ # @return [MetronomeSDK::Models::Override::OverwriteRate, nil]
68
+ optional :overwrite_rate, -> { MetronomeSDK::Override::OverwriteRate }
69
+
70
+ # @!attribute price
71
+ # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
72
+ # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
73
+ #
74
+ # @return [Float, nil]
75
+ optional :price, Float
76
+
77
+ # @!attribute priority
78
+ #
79
+ # @return [Float, nil]
80
+ optional :priority, Float
81
+
82
+ # @!attribute product
83
+ #
84
+ # @return [MetronomeSDK::Models::Override::Product, nil]
85
+ optional :product, -> { MetronomeSDK::Override::Product }
86
+
87
+ # @!attribute quantity
88
+ # Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
89
+ #
90
+ # @return [Float, nil]
91
+ optional :quantity, Float
92
+
93
+ # @!attribute rate_type
94
+ #
95
+ # @return [Symbol, MetronomeSDK::Models::Override::RateType, nil]
96
+ optional :rate_type, enum: -> { MetronomeSDK::Override::RateType }
97
+
98
+ # @!attribute target
99
+ #
100
+ # @return [Symbol, MetronomeSDK::Models::Override::Target, nil]
101
+ optional :target, enum: -> { MetronomeSDK::Override::Target }
102
+
103
+ # @!attribute tiers
104
+ # Only set for TIERED rate_type.
105
+ #
106
+ # @return [Array<MetronomeSDK::Models::Tier>, nil]
107
+ optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
108
+
109
+ # @!attribute type
110
+ #
111
+ # @return [Symbol, MetronomeSDK::Models::Override::Type, nil]
112
+ optional :type, enum: -> { MetronomeSDK::Override::Type }
113
+
114
+ # @!attribute value
115
+ # Only set for CUSTOM rate_type. This field is interpreted by custom rate
116
+ # processors.
117
+ #
118
+ # @return [Hash{Symbol=>Object}, nil]
119
+ optional :value, MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
120
+
121
+ # @!method initialize(id:, starting_at:, applicable_product_tags: nil, credit_type: nil, ending_before: nil, entitled: nil, is_commit_specific: nil, is_prorated: nil, multiplier: nil, override_specifiers: nil, override_tiers: nil, overwrite_rate: nil, price: nil, priority: nil, product: nil, quantity: nil, rate_type: nil, target: nil, tiers: nil, type: nil, value: nil)
122
+ # Some parameter documentations has been truncated, see
123
+ # {MetronomeSDK::Models::Override} for more details.
124
+ #
125
+ # @param id [String]
126
+ #
127
+ # @param starting_at [Time]
128
+ #
129
+ # @param applicable_product_tags [Array<String>]
130
+ #
131
+ # @param credit_type [MetronomeSDK::Models::CreditTypeData]
132
+ #
133
+ # @param ending_before [Time]
134
+ #
135
+ # @param entitled [Boolean]
136
+ #
137
+ # @param is_commit_specific [Boolean]
138
+ #
139
+ # @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
140
+ #
141
+ # @param multiplier [Float]
142
+ #
143
+ # @param override_specifiers [Array<MetronomeSDK::Models::Override::OverrideSpecifier>]
144
+ #
145
+ # @param override_tiers [Array<MetronomeSDK::Models::Override::OverrideTier>]
146
+ #
147
+ # @param overwrite_rate [MetronomeSDK::Models::Override::OverwriteRate]
148
+ #
149
+ # @param price [Float] Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, t
150
+ #
151
+ # @param priority [Float]
152
+ #
153
+ # @param product [MetronomeSDK::Models::Override::Product]
154
+ #
155
+ # @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
156
+ #
157
+ # @param rate_type [Symbol, MetronomeSDK::Models::Override::RateType]
158
+ #
159
+ # @param target [Symbol, MetronomeSDK::Models::Override::Target]
160
+ #
161
+ # @param tiers [Array<MetronomeSDK::Models::Tier>] Only set for TIERED rate_type.
162
+ #
163
+ # @param type [Symbol, MetronomeSDK::Models::Override::Type]
164
+ #
165
+ # @param value [Hash{Symbol=>Object}] Only set for CUSTOM rate_type. This field is interpreted by custom rate processo
166
+
167
+ class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
168
+ # @!attribute billing_frequency
169
+ #
170
+ # @return [Symbol, MetronomeSDK::Models::Override::OverrideSpecifier::BillingFrequency, nil]
171
+ optional :billing_frequency, enum: -> { MetronomeSDK::Override::OverrideSpecifier::BillingFrequency }
172
+
173
+ # @!attribute commit_ids
174
+ #
175
+ # @return [Array<String>, nil]
176
+ optional :commit_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
177
+
178
+ # @!attribute presentation_group_values
179
+ #
180
+ # @return [Hash{Symbol=>String, nil}, nil]
181
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String, nil?: true]
182
+
183
+ # @!attribute pricing_group_values
184
+ #
185
+ # @return [Hash{Symbol=>String}, nil]
186
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
187
+
188
+ # @!attribute product_id
189
+ #
190
+ # @return [String, nil]
191
+ optional :product_id, String
192
+
193
+ # @!attribute product_tags
194
+ #
195
+ # @return [Array<String>, nil]
196
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
197
+
198
+ # @!attribute recurring_commit_ids
199
+ #
200
+ # @return [Array<String>, nil]
201
+ optional :recurring_commit_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
202
+
203
+ # @!attribute recurring_credit_ids
204
+ #
205
+ # @return [Array<String>, nil]
206
+ optional :recurring_credit_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
207
+
208
+ # @!method initialize(billing_frequency: nil, commit_ids: nil, presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil, recurring_commit_ids: nil, recurring_credit_ids: nil)
209
+ # @param billing_frequency [Symbol, MetronomeSDK::Models::Override::OverrideSpecifier::BillingFrequency]
210
+ # @param commit_ids [Array<String>]
211
+ # @param presentation_group_values [Hash{Symbol=>String, nil}]
212
+ # @param pricing_group_values [Hash{Symbol=>String}]
213
+ # @param product_id [String]
214
+ # @param product_tags [Array<String>]
215
+ # @param recurring_commit_ids [Array<String>]
216
+ # @param recurring_credit_ids [Array<String>]
217
+
218
+ # @see MetronomeSDK::Models::Override::OverrideSpecifier#billing_frequency
219
+ module BillingFrequency
220
+ extend MetronomeSDK::Internal::Type::Enum
221
+
222
+ MONTHLY = :MONTHLY
223
+ QUARTERLY = :QUARTERLY
224
+ ANNUAL = :ANNUAL
225
+ WEEKLY = :WEEKLY
226
+
227
+ # @!method self.values
228
+ # @return [Array<Symbol>]
229
+ end
230
+ end
231
+
232
+ class OverrideTier < MetronomeSDK::Internal::Type::BaseModel
233
+ # @!attribute multiplier
234
+ #
235
+ # @return [Float]
236
+ required :multiplier, Float
237
+
238
+ # @!attribute size
239
+ #
240
+ # @return [Float, nil]
241
+ optional :size, Float
242
+
243
+ # @!method initialize(multiplier:, size: nil)
244
+ # @param multiplier [Float]
245
+ # @param size [Float]
246
+ end
247
+
248
+ # @see MetronomeSDK::Models::Override#overwrite_rate
249
+ class OverwriteRate < MetronomeSDK::Internal::Type::BaseModel
250
+ # @!attribute rate_type
251
+ #
252
+ # @return [Symbol, MetronomeSDK::Models::Override::OverwriteRate::RateType]
253
+ required :rate_type, enum: -> { MetronomeSDK::Override::OverwriteRate::RateType }
254
+
255
+ # @!attribute credit_type
256
+ #
257
+ # @return [MetronomeSDK::Models::CreditTypeData, nil]
258
+ optional :credit_type, -> { MetronomeSDK::CreditTypeData }
259
+
260
+ # @!attribute custom_rate
261
+ # Only set for CUSTOM rate_type. This field is interpreted by custom rate
262
+ # processors.
263
+ #
264
+ # @return [Hash{Symbol=>Object}, nil]
265
+ optional :custom_rate, MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
266
+
267
+ # @!attribute is_prorated
268
+ # Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
269
+ # set to true.
270
+ #
271
+ # @return [Boolean, nil]
272
+ optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
273
+
274
+ # @!attribute price
275
+ # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
276
+ # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
277
+ #
278
+ # @return [Float, nil]
279
+ optional :price, Float
280
+
281
+ # @!attribute quantity
282
+ # Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
283
+ #
284
+ # @return [Float, nil]
285
+ optional :quantity, Float
286
+
287
+ # @!attribute tiers
288
+ # Only set for TIERED rate_type.
289
+ #
290
+ # @return [Array<MetronomeSDK::Models::Tier>, nil]
291
+ optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
292
+
293
+ # @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
294
+ # Some parameter documentations has been truncated, see
295
+ # {MetronomeSDK::Models::Override::OverwriteRate} for more details.
296
+ #
297
+ # @param rate_type [Symbol, MetronomeSDK::Models::Override::OverwriteRate::RateType]
298
+ #
299
+ # @param credit_type [MetronomeSDK::Models::CreditTypeData]
300
+ #
301
+ # @param custom_rate [Hash{Symbol=>Object}] Only set for CUSTOM rate_type. This field is interpreted by custom rate processo
302
+ #
303
+ # @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
304
+ #
305
+ # @param price [Float] Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, t
306
+ #
307
+ # @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
308
+ #
309
+ # @param tiers [Array<MetronomeSDK::Models::Tier>] Only set for TIERED rate_type.
310
+
311
+ # @see MetronomeSDK::Models::Override::OverwriteRate#rate_type
312
+ module RateType
313
+ extend MetronomeSDK::Internal::Type::Enum
314
+
315
+ FLAT = :FLAT
316
+ PERCENTAGE = :PERCENTAGE
317
+ SUBSCRIPTION = :SUBSCRIPTION
318
+ TIERED = :TIERED
319
+ CUSTOM = :CUSTOM
320
+
321
+ # @!method self.values
322
+ # @return [Array<Symbol>]
323
+ end
324
+ end
325
+
326
+ # @see MetronomeSDK::Models::Override#product
327
+ class Product < MetronomeSDK::Internal::Type::BaseModel
328
+ # @!attribute id
329
+ #
330
+ # @return [String]
331
+ required :id, String
332
+
333
+ # @!attribute name
334
+ #
335
+ # @return [String]
336
+ required :name, String
337
+
338
+ # @!method initialize(id:, name:)
339
+ # @param id [String]
340
+ # @param name [String]
341
+ end
342
+
343
+ # @see MetronomeSDK::Models::Override#rate_type
344
+ module RateType
345
+ extend MetronomeSDK::Internal::Type::Enum
346
+
347
+ FLAT = :FLAT
348
+ PERCENTAGE = :PERCENTAGE
349
+ SUBSCRIPTION = :SUBSCRIPTION
350
+ TIERED = :TIERED
351
+ CUSTOM = :CUSTOM
352
+
353
+ # @!method self.values
354
+ # @return [Array<Symbol>]
355
+ end
356
+
357
+ # @see MetronomeSDK::Models::Override#target
358
+ module Target
359
+ extend MetronomeSDK::Internal::Type::Enum
360
+
361
+ COMMIT_RATE = :COMMIT_RATE
362
+ LIST_RATE = :LIST_RATE
363
+
364
+ # @!method self.values
365
+ # @return [Array<Symbol>]
366
+ end
367
+
368
+ # @see MetronomeSDK::Models::Override#type
369
+ module Type
370
+ extend MetronomeSDK::Internal::Type::Enum
371
+
372
+ OVERWRITE = :OVERWRITE
373
+ MULTIPLIER = :MULTIPLIER
374
+ TIERED = :TIERED
375
+
376
+ # @!method self.values
377
+ # @return [Array<Symbol>]
378
+ end
379
+ end
380
+ end
381
+ end
@@ -0,0 +1,73 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class ProService < MetronomeSDK::Internal::Type::BaseModel
6
+ # @!attribute id
7
+ #
8
+ # @return [String]
9
+ required :id, String
10
+
11
+ # @!attribute max_amount
12
+ # Maximum amount for the term.
13
+ #
14
+ # @return [Float]
15
+ required :max_amount, Float
16
+
17
+ # @!attribute product_id
18
+ #
19
+ # @return [String]
20
+ required :product_id, String
21
+
22
+ # @!attribute quantity
23
+ # Quantity for the charge. Will be multiplied by unit_price to determine the
24
+ # amount.
25
+ #
26
+ # @return [Float]
27
+ required :quantity, Float
28
+
29
+ # @!attribute unit_price
30
+ # Unit price for the charge. Will be multiplied by quantity to determine the
31
+ # amount and must be specified.
32
+ #
33
+ # @return [Float]
34
+ required :unit_price, Float
35
+
36
+ # @!attribute custom_fields
37
+ #
38
+ # @return [Hash{Symbol=>String}, nil]
39
+ optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
40
+
41
+ # @!attribute description
42
+ #
43
+ # @return [String, nil]
44
+ optional :description, String
45
+
46
+ # @!attribute netsuite_sales_order_id
47
+ # This field's availability is dependent on your client's configuration.
48
+ #
49
+ # @return [String, nil]
50
+ optional :netsuite_sales_order_id, String
51
+
52
+ # @!method initialize(id:, max_amount:, product_id:, quantity:, unit_price:, custom_fields: nil, description: nil, netsuite_sales_order_id: nil)
53
+ # Some parameter documentations has been truncated, see
54
+ # {MetronomeSDK::Models::ProService} for more details.
55
+ #
56
+ # @param id [String]
57
+ #
58
+ # @param max_amount [Float] Maximum amount for the term.
59
+ #
60
+ # @param product_id [String]
61
+ #
62
+ # @param quantity [Float] Quantity for the charge. Will be multiplied by unit_price to determine the amoun
63
+ #
64
+ # @param unit_price [Float] Unit price for the charge. Will be multiplied by quantity to determine the amoun
65
+ #
66
+ # @param custom_fields [Hash{Symbol=>String}]
67
+ #
68
+ # @param description [String]
69
+ #
70
+ # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class PropertyFilter < MetronomeSDK::Internal::Type::BaseModel
6
+ # @!attribute name
7
+ # The name of the event property.
8
+ #
9
+ # @return [String]
10
+ required :name, String
11
+
12
+ # @!attribute exists
13
+ # Determines whether the property must exist in the event. If true, only events
14
+ # with this property will pass the filter. If false, only events without this
15
+ # property will pass the filter. If null or omitted, the existence of the property
16
+ # is optional.
17
+ #
18
+ # @return [Boolean, nil]
19
+ optional :exists, MetronomeSDK::Internal::Type::Boolean
20
+
21
+ # @!attribute in_values
22
+ # Specifies the allowed values for the property to match an event. An event will
23
+ # pass the filter only if its property value is included in this list. If
24
+ # undefined, all property values will pass the filter. Must be non-empty if
25
+ # present.
26
+ #
27
+ # @return [Array<String>, nil]
28
+ optional :in_values, MetronomeSDK::Internal::Type::ArrayOf[String]
29
+
30
+ # @!attribute not_in_values
31
+ # Specifies the values that prevent an event from matching the filter. An event
32
+ # will not pass the filter if its property value is included in this list. If null
33
+ # or empty, all property values will pass the filter. Must be non-empty if
34
+ # present.
35
+ #
36
+ # @return [Array<String>, nil]
37
+ optional :not_in_values, MetronomeSDK::Internal::Type::ArrayOf[String]
38
+
39
+ # @!method initialize(name:, exists: nil, in_values: nil, not_in_values: nil)
40
+ # Some parameter documentations has been truncated, see
41
+ # {MetronomeSDK::Models::PropertyFilter} for more details.
42
+ #
43
+ # @param name [String] The name of the event property.
44
+ #
45
+ # @param exists [Boolean] Determines whether the property must exist in the event. If true, only events wi
46
+ #
47
+ # @param in_values [Array<String>] Specifies the allowed values for the property to match an event. An event will p
48
+ #
49
+ # @param not_in_values [Array<String>] Specifies the values that prevent an event from matching the filter. An event wi
50
+ end
51
+ end
52
+ end