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
@@ -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.
81
110
  #
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: {})
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.
130
+ #
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.
163
215
  #
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, product_id: nil, specifiers: nil, request_options: {})
216
+ # ### Usage guidelines:
217
+ #
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
  #
@@ -177,9 +242,13 @@ module MetronomeSDK
177
242
  #
178
243
  # @param invoice_schedule [MetronomeSDK::Models::V2::ContractEditCommitParams::InvoiceSchedule]
179
244
  #
245
+ # @param priority [Float, nil] If multiple commits are applicable, the one with the lower priority will apply f
246
+ #
180
247
  # @param product_id [String]
181
248
  #
182
- # @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
183
252
  #
184
253
  # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
185
254
  #
@@ -200,10 +269,24 @@ module MetronomeSDK
200
269
  # Some parameter documentations has been truncated, see
201
270
  # {MetronomeSDK::Models::V2::ContractEditCreditParams} for more details.
202
271
  #
203
- # Edit a customer or contract credit. Contract credits can only be edited using
204
- # 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:
205
281
  #
206
- # @overload edit_credit(credit_id:, customer_id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: 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: {})
207
290
  #
208
291
  # @param credit_id [String] ID of the credit to edit
209
292
  #
@@ -215,9 +298,13 @@ module MetronomeSDK
215
298
  #
216
299
  # @param applicable_product_tags [Array<String>, nil] Which tags the credit applies to. If both applicable*product_ids and applicable*
217
300
  #
301
+ # @param priority [Float, nil] If multiple commits are applicable, the one with the lower priority will apply f
302
+ #
218
303
  # @param product_id [String]
219
304
  #
220
- # @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
221
308
  #
222
309
  # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
223
310
  #
@@ -235,8 +322,21 @@ module MetronomeSDK
235
322
  )
236
323
  end
237
324
 
238
- # Get the edit history of a specific contract. Contract editing must be enabled to
239
- # 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.
240
340
  #
241
341
  # @overload get_edit_history(contract_id:, customer_id:, request_options: {})
242
342
  #
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MetronomeSDK
4
- VERSION = "0.2.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
@@ -92,6 +92,64 @@ module MetronomeSDK
92
92
  def self.type_info(spec)
93
93
  end
94
94
 
95
+ # @api private
96
+ sig do
97
+ params(
98
+ type_info:
99
+ T.any(
100
+ {
101
+ const:
102
+ T.nilable(
103
+ T.any(NilClass, T::Boolean, Integer, Float, Symbol)
104
+ ),
105
+ enum:
106
+ T.nilable(
107
+ T.proc.returns(
108
+ MetronomeSDK::Internal::Type::Converter::Input
109
+ )
110
+ ),
111
+ union:
112
+ T.nilable(
113
+ T.proc.returns(
114
+ MetronomeSDK::Internal::Type::Converter::Input
115
+ )
116
+ )
117
+ },
118
+ T.proc.returns(
119
+ MetronomeSDK::Internal::Type::Converter::Input
120
+ ),
121
+ MetronomeSDK::Internal::Type::Converter::Input
122
+ ),
123
+ spec:
124
+ T.any(
125
+ {
126
+ const:
127
+ T.nilable(
128
+ T.any(NilClass, T::Boolean, Integer, Float, Symbol)
129
+ ),
130
+ enum:
131
+ T.nilable(
132
+ T.proc.returns(
133
+ MetronomeSDK::Internal::Type::Converter::Input
134
+ )
135
+ ),
136
+ union:
137
+ T.nilable(
138
+ T.proc.returns(
139
+ MetronomeSDK::Internal::Type::Converter::Input
140
+ )
141
+ )
142
+ },
143
+ T.proc.returns(
144
+ MetronomeSDK::Internal::Type::Converter::Input
145
+ ),
146
+ MetronomeSDK::Internal::Type::Converter::Input
147
+ )
148
+ ).returns(MetronomeSDK::Internal::AnyHash)
149
+ end
150
+ def self.meta_info(type_info, spec)
151
+ end
152
+
95
153
  # @api private
96
154
  sig do
97
155
  params(translate_names: T::Boolean).returns(
@@ -16,7 +16,8 @@ module MetronomeSDK
16
16
  T::Array[
17
17
  [
18
18
  T.nilable(Symbol),
19
- T.proc.returns(MetronomeSDK::Internal::Type::Converter::Input)
19
+ T.proc.returns(MetronomeSDK::Internal::Type::Converter::Input),
20
+ MetronomeSDK::Internal::AnyHash
20
21
  ]
21
22
  ]
22
23
  )
@@ -25,7 +26,13 @@ module MetronomeSDK
25
26
  end
26
27
 
27
28
  # @api private
28
- sig { returns(T::Array[[T.nilable(Symbol), T.anything]]) }
29
+ sig do
30
+ returns(
31
+ T::Array[
32
+ [T.nilable(Symbol), T.anything, MetronomeSDK::Internal::AnyHash]
33
+ ]
34
+ )
35
+ end
29
36
  protected def derefed_variants
30
37
  end
31
38
 
@@ -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