metronome-sdk 0.3.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 (308) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -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/base_model.rb +6 -13
  9. data/lib/metronome_sdk/internal/type/union.rb +11 -0
  10. data/lib/metronome_sdk/internal/util.rb +1 -1
  11. data/lib/metronome_sdk/models/base_threshold_commit.rb +36 -0
  12. data/lib/metronome_sdk/models/commit.rb +26 -170
  13. data/lib/metronome_sdk/models/commit_hierarchy_configuration.rb +98 -0
  14. data/lib/metronome_sdk/models/commit_rate.rb +48 -0
  15. data/lib/metronome_sdk/models/commit_specifier.rb +42 -0
  16. data/lib/metronome_sdk/models/commit_specifier_input.rb +42 -0
  17. data/lib/metronome_sdk/models/contract.rb +404 -0
  18. data/lib/metronome_sdk/models/contract_v2.rb +2919 -0
  19. data/lib/metronome_sdk/models/contract_without_amendments.rb +36 -1126
  20. data/lib/metronome_sdk/models/credit.rb +9 -156
  21. data/lib/metronome_sdk/models/discount.rb +2 -1
  22. data/lib/metronome_sdk/models/hierarchy_configuration.rb +76 -0
  23. data/lib/metronome_sdk/models/override.rb +6 -101
  24. data/lib/metronome_sdk/models/override_tier.rb +21 -0
  25. data/lib/metronome_sdk/models/overwrite_rate.rb +82 -0
  26. data/lib/metronome_sdk/models/payment_gate_config.rb +149 -0
  27. data/lib/metronome_sdk/models/payment_gate_config_v2.rb +149 -0
  28. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +100 -0
  29. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +102 -0
  30. data/lib/metronome_sdk/models/pro_service.rb +2 -1
  31. data/lib/metronome_sdk/models/recurring_commit_subscription_config.rb +51 -0
  32. data/lib/metronome_sdk/models/scheduled_charge.rb +2 -1
  33. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +44 -0
  34. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +44 -0
  35. data/lib/metronome_sdk/models/subscription.rb +227 -0
  36. data/lib/metronome_sdk/models/update_base_threshold_commit.rb +36 -0
  37. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -6
  38. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +1 -2
  39. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +3 -3
  40. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +4 -7
  41. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +57 -411
  42. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +7 -16
  43. data/lib/metronome_sdk/models/v1/contract_create_params.rb +236 -1478
  44. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +6 -23
  45. data/lib/metronome_sdk/models/v1/contract_list_response.rb +3 -1153
  46. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +2 -6
  47. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +5 -50
  48. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +3 -1154
  49. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +1 -3
  50. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +2 -1
  51. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +8 -1
  52. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +8 -1
  53. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +1 -4
  54. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +4 -7
  55. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +10 -1
  56. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +2 -6
  57. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +5 -50
  58. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +10 -1
  59. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +1 -3
  60. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +1 -3
  61. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -61
  62. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +3 -49
  63. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +4 -51
  64. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +2 -6
  65. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +5 -49
  66. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +103 -123
  67. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +3 -5
  68. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +1 -3
  69. data/lib/metronome_sdk/models/v1/custom_field_list_keys_response.rb +41 -58
  70. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +5 -1
  71. data/lib/metronome_sdk/models/v1/customer.rb +2 -1
  72. data/lib/metronome_sdk/models/v1/customer_create_params.rb +37 -11
  73. data/lib/metronome_sdk/models/v1/customer_detail.rb +2 -1
  74. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +3 -3
  75. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +1 -3
  76. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rb +28 -0
  77. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rb +128 -0
  78. data/lib/metronome_sdk/models/v1/customer_set_billing_configurations_params.rb +143 -0
  79. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +1 -3
  80. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +30 -1
  81. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +2 -0
  82. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +2 -0
  83. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +10 -60
  84. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +6 -48
  85. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +8 -16
  86. data/lib/metronome_sdk/models/v1/customers/invoice.rb +61 -48
  87. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +1 -4
  88. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +2 -6
  89. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +2 -1
  90. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +4 -11
  91. data/lib/metronome_sdk/models/v1/plan_detail.rb +9 -5
  92. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +2 -1
  93. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +2 -1
  94. data/lib/metronome_sdk/models/v1/plan_list_response.rb +5 -1
  95. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +1 -4
  96. data/lib/metronome_sdk/models/v1/usage_list_params.rb +1 -3
  97. data/lib/metronome_sdk/models/v1/usage_list_response.rb +45 -62
  98. data/lib/metronome_sdk/models/v1/usage_search_response.rb +4 -7
  99. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +29 -58
  100. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +26 -49
  101. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +414 -2310
  102. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +337 -2424
  103. data/lib/metronome_sdk/models/v2/contract_list_response.rb +3 -4520
  104. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +3 -4528
  105. data/lib/metronome_sdk/models.rb +38 -0
  106. data/lib/metronome_sdk/resources/v1/alerts.rb +72 -2
  107. data/lib/metronome_sdk/resources/v1/audit_logs.rb +39 -4
  108. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +54 -4
  109. data/lib/metronome_sdk/resources/v1/contracts/products.rb +25 -6
  110. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +7 -2
  111. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +10 -2
  112. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +109 -10
  113. data/lib/metronome_sdk/resources/v1/contracts.rb +254 -18
  114. data/lib/metronome_sdk/resources/v1/credit_grants.rb +2 -1
  115. data/lib/metronome_sdk/resources/v1/custom_fields.rb +51 -14
  116. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +103 -8
  117. data/lib/metronome_sdk/resources/v1/customers/commits.rb +119 -9
  118. data/lib/metronome_sdk/resources/v1/customers/credits.rb +104 -8
  119. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +124 -8
  120. data/lib/metronome_sdk/resources/v1/customers.rb +169 -12
  121. data/lib/metronome_sdk/resources/v1/dashboards.rb +29 -3
  122. data/lib/metronome_sdk/resources/v1/invoices.rb +23 -2
  123. data/lib/metronome_sdk/resources/v1/pricing_units.rb +6 -1
  124. data/lib/metronome_sdk/resources/v1/services.rb +6 -4
  125. data/lib/metronome_sdk/resources/v1/usage.rb +185 -12
  126. data/lib/metronome_sdk/resources/v2/contracts.rb +114 -18
  127. data/lib/metronome_sdk/version.rb +1 -1
  128. data/lib/metronome_sdk.rb +24 -3
  129. data/rbi/metronome_sdk/errors.rbi +2 -2
  130. data/rbi/metronome_sdk/internal/body_cursor_page.rbi +22 -0
  131. data/rbi/metronome_sdk/internal/cursor_page_without_limit.rbi +22 -0
  132. data/rbi/metronome_sdk/models/base_threshold_commit.rbi +58 -0
  133. data/rbi/metronome_sdk/models/commit.rbi +26 -348
  134. data/rbi/metronome_sdk/models/commit_hierarchy_configuration.rbi +280 -0
  135. data/rbi/metronome_sdk/models/commit_rate.rbi +85 -0
  136. data/rbi/metronome_sdk/models/commit_specifier.rbi +71 -0
  137. data/rbi/metronome_sdk/models/commit_specifier_input.rbi +74 -0
  138. data/rbi/metronome_sdk/models/contract.rbi +768 -0
  139. data/rbi/metronome_sdk/models/contract_v2.rbi +5822 -0
  140. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +184 -2507
  141. data/rbi/metronome_sdk/models/credit.rbi +10 -348
  142. data/rbi/metronome_sdk/models/discount.rbi +2 -0
  143. data/rbi/metronome_sdk/models/hierarchy_configuration.rbi +180 -0
  144. data/rbi/metronome_sdk/models/override.rbi +8 -193
  145. data/rbi/metronome_sdk/models/override_tier.rbi +29 -0
  146. data/rbi/metronome_sdk/models/overwrite_rate.rbi +137 -0
  147. data/rbi/metronome_sdk/models/payment_gate_config.rbi +312 -0
  148. data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +321 -0
  149. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +183 -0
  150. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +188 -0
  151. data/rbi/metronome_sdk/models/pro_service.rbi +2 -0
  152. data/rbi/metronome_sdk/models/recurring_commit_subscription_config.rbi +125 -0
  153. data/rbi/metronome_sdk/models/scheduled_charge.rbi +2 -0
  154. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +76 -0
  155. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -0
  156. data/rbi/metronome_sdk/models/subscription.rbi +460 -0
  157. data/rbi/metronome_sdk/models/update_base_threshold_commit.rbi +61 -0
  158. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -3
  159. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +2 -0
  160. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +2 -0
  161. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +44 -768
  162. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbi +2 -0
  163. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1550 -4079
  164. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +8 -59
  165. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +5 -2420
  166. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +6 -129
  167. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +4 -2419
  168. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +2 -0
  169. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +2 -0
  170. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +2 -0
  171. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_params.rbi +2 -0
  172. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +2 -0
  173. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +6 -129
  174. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +2 -0
  175. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +4 -129
  176. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +4 -129
  177. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +4 -129
  178. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +6 -129
  179. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +147 -198
  180. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +2 -0
  181. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +117 -165
  182. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +8 -1
  183. data/rbi/metronome_sdk/models/v1/customer.rbi +2 -0
  184. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +88 -3
  185. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +2 -0
  186. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +2 -0
  187. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbi +51 -0
  188. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbi +265 -0
  189. data/rbi/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbi +348 -0
  190. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +60 -0
  191. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +10 -0
  192. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +10 -0
  193. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +6 -90
  194. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +6 -90
  195. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +6 -3
  196. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +70 -10
  197. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +2 -0
  198. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +2 -0
  199. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +2 -0
  200. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +2 -0
  201. data/rbi/metronome_sdk/models/v1/plan_list_response.rbi +8 -1
  202. data/rbi/metronome_sdk/models/v1/usage_list_response.rbi +45 -86
  203. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +2 -0
  204. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +56 -76
  205. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +56 -76
  206. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +3419 -7270
  207. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1140 -6062
  208. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +5 -9867
  209. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +6 -9866
  210. data/rbi/metronome_sdk/models.rbi +44 -0
  211. data/rbi/metronome_sdk/resources/v1/alerts.rbi +72 -2
  212. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +39 -4
  213. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +54 -4
  214. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +25 -5
  215. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +7 -2
  216. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +10 -3
  217. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +109 -9
  218. data/rbi/metronome_sdk/resources/v1/contracts.rbi +257 -16
  219. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +5 -1
  220. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +57 -14
  221. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +108 -5
  222. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +119 -10
  223. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +104 -9
  224. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +123 -7
  225. data/rbi/metronome_sdk/resources/v1/customers.rbi +156 -11
  226. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +29 -3
  227. data/rbi/metronome_sdk/resources/v1/invoices.rbi +23 -2
  228. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +6 -1
  229. data/rbi/metronome_sdk/resources/v1/services.rbi +6 -4
  230. data/rbi/metronome_sdk/resources/v1/usage.rbi +188 -12
  231. data/rbi/metronome_sdk/resources/v2/contracts.rbi +120 -23
  232. data/sig/metronome_sdk/internal/body_cursor_page.rbs +13 -0
  233. data/sig/metronome_sdk/internal/cursor_page_without_limit.rbs +13 -0
  234. data/sig/metronome_sdk/models/base_threshold_commit.rbs +26 -0
  235. data/sig/metronome_sdk/models/commit.rbs +17 -170
  236. data/sig/metronome_sdk/models/commit_hierarchy_configuration.rbs +117 -0
  237. data/sig/metronome_sdk/models/commit_rate.rbs +48 -0
  238. data/sig/metronome_sdk/models/commit_specifier.rbs +47 -0
  239. data/sig/metronome_sdk/models/commit_specifier_input.rbs +47 -0
  240. data/sig/metronome_sdk/models/contract.rbs +398 -0
  241. data/sig/metronome_sdk/models/contract_v2.rbs +2881 -0
  242. data/sig/metronome_sdk/models/contract_without_amendments.rbs +54 -976
  243. data/sig/metronome_sdk/models/credit.rbs +12 -170
  244. data/sig/metronome_sdk/models/hierarchy_configuration.rbs +71 -0
  245. data/sig/metronome_sdk/models/override.rbs +12 -101
  246. data/sig/metronome_sdk/models/override_tier.rbs +17 -0
  247. data/sig/metronome_sdk/models/overwrite_rate.rbs +78 -0
  248. data/sig/metronome_sdk/models/payment_gate_config.rbs +123 -0
  249. data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +123 -0
  250. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +82 -0
  251. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +82 -0
  252. data/sig/metronome_sdk/models/recurring_commit_subscription_config.rbs +51 -0
  253. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +35 -0
  254. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +35 -0
  255. data/sig/metronome_sdk/models/subscription.rbs +215 -0
  256. data/sig/metronome_sdk/models/update_base_threshold_commit.rbs +28 -0
  257. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +4 -2
  258. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +24 -340
  259. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +168 -1219
  260. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +4 -25
  261. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +4 -1041
  262. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +6 -54
  263. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +4 -1041
  264. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +6 -54
  265. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +6 -54
  266. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +6 -54
  267. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +6 -54
  268. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +6 -54
  269. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +72 -94
  270. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +53 -75
  271. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +31 -4
  272. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbs +32 -0
  273. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbs +113 -0
  274. data/sig/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbs +133 -0
  275. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +21 -0
  276. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +7 -1
  277. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +6 -1
  278. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +6 -50
  279. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +6 -50
  280. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +4 -2
  281. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +33 -55
  282. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +19 -43
  283. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +19 -43
  284. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +361 -1917
  285. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +242 -2252
  286. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +4 -4426
  287. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +4 -4426
  288. data/sig/metronome_sdk/models.rbs +38 -0
  289. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  290. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -3
  291. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -1
  292. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +1 -1
  293. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +2 -1
  294. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +2 -2
  295. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +2 -2
  296. data/sig/metronome_sdk/resources/v1/customers.rbs +11 -0
  297. data/sig/metronome_sdk/resources/v1/usage.rbs +1 -1
  298. data/sig/metronome_sdk/resources/v2/contracts.rbs +7 -4
  299. metadata +74 -11
  300. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +0 -29
  301. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +0 -26
  302. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +0 -26
  303. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +0 -46
  304. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +0 -45
  305. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +0 -45
  306. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +0 -29
  307. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +0 -26
  308. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +0 -26
@@ -7,8 +7,23 @@ module MetronomeSDK
7
7
  # Some parameter documentations has been truncated, see
8
8
  # {MetronomeSDK::Models::V2::ContractRetrieveParams} for more details.
9
9
  #
10
- # Get a specific contract. New clients should use this endpoint rather than the v1
11
- # endpoint.
10
+ # Gets the details for a specific contract, including contract term, rate card
11
+ # information, credits and commits, and more.
12
+ #
13
+ # ### Use this endpoint to:
14
+ #
15
+ # - Check the duration of a customer's current contract
16
+ # - Get details on contract terms, including access schedule amounts for
17
+ # commitments and credits
18
+ # - Understand the state of a contract at a past time. As you can evolve the terms
19
+ # of a contract over time through editing, use the `as_of_date` parameter to
20
+ # view the full contract configuration as of that point in time.
21
+ #
22
+ # ### Usage guidelines:
23
+ #
24
+ # - Optionally, use the `include_balance` and `include_ledger` fields to include
25
+ # balances and ledgers in the credit and commit responses. Using these fields
26
+ # will cause the query to be slower.
12
27
  #
13
28
  # @overload retrieve(contract_id:, customer_id:, as_of_date: nil, include_balance: nil, include_ledgers: nil, request_options: {})
14
29
  #
@@ -41,8 +56,21 @@ module MetronomeSDK
41
56
  # Some parameter documentations has been truncated, see
42
57
  # {MetronomeSDK::Models::V2::ContractListParams} for more details.
43
58
  #
44
- # List all contracts for a customer in chronological order. New clients should use
45
- # this endpoint rather than the v1 endpoint.
59
+ # For a given customer, lists all of their contracts in chronological order.
60
+ #
61
+ # ### Use this endpoint to:
62
+ #
63
+ # - Check if a customer is provisioned with any contract, and at which tier
64
+ # - Check the duration and terms of a customer's current contract
65
+ # - Power a page in your end customer experience that shows the customer's history
66
+ # of tiers (e.g. this customer started out on the Pro Plan, then downgraded to
67
+ # the Starter plan).
68
+ #
69
+ # ### Usage guidelines:
70
+ #
71
+ # Use the `starting_at`, `covering_date`, and `include_archived` parameters to
72
+ # filter the list of returned contracts. For example, to list only currently
73
+ # active contracts, pass `covering_date` equal to the current time.
46
74
  #
47
75
  # @overload list(customer_id:, covering_date: nil, include_archived: nil, include_balance: nil, include_ledgers: nil, starting_at: nil, request_options: {})
48
76
  #
@@ -77,9 +105,30 @@ module MetronomeSDK
77
105
  # Some parameter documentations has been truncated, see
78
106
  # {MetronomeSDK::Models::V2::ContractEditParams} for more details.
79
107
  #
80
- # Edit a contract. Contract editing must be enabled to use this endpoint.
108
+ # The ability to edit a contract helps you react quickly to the needs of your
109
+ # customers and your business.
110
+ #
111
+ # ### Use this endpoint to:
112
+ #
113
+ # - Encode mid-term commitment and discount changes
114
+ # - Fix configuration mistakes and easily roll back packaging changes
115
+ #
116
+ # ### Key response fields:
117
+ #
118
+ # - The `id` of the edit
119
+ # - Complete edit details. For example, if you edited the contract to add new
120
+ # overrides and credits, you will receive the IDs of those overrides and credits
121
+ # in the response.
122
+ #
123
+ # ### Usage guidelines:
124
+ #
125
+ # - When you edit a contract, any draft invoices update immediately to reflect
126
+ # that edit. Finalized invoices remain unchanged - you must void and regenerate
127
+ # them in the UI or API to reflect the edit.
128
+ # - Contract editing must be enabled to use this endpoint. Reach out to your
129
+ # Metronome representative to learn more.
81
130
  #
82
- # @overload edit(contract_id:, customer_id:, add_commits: nil, add_credits: nil, add_discounts: nil, add_overrides: nil, add_prepaid_balance_threshold_configuration: nil, add_professional_services: nil, add_recurring_commits: nil, add_recurring_credits: nil, add_reseller_royalties: nil, add_scheduled_charges: nil, add_spend_threshold_configuration: nil, add_subscriptions: nil, allow_contract_ending_before_finalized_invoice: nil, archive_commits: nil, archive_credits: nil, archive_scheduled_charges: nil, remove_overrides: nil, update_commits: nil, update_contract_end_date: nil, update_contract_name: nil, update_credits: nil, update_prepaid_balance_threshold_configuration: nil, update_recurring_commits: nil, update_recurring_credits: nil, update_scheduled_charges: nil, update_spend_threshold_configuration: nil, update_subscriptions: nil, request_options: {})
131
+ # @overload edit(contract_id:, customer_id:, add_commits: nil, add_credits: nil, add_discounts: nil, add_overrides: nil, add_prepaid_balance_threshold_configuration: nil, add_professional_services: nil, add_recurring_commits: nil, add_recurring_credits: nil, add_reseller_royalties: nil, add_scheduled_charges: nil, add_spend_threshold_configuration: nil, add_subscriptions: nil, allow_contract_ending_before_finalized_invoice: nil, archive_commits: nil, archive_credits: nil, archive_scheduled_charges: nil, remove_overrides: nil, uniqueness_key: nil, update_commits: nil, update_contract_end_date: nil, update_contract_name: nil, update_credits: nil, update_prepaid_balance_threshold_configuration: nil, update_recurring_commits: nil, update_recurring_credits: nil, update_scheduled_charges: nil, update_spend_threshold_configuration: nil, update_subscriptions: nil, request_options: {})
83
132
  #
84
133
  # @param contract_id [String] ID of the contract being edited
85
134
  #
@@ -93,7 +142,7 @@ module MetronomeSDK
93
142
  #
94
143
  # @param add_overrides [Array<MetronomeSDK::Models::V2::ContractEditParams::AddOverride>]
95
144
  #
96
- # @param add_prepaid_balance_threshold_configuration [MetronomeSDK::Models::V2::ContractEditParams::AddPrepaidBalanceThresholdConfiguration]
145
+ # @param add_prepaid_balance_threshold_configuration [MetronomeSDK::Models::PrepaidBalanceThresholdConfigurationV2]
97
146
  #
98
147
  # @param add_professional_services [Array<MetronomeSDK::Models::V2::ContractEditParams::AddProfessionalService>] This field's availability is dependent on your client's configuration.
99
148
  #
@@ -105,7 +154,7 @@ module MetronomeSDK
105
154
  #
106
155
  # @param add_scheduled_charges [Array<MetronomeSDK::Models::V2::ContractEditParams::AddScheduledCharge>]
107
156
  #
108
- # @param add_spend_threshold_configuration [MetronomeSDK::Models::V2::ContractEditParams::AddSpendThresholdConfiguration]
157
+ # @param add_spend_threshold_configuration [MetronomeSDK::Models::SpendThresholdConfigurationV2]
109
158
  #
110
159
  # @param add_subscriptions [Array<MetronomeSDK::Models::V2::ContractEditParams::AddSubscription>] Optional list of [subscriptions](https://docs.metronome.com/manage-product-acces
111
160
  #
@@ -119,6 +168,8 @@ module MetronomeSDK
119
168
  #
120
169
  # @param remove_overrides [Array<MetronomeSDK::Models::V2::ContractEditParams::RemoveOverride>] IDs of overrides to remove
121
170
  #
171
+ # @param uniqueness_key [String] Optional uniqueness key to prevent duplicate contract edits.
172
+ #
122
173
  # @param update_commits [Array<MetronomeSDK::Models::V2::ContractEditParams::UpdateCommit>]
123
174
  #
124
175
  # @param update_contract_end_date [Time, nil] RFC 3339 timestamp indicating when the contract will end (exclusive).
@@ -158,10 +209,24 @@ module MetronomeSDK
158
209
  # Some parameter documentations has been truncated, see
159
210
  # {MetronomeSDK::Models::V2::ContractEditCommitParams} for more details.
160
211
  #
161
- # Edit a customer or contract commit. Contract commits can only be edited using
162
- # this endpoint if contract editing is enabled.
212
+ # Edit specific details for a contract-level or customer-level commit. Use this
213
+ # endpoint to modify individual commit access schedules, invoice schedules,
214
+ # applicable products, invoicing contracts, or other fields.
215
+ #
216
+ # ### Usage guidelines:
163
217
  #
164
- # @overload edit_commit(commit_id:, customer_id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, invoice_contract_id: nil, invoice_schedule: nil, priority: nil, product_id: nil, specifiers: nil, request_options: {})
218
+ # - As with all edits in Metronome, draft invoices will reflect the edit
219
+ # immediately, while finalized invoices are untouched unless voided and
220
+ # regenerated.
221
+ # - If a commit's invoice schedule item is associated with a finalized invoice,
222
+ # you cannot remove or update the invoice schedule item.
223
+ # - If a commit's invoice schedule item is associated with a voided invoice, you
224
+ # cannot remove the invoice schedule item.
225
+ # - You cannot remove an commit access schedule segment that was applied to a
226
+ # finalized invoice. You can void the invoice beforehand and then remove the
227
+ # access schedule segment.
228
+ #
229
+ # @overload edit_commit(commit_id:, customer_id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, invoice_contract_id: nil, invoice_schedule: nil, priority: nil, product_id: nil, rate_type: nil, specifiers: nil, request_options: {})
165
230
  #
166
231
  # @param commit_id [String] ID of the commit to edit
167
232
  #
@@ -181,7 +246,9 @@ module MetronomeSDK
181
246
  #
182
247
  # @param product_id [String]
183
248
  #
184
- # @param specifiers [Array<MetronomeSDK::Models::V2::ContractEditCommitParams::Specifier>, nil] List of filters that determine what kind of customer usage draws down a commit o
249
+ # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractEditCommitParams::RateType] If provided, updates the commit to use the specified rate type for current and f
250
+ #
251
+ # @param specifiers [Array<MetronomeSDK::Models::CommitSpecifierInput>, nil] List of filters that determine what kind of customer usage draws down a commit o
185
252
  #
186
253
  # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
187
254
  #
@@ -202,10 +269,24 @@ module MetronomeSDK
202
269
  # Some parameter documentations has been truncated, see
203
270
  # {MetronomeSDK::Models::V2::ContractEditCreditParams} for more details.
204
271
  #
205
- # Edit a customer or contract credit. Contract credits can only be edited using
206
- # this endpoint if contract editing is enabled.
272
+ # Edit details for a contract-level or customer-level credit.
273
+ #
274
+ # ### Use this endpoint to:
275
+ #
276
+ # - Extend the duration or the amount of an existing free credit like a trial
277
+ # - Modify individual credit access schedules, applicable products, priority, or
278
+ # other fields.
279
+ #
280
+ # ### Usage guidelines:
207
281
  #
208
- # @overload edit_credit(credit_id:, customer_id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, priority: nil, product_id: nil, specifiers: nil, request_options: {})
282
+ # - As with all edits in Metronome, draft invoices will reflect the edit
283
+ # immediately, while finalized invoices are untouched unless voided and
284
+ # regenerated.
285
+ # - You cannot remove an access schedule segment that was applied to a finalized
286
+ # invoice. You can void the invoice beforehand and then remove the access
287
+ # schedule segment.
288
+ #
289
+ # @overload edit_credit(credit_id:, customer_id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, priority: nil, product_id: nil, rate_type: nil, specifiers: nil, request_options: {})
209
290
  #
210
291
  # @param credit_id [String] ID of the credit to edit
211
292
  #
@@ -221,7 +302,9 @@ module MetronomeSDK
221
302
  #
222
303
  # @param product_id [String]
223
304
  #
224
- # @param specifiers [Array<MetronomeSDK::Models::V2::ContractEditCreditParams::Specifier>, nil] List of filters that determine what kind of customer usage draws down a commit o
305
+ # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractEditCreditParams::RateType] If provided, updates the credit to use the specified rate type for current and f
306
+ #
307
+ # @param specifiers [Array<MetronomeSDK::Models::CommitSpecifierInput>, nil] List of filters that determine what kind of customer usage draws down a commit o
225
308
  #
226
309
  # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
227
310
  #
@@ -239,8 +322,21 @@ module MetronomeSDK
239
322
  )
240
323
  end
241
324
 
242
- # Get the edit history of a specific contract. Contract editing must be enabled to
243
- # use this endpoint.
325
+ # List all the edits made to a contract over time. In Metronome, you can edit a
326
+ # contract at any point after it's created to fix mistakes or reflect changes in
327
+ # terms. Metronome stores a full history of all edits that were ever made to a
328
+ # contract, whether through the UI, `editContract` endpoint, or other endpoints
329
+ # like `updateContractEndDate`.
330
+ #
331
+ # ### Use this endpoint to:
332
+ #
333
+ # - Understand what changes were made to a contract, when, and by who
334
+ #
335
+ # ### Key response fields:
336
+ #
337
+ # - An array of every edit ever made to the contract
338
+ # - Details on each individual edit - for example showing that in one edit, a user
339
+ # added two discounts and incremented a subscription quantity.
244
340
  #
245
341
  # @overload get_edit_history(contract_id:, customer_id:, request_options: {})
246
342
  #
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MetronomeSDK
4
- VERSION = "0.3.0"
4
+ VERSION = "1.0.0"
5
5
  end
data/lib/metronome_sdk.rb CHANGED
@@ -50,23 +50,44 @@ require_relative "metronome_sdk/errors"
50
50
  require_relative "metronome_sdk/internal/transport/base_client"
51
51
  require_relative "metronome_sdk/internal/transport/pooled_net_requester"
52
52
  require_relative "metronome_sdk/client"
53
+ require_relative "metronome_sdk/internal/body_cursor_page"
53
54
  require_relative "metronome_sdk/internal/cursor_page"
55
+ require_relative "metronome_sdk/internal/cursor_page_without_limit"
56
+ require_relative "metronome_sdk/models/base_threshold_commit"
57
+ require_relative "metronome_sdk/models/update_base_threshold_commit"
54
58
  require_relative "metronome_sdk/models/id"
55
59
  require_relative "metronome_sdk/models/v1/customers/invoice"
56
60
  require_relative "metronome_sdk/models/base_usage_filter"
57
61
  require_relative "metronome_sdk/models/commit"
62
+ require_relative "metronome_sdk/models/commit_hierarchy_configuration"
63
+ require_relative "metronome_sdk/models/commit_rate"
64
+ require_relative "metronome_sdk/models/commit_specifier"
65
+ require_relative "metronome_sdk/models/commit_specifier_input"
66
+ require_relative "metronome_sdk/models/contract"
67
+ require_relative "metronome_sdk/models/contract_v2"
58
68
  require_relative "metronome_sdk/models/contract_without_amendments"
59
69
  require_relative "metronome_sdk/models/credit"
60
70
  require_relative "metronome_sdk/models/credit_type_data"
61
71
  require_relative "metronome_sdk/models/discount"
62
72
  require_relative "metronome_sdk/models/event_type_filter"
73
+ require_relative "metronome_sdk/models/hierarchy_configuration"
63
74
  require_relative "metronome_sdk/models/override"
75
+ require_relative "metronome_sdk/models/override_tier"
76
+ require_relative "metronome_sdk/models/overwrite_rate"
77
+ require_relative "metronome_sdk/models/payment_gate_config"
78
+ require_relative "metronome_sdk/models/payment_gate_config_v2"
79
+ require_relative "metronome_sdk/models/prepaid_balance_threshold_configuration"
80
+ require_relative "metronome_sdk/models/prepaid_balance_threshold_configuration_v2"
64
81
  require_relative "metronome_sdk/models/property_filter"
65
82
  require_relative "metronome_sdk/models/pro_service"
66
83
  require_relative "metronome_sdk/models/rate"
84
+ require_relative "metronome_sdk/models/recurring_commit_subscription_config"
67
85
  require_relative "metronome_sdk/models/scheduled_charge"
68
86
  require_relative "metronome_sdk/models/schedule_duration"
69
87
  require_relative "metronome_sdk/models/schedule_point_in_time"
88
+ require_relative "metronome_sdk/models/spend_threshold_configuration"
89
+ require_relative "metronome_sdk/models/spend_threshold_configuration_v2"
90
+ require_relative "metronome_sdk/models/subscription"
70
91
  require_relative "metronome_sdk/models/tier"
71
92
  require_relative "metronome_sdk/models/v1/alert_archive_params"
72
93
  require_relative "metronome_sdk/models/v1/alert_archive_response"
@@ -171,10 +192,11 @@ require_relative "metronome_sdk/models/v1/customer_list_costs_response"
171
192
  require_relative "metronome_sdk/models/v1/customer_list_params"
172
193
  require_relative "metronome_sdk/models/v1/customer_preview_events_params"
173
194
  require_relative "metronome_sdk/models/v1/customer_preview_events_response"
195
+ require_relative "metronome_sdk/models/v1/customer_retrieve_billing_configurations_params"
196
+ require_relative "metronome_sdk/models/v1/customer_retrieve_billing_configurations_response"
174
197
  require_relative "metronome_sdk/models/v1/customer_retrieve_params"
175
198
  require_relative "metronome_sdk/models/v1/customer_retrieve_response"
176
199
  require_relative "metronome_sdk/models/v1/customers/alert_list_params"
177
- require_relative "metronome_sdk/models/v1/customers/alert_list_response"
178
200
  require_relative "metronome_sdk/models/v1/customers/alert_reset_params"
179
201
  require_relative "metronome_sdk/models/v1/customers/alert_retrieve_params"
180
202
  require_relative "metronome_sdk/models/v1/customers/alert_retrieve_response"
@@ -185,13 +207,11 @@ require_relative "metronome_sdk/models/v1/customers/billing_config_retrieve_resp
185
207
  require_relative "metronome_sdk/models/v1/customers/commit_create_params"
186
208
  require_relative "metronome_sdk/models/v1/customers/commit_create_response"
187
209
  require_relative "metronome_sdk/models/v1/customers/commit_list_params"
188
- require_relative "metronome_sdk/models/v1/customers/commit_list_response"
189
210
  require_relative "metronome_sdk/models/v1/customers/commit_update_end_date_params"
190
211
  require_relative "metronome_sdk/models/v1/customers/commit_update_end_date_response"
191
212
  require_relative "metronome_sdk/models/v1/customers/credit_create_params"
192
213
  require_relative "metronome_sdk/models/v1/customers/credit_create_response"
193
214
  require_relative "metronome_sdk/models/v1/customers/credit_list_params"
194
- require_relative "metronome_sdk/models/v1/customers/credit_list_response"
195
215
  require_relative "metronome_sdk/models/v1/customers/credit_update_end_date_params"
196
216
  require_relative "metronome_sdk/models/v1/customers/credit_update_end_date_response"
197
217
  require_relative "metronome_sdk/models/v1/customers/customer_alert"
@@ -213,6 +233,7 @@ require_relative "metronome_sdk/models/v1/customers/plan_list_params"
213
233
  require_relative "metronome_sdk/models/v1/customers/plan_list_price_adjustments_params"
214
234
  require_relative "metronome_sdk/models/v1/customers/plan_list_price_adjustments_response"
215
235
  require_relative "metronome_sdk/models/v1/customers/plan_list_response"
236
+ require_relative "metronome_sdk/models/v1/customer_set_billing_configurations_params"
216
237
  require_relative "metronome_sdk/models/v1/customer_set_ingest_aliases_params"
217
238
  require_relative "metronome_sdk/models/v1/customer_set_name_params"
218
239
  require_relative "metronome_sdk/models/v1/customer_set_name_response"
@@ -59,10 +59,10 @@ module MetronomeSDK
59
59
  end
60
60
 
61
61
  class APIConnectionError < MetronomeSDK::Errors::APIError
62
- sig { void }
62
+ sig { returns(NilClass) }
63
63
  attr_accessor :status
64
64
 
65
- sig { void }
65
+ sig { returns(NilClass) }
66
66
  attr_accessor :body
67
67
 
68
68
  # @api private
@@ -0,0 +1,22 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Internal
5
+ class BodyCursorPage
6
+ include MetronomeSDK::Internal::Type::BasePage
7
+
8
+ Elem = type_member
9
+
10
+ sig { returns(String) }
11
+ attr_accessor :next_page_
12
+
13
+ sig { returns(T.nilable(T::Array[Elem])) }
14
+ attr_accessor :data
15
+
16
+ # @api private
17
+ sig { returns(String) }
18
+ def inspect
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Internal
5
+ class CursorPageWithoutLimit
6
+ include MetronomeSDK::Internal::Type::BasePage
7
+
8
+ Elem = type_member
9
+
10
+ sig { returns(String) }
11
+ attr_accessor :next_page_
12
+
13
+ sig { returns(T.nilable(T::Array[Elem])) }
14
+ attr_accessor :data
15
+
16
+ # @api private
17
+ sig { returns(String) }
18
+ def inspect
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,58 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class BaseThresholdCommit < MetronomeSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ MetronomeSDK::BaseThresholdCommit,
10
+ MetronomeSDK::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The commit product that will be used to generate the line item for commit
15
+ # payment.
16
+ sig { returns(String) }
17
+ attr_accessor :product_id
18
+
19
+ sig { returns(T.nilable(String)) }
20
+ attr_reader :description
21
+
22
+ sig { params(description: String).void }
23
+ attr_writer :description
24
+
25
+ # Specify the name of the line item for the threshold charge. If left blank, it
26
+ # will default to the commit product name.
27
+ sig { returns(T.nilable(String)) }
28
+ attr_reader :name
29
+
30
+ sig { params(name: String).void }
31
+ attr_writer :name
32
+
33
+ sig do
34
+ params(product_id: String, description: String, name: String).returns(
35
+ T.attached_class
36
+ )
37
+ end
38
+ def self.new(
39
+ # The commit product that will be used to generate the line item for commit
40
+ # payment.
41
+ product_id:,
42
+ description: nil,
43
+ # Specify the name of the line item for the threshold charge. If left blank, it
44
+ # will default to the commit product name.
45
+ name: nil
46
+ )
47
+ end
48
+
49
+ sig do
50
+ override.returns(
51
+ { product_id: String, description: String, name: String }
52
+ )
53
+ end
54
+ def to_hash
55
+ end
56
+ end
57
+ end
58
+ end