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

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