metronome-sdk 0.2.0 → 1.0.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 (321) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +61 -0
  3. data/README.md +9 -9
  4. data/lib/metronome_sdk/internal/body_cursor_page.rb +86 -0
  5. data/lib/metronome_sdk/internal/cursor_page_without_limit.rb +86 -0
  6. data/lib/metronome_sdk/internal/transport/base_client.rb +1 -4
  7. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +1 -9
  8. data/lib/metronome_sdk/internal/type/array_of.rb +1 -0
  9. data/lib/metronome_sdk/internal/type/base_model.rb +9 -14
  10. data/lib/metronome_sdk/internal/type/converter.rb +27 -0
  11. data/lib/metronome_sdk/internal/type/hash_of.rb +1 -0
  12. data/lib/metronome_sdk/internal/type/union.rb +20 -7
  13. data/lib/metronome_sdk/internal/util.rb +1 -1
  14. data/lib/metronome_sdk/models/base_threshold_commit.rb +36 -0
  15. data/lib/metronome_sdk/models/commit.rb +26 -170
  16. data/lib/metronome_sdk/models/commit_hierarchy_configuration.rb +98 -0
  17. data/lib/metronome_sdk/models/commit_rate.rb +48 -0
  18. data/lib/metronome_sdk/models/commit_specifier.rb +42 -0
  19. data/lib/metronome_sdk/models/commit_specifier_input.rb +42 -0
  20. data/lib/metronome_sdk/models/contract.rb +404 -0
  21. data/lib/metronome_sdk/models/contract_v2.rb +2919 -0
  22. data/lib/metronome_sdk/models/contract_without_amendments.rb +36 -1126
  23. data/lib/metronome_sdk/models/credit.rb +9 -156
  24. data/lib/metronome_sdk/models/discount.rb +2 -1
  25. data/lib/metronome_sdk/models/hierarchy_configuration.rb +76 -0
  26. data/lib/metronome_sdk/models/override.rb +6 -101
  27. data/lib/metronome_sdk/models/override_tier.rb +21 -0
  28. data/lib/metronome_sdk/models/overwrite_rate.rb +82 -0
  29. data/lib/metronome_sdk/models/payment_gate_config.rb +149 -0
  30. data/lib/metronome_sdk/models/payment_gate_config_v2.rb +149 -0
  31. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +100 -0
  32. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +102 -0
  33. data/lib/metronome_sdk/models/pro_service.rb +2 -1
  34. data/lib/metronome_sdk/models/recurring_commit_subscription_config.rb +51 -0
  35. data/lib/metronome_sdk/models/schedule_point_in_time.rb +14 -1
  36. data/lib/metronome_sdk/models/scheduled_charge.rb +2 -1
  37. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +44 -0
  38. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +44 -0
  39. data/lib/metronome_sdk/models/subscription.rb +227 -0
  40. data/lib/metronome_sdk/models/update_base_threshold_commit.rb +36 -0
  41. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -6
  42. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +1 -2
  43. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +3 -3
  44. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +4 -7
  45. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +110 -415
  46. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +7 -16
  47. data/lib/metronome_sdk/models/v1/contract_create_params.rb +287 -1480
  48. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +6 -23
  49. data/lib/metronome_sdk/models/v1/contract_list_response.rb +3 -1153
  50. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +2 -6
  51. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +5 -50
  52. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +3 -1154
  53. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +1 -3
  54. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +9 -1
  55. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +8 -1
  56. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +8 -1
  57. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +1 -4
  58. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +4 -7
  59. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +10 -1
  60. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +2 -6
  61. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +5 -50
  62. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +10 -1
  63. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +1 -3
  64. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +1 -3
  65. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -61
  66. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +3 -49
  67. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +4 -51
  68. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +2 -6
  69. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +5 -49
  70. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +103 -123
  71. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +3 -5
  72. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +1 -3
  73. data/lib/metronome_sdk/models/v1/custom_field_list_keys_response.rb +41 -58
  74. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +5 -1
  75. data/lib/metronome_sdk/models/v1/customer.rb +2 -1
  76. data/lib/metronome_sdk/models/v1/customer_create_params.rb +37 -11
  77. data/lib/metronome_sdk/models/v1/customer_detail.rb +2 -1
  78. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +3 -3
  79. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +1 -3
  80. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rb +28 -0
  81. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rb +128 -0
  82. data/lib/metronome_sdk/models/v1/customer_set_billing_configurations_params.rb +143 -0
  83. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +1 -3
  84. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +30 -1
  85. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +2 -0
  86. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +2 -0
  87. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +20 -61
  88. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +6 -48
  89. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +8 -16
  90. data/lib/metronome_sdk/models/v1/customers/invoice.rb +68 -43
  91. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +1 -4
  92. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +2 -6
  93. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +2 -1
  94. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +4 -11
  95. data/lib/metronome_sdk/models/v1/plan_detail.rb +9 -5
  96. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +2 -1
  97. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +2 -1
  98. data/lib/metronome_sdk/models/v1/plan_list_response.rb +5 -1
  99. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +1 -4
  100. data/lib/metronome_sdk/models/v1/usage_list_params.rb +1 -3
  101. data/lib/metronome_sdk/models/v1/usage_list_response.rb +45 -62
  102. data/lib/metronome_sdk/models/v1/usage_search_response.rb +4 -7
  103. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +38 -58
  104. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +35 -49
  105. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +469 -2302
  106. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +358 -2414
  107. data/lib/metronome_sdk/models/v2/contract_list_response.rb +3 -4520
  108. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +3 -4528
  109. data/lib/metronome_sdk/models.rb +38 -0
  110. data/lib/metronome_sdk/resources/v1/alerts.rb +72 -2
  111. data/lib/metronome_sdk/resources/v1/audit_logs.rb +39 -4
  112. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +54 -4
  113. data/lib/metronome_sdk/resources/v1/contracts/products.rb +27 -6
  114. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +7 -2
  115. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +10 -2
  116. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +109 -10
  117. data/lib/metronome_sdk/resources/v1/contracts.rb +254 -18
  118. data/lib/metronome_sdk/resources/v1/credit_grants.rb +2 -1
  119. data/lib/metronome_sdk/resources/v1/custom_fields.rb +51 -14
  120. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +103 -8
  121. data/lib/metronome_sdk/resources/v1/customers/commits.rb +119 -9
  122. data/lib/metronome_sdk/resources/v1/customers/credits.rb +104 -8
  123. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +124 -8
  124. data/lib/metronome_sdk/resources/v1/customers.rb +169 -12
  125. data/lib/metronome_sdk/resources/v1/dashboards.rb +29 -3
  126. data/lib/metronome_sdk/resources/v1/invoices.rb +23 -2
  127. data/lib/metronome_sdk/resources/v1/pricing_units.rb +6 -1
  128. data/lib/metronome_sdk/resources/v1/services.rb +6 -4
  129. data/lib/metronome_sdk/resources/v1/usage.rb +185 -12
  130. data/lib/metronome_sdk/resources/v2/contracts.rb +118 -18
  131. data/lib/metronome_sdk/version.rb +1 -1
  132. data/lib/metronome_sdk.rb +24 -3
  133. data/rbi/metronome_sdk/errors.rbi +2 -2
  134. data/rbi/metronome_sdk/internal/body_cursor_page.rbi +22 -0
  135. data/rbi/metronome_sdk/internal/cursor_page_without_limit.rbi +22 -0
  136. data/rbi/metronome_sdk/internal/type/converter.rbi +58 -0
  137. data/rbi/metronome_sdk/internal/type/union.rbi +9 -2
  138. data/rbi/metronome_sdk/models/base_threshold_commit.rbi +58 -0
  139. data/rbi/metronome_sdk/models/commit.rbi +26 -348
  140. data/rbi/metronome_sdk/models/commit_hierarchy_configuration.rbi +280 -0
  141. data/rbi/metronome_sdk/models/commit_rate.rbi +85 -0
  142. data/rbi/metronome_sdk/models/commit_specifier.rbi +71 -0
  143. data/rbi/metronome_sdk/models/commit_specifier_input.rbi +74 -0
  144. data/rbi/metronome_sdk/models/contract.rbi +768 -0
  145. data/rbi/metronome_sdk/models/contract_v2.rbi +5822 -0
  146. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +184 -2507
  147. data/rbi/metronome_sdk/models/credit.rbi +10 -348
  148. data/rbi/metronome_sdk/models/discount.rbi +2 -0
  149. data/rbi/metronome_sdk/models/hierarchy_configuration.rbi +180 -0
  150. data/rbi/metronome_sdk/models/override.rbi +8 -193
  151. data/rbi/metronome_sdk/models/override_tier.rbi +29 -0
  152. data/rbi/metronome_sdk/models/overwrite_rate.rbi +137 -0
  153. data/rbi/metronome_sdk/models/payment_gate_config.rbi +312 -0
  154. data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +321 -0
  155. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +183 -0
  156. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +188 -0
  157. data/rbi/metronome_sdk/models/pro_service.rbi +2 -0
  158. data/rbi/metronome_sdk/models/recurring_commit_subscription_config.rbi +125 -0
  159. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +17 -1
  160. data/rbi/metronome_sdk/models/scheduled_charge.rbi +2 -0
  161. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +76 -0
  162. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -0
  163. data/rbi/metronome_sdk/models/subscription.rbi +460 -0
  164. data/rbi/metronome_sdk/models/update_base_threshold_commit.rbi +61 -0
  165. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -3
  166. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +2 -0
  167. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +2 -0
  168. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +120 -771
  169. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbi +2 -0
  170. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1613 -4069
  171. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +8 -59
  172. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +5 -2420
  173. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +6 -129
  174. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +4 -2419
  175. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +11 -0
  176. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +2 -0
  177. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +2 -0
  178. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_params.rbi +2 -0
  179. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +2 -0
  180. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +6 -129
  181. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +2 -0
  182. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +4 -129
  183. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +4 -129
  184. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +4 -129
  185. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +6 -129
  186. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +147 -198
  187. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +2 -0
  188. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +117 -165
  189. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +8 -1
  190. data/rbi/metronome_sdk/models/v1/customer.rbi +2 -0
  191. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +88 -3
  192. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +2 -0
  193. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +2 -0
  194. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbi +51 -0
  195. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbi +265 -0
  196. data/rbi/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbi +348 -0
  197. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +60 -0
  198. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +10 -0
  199. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +10 -0
  200. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +19 -90
  201. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +6 -90
  202. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +6 -3
  203. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +76 -0
  204. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +2 -0
  205. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +2 -0
  206. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +2 -0
  207. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +2 -0
  208. data/rbi/metronome_sdk/models/v1/plan_list_response.rbi +8 -1
  209. data/rbi/metronome_sdk/models/v1/usage_list_response.rbi +45 -86
  210. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +2 -0
  211. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +66 -76
  212. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +66 -76
  213. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +3563 -7329
  214. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1181 -6070
  215. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +5 -9867
  216. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +6 -9866
  217. data/rbi/metronome_sdk/models.rbi +44 -0
  218. data/rbi/metronome_sdk/resources/v1/alerts.rbi +72 -2
  219. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +39 -4
  220. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +54 -4
  221. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +27 -5
  222. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +7 -2
  223. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +10 -3
  224. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +109 -9
  225. data/rbi/metronome_sdk/resources/v1/contracts.rbi +257 -16
  226. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +5 -1
  227. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +57 -14
  228. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +108 -5
  229. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +119 -10
  230. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +104 -9
  231. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +123 -7
  232. data/rbi/metronome_sdk/resources/v1/customers.rbi +156 -11
  233. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +29 -3
  234. data/rbi/metronome_sdk/resources/v1/invoices.rbi +23 -2
  235. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +6 -1
  236. data/rbi/metronome_sdk/resources/v1/services.rbi +6 -4
  237. data/rbi/metronome_sdk/resources/v1/usage.rbi +188 -12
  238. data/rbi/metronome_sdk/resources/v2/contracts.rbi +128 -23
  239. data/sig/metronome_sdk/internal/body_cursor_page.rbs +13 -0
  240. data/sig/metronome_sdk/internal/cursor_page_without_limit.rbs +13 -0
  241. data/sig/metronome_sdk/internal/type/converter.rbs +17 -0
  242. data/sig/metronome_sdk/internal/type/union.rbs +2 -2
  243. data/sig/metronome_sdk/models/base_threshold_commit.rbs +26 -0
  244. data/sig/metronome_sdk/models/commit.rbs +17 -170
  245. data/sig/metronome_sdk/models/commit_hierarchy_configuration.rbs +117 -0
  246. data/sig/metronome_sdk/models/commit_rate.rbs +48 -0
  247. data/sig/metronome_sdk/models/commit_specifier.rbs +47 -0
  248. data/sig/metronome_sdk/models/commit_specifier_input.rbs +47 -0
  249. data/sig/metronome_sdk/models/contract.rbs +398 -0
  250. data/sig/metronome_sdk/models/contract_v2.rbs +2881 -0
  251. data/sig/metronome_sdk/models/contract_without_amendments.rbs +54 -976
  252. data/sig/metronome_sdk/models/credit.rbs +12 -170
  253. data/sig/metronome_sdk/models/hierarchy_configuration.rbs +71 -0
  254. data/sig/metronome_sdk/models/override.rbs +12 -101
  255. data/sig/metronome_sdk/models/override_tier.rbs +17 -0
  256. data/sig/metronome_sdk/models/overwrite_rate.rbs +78 -0
  257. data/sig/metronome_sdk/models/payment_gate_config.rbs +123 -0
  258. data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +123 -0
  259. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +82 -0
  260. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +82 -0
  261. data/sig/metronome_sdk/models/recurring_commit_subscription_config.rbs +51 -0
  262. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +7 -0
  263. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +35 -0
  264. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +35 -0
  265. data/sig/metronome_sdk/models/subscription.rbs +215 -0
  266. data/sig/metronome_sdk/models/update_base_threshold_commit.rbs +28 -0
  267. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +4 -2
  268. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +62 -343
  269. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +218 -1234
  270. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +4 -25
  271. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +4 -1041
  272. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +6 -54
  273. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +4 -1041
  274. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +7 -0
  275. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +6 -54
  276. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +6 -54
  277. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +6 -54
  278. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +6 -54
  279. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +6 -54
  280. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +72 -94
  281. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +53 -75
  282. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +31 -4
  283. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbs +32 -0
  284. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbs +113 -0
  285. data/sig/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbs +133 -0
  286. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +21 -0
  287. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +7 -1
  288. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +6 -1
  289. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +13 -50
  290. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +6 -50
  291. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +4 -2
  292. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +5 -0
  293. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +33 -55
  294. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +24 -43
  295. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +24 -43
  296. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +400 -1911
  297. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +256 -2249
  298. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +4 -4426
  299. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +4 -4426
  300. data/sig/metronome_sdk/models.rbs +38 -0
  301. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +1 -0
  302. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  303. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -3
  304. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -1
  305. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +1 -1
  306. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +2 -1
  307. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +2 -2
  308. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +2 -2
  309. data/sig/metronome_sdk/resources/v1/customers.rbs +11 -0
  310. data/sig/metronome_sdk/resources/v1/usage.rbs +1 -1
  311. data/sig/metronome_sdk/resources/v2/contracts.rbs +9 -4
  312. metadata +74 -11
  313. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +0 -29
  314. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +0 -26
  315. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +0 -26
  316. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +0 -46
  317. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +0 -45
  318. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +0 -45
  319. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +0 -29
  320. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +0 -26
  321. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +0 -26
@@ -0,0 +1,183 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class PrepaidBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ MetronomeSDK::PrepaidBalanceThresholdConfiguration,
10
+ MetronomeSDK::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig do
15
+ returns(MetronomeSDK::PrepaidBalanceThresholdConfiguration::Commit)
16
+ end
17
+ attr_reader :commit
18
+
19
+ sig do
20
+ params(
21
+ commit:
22
+ MetronomeSDK::PrepaidBalanceThresholdConfiguration::Commit::OrHash
23
+ ).void
24
+ end
25
+ attr_writer :commit
26
+
27
+ # When set to false, the contract will not be evaluated against the
28
+ # threshold_amount. Toggling to true will result an immediate evaluation,
29
+ # regardless of prior state.
30
+ sig { returns(T::Boolean) }
31
+ attr_accessor :is_enabled
32
+
33
+ sig { returns(MetronomeSDK::PaymentGateConfig) }
34
+ attr_reader :payment_gate_config
35
+
36
+ sig do
37
+ params(
38
+ payment_gate_config: MetronomeSDK::PaymentGateConfig::OrHash
39
+ ).void
40
+ end
41
+ attr_writer :payment_gate_config
42
+
43
+ # Specify the amount the balance should be recharged to.
44
+ sig { returns(Float) }
45
+ attr_accessor :recharge_to_amount
46
+
47
+ # Specify the threshold amount for the contract. Each time the contract's prepaid
48
+ # balance lowers to this amount, a threshold charge will be initiated.
49
+ sig { returns(Float) }
50
+ attr_accessor :threshold_amount
51
+
52
+ # If provided, the threshold, recharge-to amount, and the resulting threshold
53
+ # commit amount will be in terms of this credit type instead of the fiat currency.
54
+ sig { returns(T.nilable(String)) }
55
+ attr_reader :custom_credit_type_id
56
+
57
+ sig { params(custom_credit_type_id: String).void }
58
+ attr_writer :custom_credit_type_id
59
+
60
+ sig do
61
+ params(
62
+ commit:
63
+ MetronomeSDK::PrepaidBalanceThresholdConfiguration::Commit::OrHash,
64
+ is_enabled: T::Boolean,
65
+ payment_gate_config: MetronomeSDK::PaymentGateConfig::OrHash,
66
+ recharge_to_amount: Float,
67
+ threshold_amount: Float,
68
+ custom_credit_type_id: String
69
+ ).returns(T.attached_class)
70
+ end
71
+ def self.new(
72
+ commit:,
73
+ # When set to false, the contract will not be evaluated against the
74
+ # threshold_amount. Toggling to true will result an immediate evaluation,
75
+ # regardless of prior state.
76
+ is_enabled:,
77
+ payment_gate_config:,
78
+ # Specify the amount the balance should be recharged to.
79
+ recharge_to_amount:,
80
+ # Specify the threshold amount for the contract. Each time the contract's prepaid
81
+ # balance lowers to this amount, a threshold charge will be initiated.
82
+ threshold_amount:,
83
+ # If provided, the threshold, recharge-to amount, and the resulting threshold
84
+ # commit amount will be in terms of this credit type instead of the fiat currency.
85
+ custom_credit_type_id: nil
86
+ )
87
+ end
88
+
89
+ sig do
90
+ override.returns(
91
+ {
92
+ commit: MetronomeSDK::PrepaidBalanceThresholdConfiguration::Commit,
93
+ is_enabled: T::Boolean,
94
+ payment_gate_config: MetronomeSDK::PaymentGateConfig,
95
+ recharge_to_amount: Float,
96
+ threshold_amount: Float,
97
+ custom_credit_type_id: String
98
+ }
99
+ )
100
+ end
101
+ def to_hash
102
+ end
103
+
104
+ class Commit < MetronomeSDK::Models::BaseThresholdCommit
105
+ OrHash =
106
+ T.type_alias do
107
+ T.any(
108
+ MetronomeSDK::PrepaidBalanceThresholdConfiguration::Commit,
109
+ MetronomeSDK::Internal::AnyHash
110
+ )
111
+ end
112
+
113
+ # Which products the threshold commit applies to. If applicable_product_ids,
114
+ # applicable_product_tags or specifiers are not provided, the commit applies to
115
+ # all products.
116
+ sig { returns(T.nilable(T::Array[String])) }
117
+ attr_reader :applicable_product_ids
118
+
119
+ sig { params(applicable_product_ids: T::Array[String]).void }
120
+ attr_writer :applicable_product_ids
121
+
122
+ # Which tags the threshold commit applies to. If applicable_product_ids,
123
+ # applicable_product_tags or specifiers are not provided, the commit applies to
124
+ # all products.
125
+ sig { returns(T.nilable(T::Array[String])) }
126
+ attr_reader :applicable_product_tags
127
+
128
+ sig { params(applicable_product_tags: T::Array[String]).void }
129
+ attr_writer :applicable_product_tags
130
+
131
+ # List of filters that determine what kind of customer usage draws down a commit
132
+ # or credit. A customer's usage needs to meet the condition of at least one of the
133
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
134
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
135
+ sig { returns(T.nilable(T::Array[MetronomeSDK::CommitSpecifierInput])) }
136
+ attr_reader :specifiers
137
+
138
+ sig do
139
+ params(
140
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput::OrHash]
141
+ ).void
142
+ end
143
+ attr_writer :specifiers
144
+
145
+ sig do
146
+ params(
147
+ applicable_product_ids: T::Array[String],
148
+ applicable_product_tags: T::Array[String],
149
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput::OrHash]
150
+ ).returns(T.attached_class)
151
+ end
152
+ def self.new(
153
+ # Which products the threshold commit applies to. If applicable_product_ids,
154
+ # applicable_product_tags or specifiers are not provided, the commit applies to
155
+ # all products.
156
+ applicable_product_ids: nil,
157
+ # Which tags the threshold commit applies to. If applicable_product_ids,
158
+ # applicable_product_tags or specifiers are not provided, the commit applies to
159
+ # all products.
160
+ applicable_product_tags: nil,
161
+ # List of filters that determine what kind of customer usage draws down a commit
162
+ # or credit. A customer's usage needs to meet the condition of at least one of the
163
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
164
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
165
+ specifiers: nil
166
+ )
167
+ end
168
+
169
+ sig do
170
+ override.returns(
171
+ {
172
+ applicable_product_ids: T::Array[String],
173
+ applicable_product_tags: T::Array[String],
174
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput]
175
+ }
176
+ )
177
+ end
178
+ def to_hash
179
+ end
180
+ end
181
+ end
182
+ end
183
+ end
@@ -0,0 +1,188 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class PrepaidBalanceThresholdConfigurationV2 < MetronomeSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ MetronomeSDK::PrepaidBalanceThresholdConfigurationV2,
10
+ MetronomeSDK::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig do
15
+ returns(MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::Commit)
16
+ end
17
+ attr_reader :commit
18
+
19
+ sig do
20
+ params(
21
+ commit:
22
+ MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::Commit::OrHash
23
+ ).void
24
+ end
25
+ attr_writer :commit
26
+
27
+ # When set to false, the contract will not be evaluated against the
28
+ # threshold_amount. Toggling to true will result an immediate evaluation,
29
+ # regardless of prior state.
30
+ sig { returns(T::Boolean) }
31
+ attr_accessor :is_enabled
32
+
33
+ sig { returns(MetronomeSDK::PaymentGateConfigV2) }
34
+ attr_reader :payment_gate_config
35
+
36
+ sig do
37
+ params(
38
+ payment_gate_config: MetronomeSDK::PaymentGateConfigV2::OrHash
39
+ ).void
40
+ end
41
+ attr_writer :payment_gate_config
42
+
43
+ # Specify the amount the balance should be recharged to.
44
+ sig { returns(Float) }
45
+ attr_accessor :recharge_to_amount
46
+
47
+ # Specify the threshold amount for the contract. Each time the contract's balance
48
+ # lowers to this amount, a threshold charge will be initiated.
49
+ sig { returns(Float) }
50
+ attr_accessor :threshold_amount
51
+
52
+ # If provided, the threshold, recharge-to amount, and the resulting threshold
53
+ # commit amount will be in terms of this credit type instead of the fiat currency.
54
+ sig { returns(T.nilable(String)) }
55
+ attr_reader :custom_credit_type_id
56
+
57
+ sig { params(custom_credit_type_id: String).void }
58
+ attr_writer :custom_credit_type_id
59
+
60
+ sig do
61
+ params(
62
+ commit:
63
+ MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::Commit::OrHash,
64
+ is_enabled: T::Boolean,
65
+ payment_gate_config: MetronomeSDK::PaymentGateConfigV2::OrHash,
66
+ recharge_to_amount: Float,
67
+ threshold_amount: Float,
68
+ custom_credit_type_id: String
69
+ ).returns(T.attached_class)
70
+ end
71
+ def self.new(
72
+ commit:,
73
+ # When set to false, the contract will not be evaluated against the
74
+ # threshold_amount. Toggling to true will result an immediate evaluation,
75
+ # regardless of prior state.
76
+ is_enabled:,
77
+ payment_gate_config:,
78
+ # Specify the amount the balance should be recharged to.
79
+ recharge_to_amount:,
80
+ # Specify the threshold amount for the contract. Each time the contract's balance
81
+ # lowers to this amount, a threshold charge will be initiated.
82
+ threshold_amount:,
83
+ # If provided, the threshold, recharge-to amount, and the resulting threshold
84
+ # commit amount will be in terms of this credit type instead of the fiat currency.
85
+ custom_credit_type_id: nil
86
+ )
87
+ end
88
+
89
+ sig do
90
+ override.returns(
91
+ {
92
+ commit:
93
+ MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::Commit,
94
+ is_enabled: T::Boolean,
95
+ payment_gate_config: MetronomeSDK::PaymentGateConfigV2,
96
+ recharge_to_amount: Float,
97
+ threshold_amount: Float,
98
+ custom_credit_type_id: String
99
+ }
100
+ )
101
+ end
102
+ def to_hash
103
+ end
104
+
105
+ class Commit < MetronomeSDK::Models::UpdateBaseThresholdCommit
106
+ OrHash =
107
+ T.type_alias do
108
+ T.any(
109
+ MetronomeSDK::PrepaidBalanceThresholdConfigurationV2::Commit,
110
+ MetronomeSDK::Internal::AnyHash
111
+ )
112
+ end
113
+
114
+ # Which products the threshold commit applies to. If applicable_product_ids,
115
+ # applicable_product_tags or specifiers are not provided, the commit applies to
116
+ # all products.
117
+ sig { returns(T.nilable(T::Array[String])) }
118
+ attr_reader :applicable_product_ids
119
+
120
+ sig { params(applicable_product_ids: T::Array[String]).void }
121
+ attr_writer :applicable_product_ids
122
+
123
+ # Which tags the threshold commit applies to. If applicable_product_ids,
124
+ # applicable_product_tags or specifiers are not provided, the commit applies to
125
+ # all products.
126
+ sig { returns(T.nilable(T::Array[String])) }
127
+ attr_reader :applicable_product_tags
128
+
129
+ sig { params(applicable_product_tags: T::Array[String]).void }
130
+ attr_writer :applicable_product_tags
131
+
132
+ # List of filters that determine what kind of customer usage draws down a commit
133
+ # or credit. A customer's usage needs to meet the condition of at least one of the
134
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
135
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
136
+ # Instead, to target usage by product or product tag, pass those values in the
137
+ # body of `specifiers`.
138
+ sig { returns(T.nilable(T::Array[MetronomeSDK::CommitSpecifierInput])) }
139
+ attr_reader :specifiers
140
+
141
+ sig do
142
+ params(
143
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput::OrHash]
144
+ ).void
145
+ end
146
+ attr_writer :specifiers
147
+
148
+ sig do
149
+ params(
150
+ applicable_product_ids: T::Array[String],
151
+ applicable_product_tags: T::Array[String],
152
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput::OrHash]
153
+ ).returns(T.attached_class)
154
+ end
155
+ def self.new(
156
+ # Which products the threshold commit applies to. If applicable_product_ids,
157
+ # applicable_product_tags or specifiers are not provided, the commit applies to
158
+ # all products.
159
+ applicable_product_ids: nil,
160
+ # Which tags the threshold commit applies to. If applicable_product_ids,
161
+ # applicable_product_tags or specifiers are not provided, the commit applies to
162
+ # all products.
163
+ applicable_product_tags: nil,
164
+ # List of filters that determine what kind of customer usage draws down a commit
165
+ # or credit. A customer's usage needs to meet the condition of at least one of the
166
+ # specifiers to contribute to a commit's or credit's drawdown. This field cannot
167
+ # be used together with `applicable_product_ids` or `applicable_product_tags`.
168
+ # Instead, to target usage by product or product tag, pass those values in the
169
+ # body of `specifiers`.
170
+ specifiers: nil
171
+ )
172
+ end
173
+
174
+ sig do
175
+ override.returns(
176
+ {
177
+ applicable_product_ids: T::Array[String],
178
+ applicable_product_tags: T::Array[String],
179
+ specifiers: T::Array[MetronomeSDK::CommitSpecifierInput]
180
+ }
181
+ )
182
+ end
183
+ def to_hash
184
+ end
185
+ end
186
+ end
187
+ end
188
+ end
@@ -28,6 +28,7 @@ module MetronomeSDK
28
28
  sig { returns(Float) }
29
29
  attr_accessor :unit_price
30
30
 
31
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
31
32
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
32
33
  attr_reader :custom_fields
33
34
 
@@ -70,6 +71,7 @@ module MetronomeSDK
70
71
  # Unit price for the charge. Will be multiplied by quantity to determine the
71
72
  # amount and must be specified.
72
73
  unit_price:,
74
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
73
75
  custom_fields: nil,
74
76
  description: nil,
75
77
  # This field's availability is dependent on your client's configuration.
@@ -0,0 +1,125 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class RecurringCommitSubscriptionConfig < MetronomeSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ MetronomeSDK::RecurringCommitSubscriptionConfig,
10
+ MetronomeSDK::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig do
15
+ returns(
16
+ MetronomeSDK::RecurringCommitSubscriptionConfig::Allocation::TaggedSymbol
17
+ )
18
+ end
19
+ attr_accessor :allocation
20
+
21
+ sig do
22
+ returns(
23
+ MetronomeSDK::RecurringCommitSubscriptionConfig::ApplySeatIncreaseConfig
24
+ )
25
+ end
26
+ attr_reader :apply_seat_increase_config
27
+
28
+ sig do
29
+ params(
30
+ apply_seat_increase_config:
31
+ MetronomeSDK::RecurringCommitSubscriptionConfig::ApplySeatIncreaseConfig::OrHash
32
+ ).void
33
+ end
34
+ attr_writer :apply_seat_increase_config
35
+
36
+ sig { returns(String) }
37
+ attr_accessor :subscription_id
38
+
39
+ sig do
40
+ params(
41
+ allocation:
42
+ MetronomeSDK::RecurringCommitSubscriptionConfig::Allocation::OrSymbol,
43
+ apply_seat_increase_config:
44
+ MetronomeSDK::RecurringCommitSubscriptionConfig::ApplySeatIncreaseConfig::OrHash,
45
+ subscription_id: String
46
+ ).returns(T.attached_class)
47
+ end
48
+ def self.new(allocation:, apply_seat_increase_config:, subscription_id:)
49
+ end
50
+
51
+ sig do
52
+ override.returns(
53
+ {
54
+ allocation:
55
+ MetronomeSDK::RecurringCommitSubscriptionConfig::Allocation::TaggedSymbol,
56
+ apply_seat_increase_config:
57
+ MetronomeSDK::RecurringCommitSubscriptionConfig::ApplySeatIncreaseConfig,
58
+ subscription_id: String
59
+ }
60
+ )
61
+ end
62
+ def to_hash
63
+ end
64
+
65
+ module Allocation
66
+ extend MetronomeSDK::Internal::Type::Enum
67
+
68
+ TaggedSymbol =
69
+ T.type_alias do
70
+ T.all(
71
+ Symbol,
72
+ MetronomeSDK::RecurringCommitSubscriptionConfig::Allocation
73
+ )
74
+ end
75
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
76
+
77
+ INDIVIDUAL =
78
+ T.let(
79
+ :INDIVIDUAL,
80
+ MetronomeSDK::RecurringCommitSubscriptionConfig::Allocation::TaggedSymbol
81
+ )
82
+ POOLED =
83
+ T.let(
84
+ :POOLED,
85
+ MetronomeSDK::RecurringCommitSubscriptionConfig::Allocation::TaggedSymbol
86
+ )
87
+
88
+ sig do
89
+ override.returns(
90
+ T::Array[
91
+ MetronomeSDK::RecurringCommitSubscriptionConfig::Allocation::TaggedSymbol
92
+ ]
93
+ )
94
+ end
95
+ def self.values
96
+ end
97
+ end
98
+
99
+ class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
100
+ OrHash =
101
+ T.type_alias do
102
+ T.any(
103
+ MetronomeSDK::RecurringCommitSubscriptionConfig::ApplySeatIncreaseConfig,
104
+ MetronomeSDK::Internal::AnyHash
105
+ )
106
+ end
107
+
108
+ # Indicates whether a mid-period seat increase should be prorated.
109
+ sig { returns(T::Boolean) }
110
+ attr_accessor :is_prorated
111
+
112
+ sig { params(is_prorated: T::Boolean).returns(T.attached_class) }
113
+ def self.new(
114
+ # Indicates whether a mid-period seat increase should be prorated.
115
+ is_prorated:
116
+ )
117
+ end
118
+
119
+ sig { override.returns({ is_prorated: T::Boolean }) }
120
+ def to_hash
121
+ end
122
+ end
123
+ end
124
+ end
125
+ end
@@ -17,6 +17,14 @@ module MetronomeSDK
17
17
  sig { params(credit_type: MetronomeSDK::CreditTypeData::OrHash).void }
18
18
  attr_writer :credit_type
19
19
 
20
+ # This field is only applicable to commit invoice schedules. If true, this
21
+ # schedule will not generate an invoice.
22
+ sig { returns(T.nilable(T::Boolean)) }
23
+ attr_reader :do_not_invoice
24
+
25
+ sig { params(do_not_invoice: T::Boolean).void }
26
+ attr_writer :do_not_invoice
27
+
20
28
  sig do
21
29
  returns(
22
30
  T.nilable(T::Array[MetronomeSDK::SchedulePointInTime::ScheduleItem])
@@ -35,17 +43,25 @@ module MetronomeSDK
35
43
  sig do
36
44
  params(
37
45
  credit_type: MetronomeSDK::CreditTypeData::OrHash,
46
+ do_not_invoice: T::Boolean,
38
47
  schedule_items:
39
48
  T::Array[MetronomeSDK::SchedulePointInTime::ScheduleItem::OrHash]
40
49
  ).returns(T.attached_class)
41
50
  end
42
- def self.new(credit_type: nil, schedule_items: nil)
51
+ def self.new(
52
+ credit_type: nil,
53
+ # This field is only applicable to commit invoice schedules. If true, this
54
+ # schedule will not generate an invoice.
55
+ do_not_invoice: nil,
56
+ schedule_items: nil
57
+ )
43
58
  end
44
59
 
45
60
  sig do
46
61
  override.returns(
47
62
  {
48
63
  credit_type: MetronomeSDK::CreditTypeData,
64
+ do_not_invoice: T::Boolean,
49
65
  schedule_items:
50
66
  T::Array[MetronomeSDK::SchedulePointInTime::ScheduleItem]
51
67
  }
@@ -31,6 +31,7 @@ module MetronomeSDK
31
31
  sig { params(archived_at: Time).void }
32
32
  attr_writer :archived_at
33
33
 
34
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
34
35
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
35
36
  attr_reader :custom_fields
36
37
 
@@ -67,6 +68,7 @@ module MetronomeSDK
67
68
  product:,
68
69
  schedule:,
69
70
  archived_at: nil,
71
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
70
72
  custom_fields: nil,
71
73
  # displayed on invoices
72
74
  name: nil,
@@ -0,0 +1,76 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class SpendThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ MetronomeSDK::SpendThresholdConfiguration,
10
+ MetronomeSDK::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(MetronomeSDK::BaseThresholdCommit) }
15
+ attr_reader :commit
16
+
17
+ sig { params(commit: MetronomeSDK::BaseThresholdCommit::OrHash).void }
18
+ attr_writer :commit
19
+
20
+ # When set to false, the contract will not be evaluated against the
21
+ # threshold_amount. Toggling to true will result an immediate evaluation,
22
+ # regardless of prior state.
23
+ sig { returns(T::Boolean) }
24
+ attr_accessor :is_enabled
25
+
26
+ sig { returns(MetronomeSDK::PaymentGateConfig) }
27
+ attr_reader :payment_gate_config
28
+
29
+ sig do
30
+ params(
31
+ payment_gate_config: MetronomeSDK::PaymentGateConfig::OrHash
32
+ ).void
33
+ end
34
+ attr_writer :payment_gate_config
35
+
36
+ # Specify the threshold amount for the contract. Each time the contract's usage
37
+ # hits this amount, a threshold charge will be initiated.
38
+ sig { returns(Float) }
39
+ attr_accessor :threshold_amount
40
+
41
+ sig do
42
+ params(
43
+ commit: MetronomeSDK::BaseThresholdCommit::OrHash,
44
+ is_enabled: T::Boolean,
45
+ payment_gate_config: MetronomeSDK::PaymentGateConfig::OrHash,
46
+ threshold_amount: Float
47
+ ).returns(T.attached_class)
48
+ end
49
+ def self.new(
50
+ commit:,
51
+ # When set to false, the contract will not be evaluated against the
52
+ # threshold_amount. Toggling to true will result an immediate evaluation,
53
+ # regardless of prior state.
54
+ is_enabled:,
55
+ payment_gate_config:,
56
+ # Specify the threshold amount for the contract. Each time the contract's usage
57
+ # hits this amount, a threshold charge will be initiated.
58
+ threshold_amount:
59
+ )
60
+ end
61
+
62
+ sig do
63
+ override.returns(
64
+ {
65
+ commit: MetronomeSDK::BaseThresholdCommit,
66
+ is_enabled: T::Boolean,
67
+ payment_gate_config: MetronomeSDK::PaymentGateConfig,
68
+ threshold_amount: Float
69
+ }
70
+ )
71
+ end
72
+ def to_hash
73
+ end
74
+ end
75
+ end
76
+ end