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,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