metronome-sdk 0.2.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +61 -0
  3. data/README.md +9 -9
  4. data/lib/metronome_sdk/internal/body_cursor_page.rb +86 -0
  5. data/lib/metronome_sdk/internal/cursor_page_without_limit.rb +86 -0
  6. data/lib/metronome_sdk/internal/transport/base_client.rb +1 -4
  7. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +1 -9
  8. data/lib/metronome_sdk/internal/type/array_of.rb +1 -0
  9. data/lib/metronome_sdk/internal/type/base_model.rb +9 -14
  10. data/lib/metronome_sdk/internal/type/converter.rb +27 -0
  11. data/lib/metronome_sdk/internal/type/hash_of.rb +1 -0
  12. data/lib/metronome_sdk/internal/type/union.rb +20 -7
  13. data/lib/metronome_sdk/internal/util.rb +1 -1
  14. data/lib/metronome_sdk/models/base_threshold_commit.rb +36 -0
  15. data/lib/metronome_sdk/models/commit.rb +26 -170
  16. data/lib/metronome_sdk/models/commit_hierarchy_configuration.rb +98 -0
  17. data/lib/metronome_sdk/models/commit_rate.rb +48 -0
  18. data/lib/metronome_sdk/models/commit_specifier.rb +42 -0
  19. data/lib/metronome_sdk/models/commit_specifier_input.rb +42 -0
  20. data/lib/metronome_sdk/models/contract.rb +404 -0
  21. data/lib/metronome_sdk/models/contract_v2.rb +2919 -0
  22. data/lib/metronome_sdk/models/contract_without_amendments.rb +36 -1126
  23. data/lib/metronome_sdk/models/credit.rb +9 -156
  24. data/lib/metronome_sdk/models/discount.rb +2 -1
  25. data/lib/metronome_sdk/models/hierarchy_configuration.rb +76 -0
  26. data/lib/metronome_sdk/models/override.rb +6 -101
  27. data/lib/metronome_sdk/models/override_tier.rb +21 -0
  28. data/lib/metronome_sdk/models/overwrite_rate.rb +82 -0
  29. data/lib/metronome_sdk/models/payment_gate_config.rb +149 -0
  30. data/lib/metronome_sdk/models/payment_gate_config_v2.rb +149 -0
  31. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +100 -0
  32. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +102 -0
  33. data/lib/metronome_sdk/models/pro_service.rb +2 -1
  34. data/lib/metronome_sdk/models/recurring_commit_subscription_config.rb +51 -0
  35. data/lib/metronome_sdk/models/schedule_point_in_time.rb +14 -1
  36. data/lib/metronome_sdk/models/scheduled_charge.rb +2 -1
  37. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +44 -0
  38. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +44 -0
  39. data/lib/metronome_sdk/models/subscription.rb +227 -0
  40. data/lib/metronome_sdk/models/update_base_threshold_commit.rb +36 -0
  41. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -6
  42. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +1 -2
  43. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +3 -3
  44. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +4 -7
  45. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +110 -415
  46. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +7 -16
  47. data/lib/metronome_sdk/models/v1/contract_create_params.rb +287 -1480
  48. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +6 -23
  49. data/lib/metronome_sdk/models/v1/contract_list_response.rb +3 -1153
  50. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +2 -6
  51. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +5 -50
  52. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +3 -1154
  53. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +1 -3
  54. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +9 -1
  55. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +8 -1
  56. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +8 -1
  57. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +1 -4
  58. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +4 -7
  59. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +10 -1
  60. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +2 -6
  61. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +5 -50
  62. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +10 -1
  63. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +1 -3
  64. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +1 -3
  65. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -61
  66. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +3 -49
  67. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +4 -51
  68. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +2 -6
  69. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +5 -49
  70. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +103 -123
  71. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +3 -5
  72. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +1 -3
  73. data/lib/metronome_sdk/models/v1/custom_field_list_keys_response.rb +41 -58
  74. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +5 -1
  75. data/lib/metronome_sdk/models/v1/customer.rb +2 -1
  76. data/lib/metronome_sdk/models/v1/customer_create_params.rb +37 -11
  77. data/lib/metronome_sdk/models/v1/customer_detail.rb +2 -1
  78. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +3 -3
  79. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +1 -3
  80. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rb +28 -0
  81. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rb +128 -0
  82. data/lib/metronome_sdk/models/v1/customer_set_billing_configurations_params.rb +143 -0
  83. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +1 -3
  84. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +30 -1
  85. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +2 -0
  86. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +2 -0
  87. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +20 -61
  88. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +6 -48
  89. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +8 -16
  90. data/lib/metronome_sdk/models/v1/customers/invoice.rb +68 -43
  91. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +1 -4
  92. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +2 -6
  93. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +2 -1
  94. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +4 -11
  95. data/lib/metronome_sdk/models/v1/plan_detail.rb +9 -5
  96. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +2 -1
  97. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +2 -1
  98. data/lib/metronome_sdk/models/v1/plan_list_response.rb +5 -1
  99. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +1 -4
  100. data/lib/metronome_sdk/models/v1/usage_list_params.rb +1 -3
  101. data/lib/metronome_sdk/models/v1/usage_list_response.rb +45 -62
  102. data/lib/metronome_sdk/models/v1/usage_search_response.rb +4 -7
  103. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +38 -58
  104. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +35 -49
  105. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +469 -2302
  106. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +358 -2414
  107. data/lib/metronome_sdk/models/v2/contract_list_response.rb +3 -4520
  108. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +3 -4528
  109. data/lib/metronome_sdk/models.rb +38 -0
  110. data/lib/metronome_sdk/resources/v1/alerts.rb +72 -2
  111. data/lib/metronome_sdk/resources/v1/audit_logs.rb +39 -4
  112. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +54 -4
  113. data/lib/metronome_sdk/resources/v1/contracts/products.rb +27 -6
  114. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +7 -2
  115. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +10 -2
  116. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +109 -10
  117. data/lib/metronome_sdk/resources/v1/contracts.rb +254 -18
  118. data/lib/metronome_sdk/resources/v1/credit_grants.rb +2 -1
  119. data/lib/metronome_sdk/resources/v1/custom_fields.rb +51 -14
  120. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +103 -8
  121. data/lib/metronome_sdk/resources/v1/customers/commits.rb +119 -9
  122. data/lib/metronome_sdk/resources/v1/customers/credits.rb +104 -8
  123. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +124 -8
  124. data/lib/metronome_sdk/resources/v1/customers.rb +169 -12
  125. data/lib/metronome_sdk/resources/v1/dashboards.rb +29 -3
  126. data/lib/metronome_sdk/resources/v1/invoices.rb +23 -2
  127. data/lib/metronome_sdk/resources/v1/pricing_units.rb +6 -1
  128. data/lib/metronome_sdk/resources/v1/services.rb +6 -4
  129. data/lib/metronome_sdk/resources/v1/usage.rb +185 -12
  130. data/lib/metronome_sdk/resources/v2/contracts.rb +118 -18
  131. data/lib/metronome_sdk/version.rb +1 -1
  132. data/lib/metronome_sdk.rb +24 -3
  133. data/rbi/metronome_sdk/errors.rbi +2 -2
  134. data/rbi/metronome_sdk/internal/body_cursor_page.rbi +22 -0
  135. data/rbi/metronome_sdk/internal/cursor_page_without_limit.rbi +22 -0
  136. data/rbi/metronome_sdk/internal/type/converter.rbi +58 -0
  137. data/rbi/metronome_sdk/internal/type/union.rbi +9 -2
  138. data/rbi/metronome_sdk/models/base_threshold_commit.rbi +58 -0
  139. data/rbi/metronome_sdk/models/commit.rbi +26 -348
  140. data/rbi/metronome_sdk/models/commit_hierarchy_configuration.rbi +280 -0
  141. data/rbi/metronome_sdk/models/commit_rate.rbi +85 -0
  142. data/rbi/metronome_sdk/models/commit_specifier.rbi +71 -0
  143. data/rbi/metronome_sdk/models/commit_specifier_input.rbi +74 -0
  144. data/rbi/metronome_sdk/models/contract.rbi +768 -0
  145. data/rbi/metronome_sdk/models/contract_v2.rbi +5822 -0
  146. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +184 -2507
  147. data/rbi/metronome_sdk/models/credit.rbi +10 -348
  148. data/rbi/metronome_sdk/models/discount.rbi +2 -0
  149. data/rbi/metronome_sdk/models/hierarchy_configuration.rbi +180 -0
  150. data/rbi/metronome_sdk/models/override.rbi +8 -193
  151. data/rbi/metronome_sdk/models/override_tier.rbi +29 -0
  152. data/rbi/metronome_sdk/models/overwrite_rate.rbi +137 -0
  153. data/rbi/metronome_sdk/models/payment_gate_config.rbi +312 -0
  154. data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +321 -0
  155. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +183 -0
  156. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +188 -0
  157. data/rbi/metronome_sdk/models/pro_service.rbi +2 -0
  158. data/rbi/metronome_sdk/models/recurring_commit_subscription_config.rbi +125 -0
  159. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +17 -1
  160. data/rbi/metronome_sdk/models/scheduled_charge.rbi +2 -0
  161. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +76 -0
  162. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -0
  163. data/rbi/metronome_sdk/models/subscription.rbi +460 -0
  164. data/rbi/metronome_sdk/models/update_base_threshold_commit.rbi +61 -0
  165. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -3
  166. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +2 -0
  167. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +2 -0
  168. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +120 -771
  169. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbi +2 -0
  170. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1613 -4069
  171. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +8 -59
  172. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +5 -2420
  173. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +6 -129
  174. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +4 -2419
  175. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +11 -0
  176. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +2 -0
  177. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +2 -0
  178. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_params.rbi +2 -0
  179. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +2 -0
  180. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +6 -129
  181. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +2 -0
  182. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +4 -129
  183. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +4 -129
  184. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +4 -129
  185. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +6 -129
  186. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +147 -198
  187. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +2 -0
  188. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +117 -165
  189. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +8 -1
  190. data/rbi/metronome_sdk/models/v1/customer.rbi +2 -0
  191. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +88 -3
  192. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +2 -0
  193. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +2 -0
  194. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbi +51 -0
  195. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbi +265 -0
  196. data/rbi/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbi +348 -0
  197. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +60 -0
  198. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +10 -0
  199. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +10 -0
  200. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +19 -90
  201. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +6 -90
  202. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +6 -3
  203. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +76 -0
  204. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +2 -0
  205. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +2 -0
  206. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +2 -0
  207. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +2 -0
  208. data/rbi/metronome_sdk/models/v1/plan_list_response.rbi +8 -1
  209. data/rbi/metronome_sdk/models/v1/usage_list_response.rbi +45 -86
  210. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +2 -0
  211. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +66 -76
  212. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +66 -76
  213. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +3563 -7329
  214. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1181 -6070
  215. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +5 -9867
  216. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +6 -9866
  217. data/rbi/metronome_sdk/models.rbi +44 -0
  218. data/rbi/metronome_sdk/resources/v1/alerts.rbi +72 -2
  219. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +39 -4
  220. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +54 -4
  221. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +27 -5
  222. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +7 -2
  223. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +10 -3
  224. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +109 -9
  225. data/rbi/metronome_sdk/resources/v1/contracts.rbi +257 -16
  226. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +5 -1
  227. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +57 -14
  228. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +108 -5
  229. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +119 -10
  230. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +104 -9
  231. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +123 -7
  232. data/rbi/metronome_sdk/resources/v1/customers.rbi +156 -11
  233. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +29 -3
  234. data/rbi/metronome_sdk/resources/v1/invoices.rbi +23 -2
  235. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +6 -1
  236. data/rbi/metronome_sdk/resources/v1/services.rbi +6 -4
  237. data/rbi/metronome_sdk/resources/v1/usage.rbi +188 -12
  238. data/rbi/metronome_sdk/resources/v2/contracts.rbi +128 -23
  239. data/sig/metronome_sdk/internal/body_cursor_page.rbs +13 -0
  240. data/sig/metronome_sdk/internal/cursor_page_without_limit.rbs +13 -0
  241. data/sig/metronome_sdk/internal/type/converter.rbs +17 -0
  242. data/sig/metronome_sdk/internal/type/union.rbs +2 -2
  243. data/sig/metronome_sdk/models/base_threshold_commit.rbs +26 -0
  244. data/sig/metronome_sdk/models/commit.rbs +17 -170
  245. data/sig/metronome_sdk/models/commit_hierarchy_configuration.rbs +117 -0
  246. data/sig/metronome_sdk/models/commit_rate.rbs +48 -0
  247. data/sig/metronome_sdk/models/commit_specifier.rbs +47 -0
  248. data/sig/metronome_sdk/models/commit_specifier_input.rbs +47 -0
  249. data/sig/metronome_sdk/models/contract.rbs +398 -0
  250. data/sig/metronome_sdk/models/contract_v2.rbs +2881 -0
  251. data/sig/metronome_sdk/models/contract_without_amendments.rbs +54 -976
  252. data/sig/metronome_sdk/models/credit.rbs +12 -170
  253. data/sig/metronome_sdk/models/hierarchy_configuration.rbs +71 -0
  254. data/sig/metronome_sdk/models/override.rbs +12 -101
  255. data/sig/metronome_sdk/models/override_tier.rbs +17 -0
  256. data/sig/metronome_sdk/models/overwrite_rate.rbs +78 -0
  257. data/sig/metronome_sdk/models/payment_gate_config.rbs +123 -0
  258. data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +123 -0
  259. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +82 -0
  260. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +82 -0
  261. data/sig/metronome_sdk/models/recurring_commit_subscription_config.rbs +51 -0
  262. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +7 -0
  263. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +35 -0
  264. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +35 -0
  265. data/sig/metronome_sdk/models/subscription.rbs +215 -0
  266. data/sig/metronome_sdk/models/update_base_threshold_commit.rbs +28 -0
  267. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +4 -2
  268. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +62 -343
  269. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +218 -1234
  270. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +4 -25
  271. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +4 -1041
  272. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +6 -54
  273. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +4 -1041
  274. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +7 -0
  275. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +6 -54
  276. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +6 -54
  277. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +6 -54
  278. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +6 -54
  279. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +6 -54
  280. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +72 -94
  281. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +53 -75
  282. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +31 -4
  283. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbs +32 -0
  284. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbs +113 -0
  285. data/sig/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbs +133 -0
  286. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +21 -0
  287. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +7 -1
  288. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +6 -1
  289. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +13 -50
  290. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +6 -50
  291. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +4 -2
  292. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +5 -0
  293. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +33 -55
  294. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +24 -43
  295. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +24 -43
  296. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +400 -1911
  297. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +256 -2249
  298. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +4 -4426
  299. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +4 -4426
  300. data/sig/metronome_sdk/models.rbs +38 -0
  301. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +1 -0
  302. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  303. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -3
  304. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -1
  305. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +1 -1
  306. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +2 -1
  307. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +2 -2
  308. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +2 -2
  309. data/sig/metronome_sdk/resources/v1/customers.rbs +11 -0
  310. data/sig/metronome_sdk/resources/v1/usage.rbs +1 -1
  311. data/sig/metronome_sdk/resources/v2/contracts.rbs +9 -4
  312. metadata +74 -11
  313. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +0 -29
  314. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +0 -26
  315. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +0 -26
  316. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +0 -46
  317. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +0 -45
  318. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +0 -45
  319. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +0 -29
  320. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +0 -26
  321. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +0 -26
@@ -0,0 +1,78 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class SpendThresholdConfigurationV2 < MetronomeSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ MetronomeSDK::SpendThresholdConfigurationV2,
10
+ MetronomeSDK::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(MetronomeSDK::UpdateBaseThresholdCommit) }
15
+ attr_reader :commit
16
+
17
+ sig do
18
+ params(commit: MetronomeSDK::UpdateBaseThresholdCommit::OrHash).void
19
+ end
20
+ attr_writer :commit
21
+
22
+ # When set to false, the contract will not be evaluated against the
23
+ # threshold_amount. Toggling to true will result an immediate evaluation,
24
+ # regardless of prior state.
25
+ sig { returns(T::Boolean) }
26
+ attr_accessor :is_enabled
27
+
28
+ sig { returns(MetronomeSDK::PaymentGateConfigV2) }
29
+ attr_reader :payment_gate_config
30
+
31
+ sig do
32
+ params(
33
+ payment_gate_config: MetronomeSDK::PaymentGateConfigV2::OrHash
34
+ ).void
35
+ end
36
+ attr_writer :payment_gate_config
37
+
38
+ # Specify the threshold amount for the contract. Each time the contract's usage
39
+ # hits this amount, a threshold charge will be initiated.
40
+ sig { returns(Float) }
41
+ attr_accessor :threshold_amount
42
+
43
+ sig do
44
+ params(
45
+ commit: MetronomeSDK::UpdateBaseThresholdCommit::OrHash,
46
+ is_enabled: T::Boolean,
47
+ payment_gate_config: MetronomeSDK::PaymentGateConfigV2::OrHash,
48
+ threshold_amount: Float
49
+ ).returns(T.attached_class)
50
+ end
51
+ def self.new(
52
+ commit:,
53
+ # When set to false, the contract will not be evaluated against the
54
+ # threshold_amount. Toggling to true will result an immediate evaluation,
55
+ # regardless of prior state.
56
+ is_enabled:,
57
+ payment_gate_config:,
58
+ # Specify the threshold amount for the contract. Each time the contract's usage
59
+ # hits this amount, a threshold charge will be initiated.
60
+ threshold_amount:
61
+ )
62
+ end
63
+
64
+ sig do
65
+ override.returns(
66
+ {
67
+ commit: MetronomeSDK::UpdateBaseThresholdCommit,
68
+ is_enabled: T::Boolean,
69
+ payment_gate_config: MetronomeSDK::PaymentGateConfigV2,
70
+ threshold_amount: Float
71
+ }
72
+ )
73
+ end
74
+ def to_hash
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,460 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class Subscription < MetronomeSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(MetronomeSDK::Subscription, MetronomeSDK::Internal::AnyHash)
9
+ end
10
+
11
+ sig do
12
+ returns(MetronomeSDK::Subscription::CollectionSchedule::TaggedSymbol)
13
+ end
14
+ attr_accessor :collection_schedule
15
+
16
+ sig { returns(MetronomeSDK::Subscription::Proration) }
17
+ attr_reader :proration
18
+
19
+ sig do
20
+ params(proration: MetronomeSDK::Subscription::Proration::OrHash).void
21
+ end
22
+ attr_writer :proration
23
+
24
+ # Determines how the subscription's quantity is controlled. Defaults to
25
+ # QUANTITY_ONLY. **QUANTITY_ONLY**: The subscription quantity is specified
26
+ # directly on the subscription. `initial_quantity` must be provided with this
27
+ # option. Compatible with recurring commits/credits that use POOLED allocation.
28
+ sig do
29
+ returns(
30
+ MetronomeSDK::Subscription::QuantityManagementMode::TaggedSymbol
31
+ )
32
+ end
33
+ attr_accessor :quantity_management_mode
34
+
35
+ # List of quantity schedule items for the subscription. Only includes the current
36
+ # quantity and future quantity changes.
37
+ sig { returns(T::Array[MetronomeSDK::Subscription::QuantitySchedule]) }
38
+ attr_accessor :quantity_schedule
39
+
40
+ sig { returns(Time) }
41
+ attr_accessor :starting_at
42
+
43
+ sig { returns(MetronomeSDK::Subscription::SubscriptionRate) }
44
+ attr_reader :subscription_rate
45
+
46
+ sig do
47
+ params(
48
+ subscription_rate:
49
+ MetronomeSDK::Subscription::SubscriptionRate::OrHash
50
+ ).void
51
+ end
52
+ attr_writer :subscription_rate
53
+
54
+ sig { returns(T.nilable(String)) }
55
+ attr_reader :id
56
+
57
+ sig { params(id: String).void }
58
+ attr_writer :id
59
+
60
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
61
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
62
+ attr_reader :custom_fields
63
+
64
+ sig { params(custom_fields: T::Hash[Symbol, String]).void }
65
+ attr_writer :custom_fields
66
+
67
+ sig { returns(T.nilable(String)) }
68
+ attr_reader :description
69
+
70
+ sig { params(description: String).void }
71
+ attr_writer :description
72
+
73
+ sig { returns(T.nilable(Time)) }
74
+ attr_reader :ending_before
75
+
76
+ sig { params(ending_before: Time).void }
77
+ attr_writer :ending_before
78
+
79
+ sig { returns(T.nilable(String)) }
80
+ attr_reader :fiat_credit_type_id
81
+
82
+ sig { params(fiat_credit_type_id: String).void }
83
+ attr_writer :fiat_credit_type_id
84
+
85
+ sig { returns(T.nilable(String)) }
86
+ attr_reader :name
87
+
88
+ sig { params(name: String).void }
89
+ attr_writer :name
90
+
91
+ sig do
92
+ params(
93
+ collection_schedule:
94
+ MetronomeSDK::Subscription::CollectionSchedule::OrSymbol,
95
+ proration: MetronomeSDK::Subscription::Proration::OrHash,
96
+ quantity_management_mode:
97
+ MetronomeSDK::Subscription::QuantityManagementMode::OrSymbol,
98
+ quantity_schedule:
99
+ T::Array[MetronomeSDK::Subscription::QuantitySchedule::OrHash],
100
+ starting_at: Time,
101
+ subscription_rate:
102
+ MetronomeSDK::Subscription::SubscriptionRate::OrHash,
103
+ id: String,
104
+ custom_fields: T::Hash[Symbol, String],
105
+ description: String,
106
+ ending_before: Time,
107
+ fiat_credit_type_id: String,
108
+ name: String
109
+ ).returns(T.attached_class)
110
+ end
111
+ def self.new(
112
+ collection_schedule:,
113
+ proration:,
114
+ # Determines how the subscription's quantity is controlled. Defaults to
115
+ # QUANTITY_ONLY. **QUANTITY_ONLY**: The subscription quantity is specified
116
+ # directly on the subscription. `initial_quantity` must be provided with this
117
+ # option. Compatible with recurring commits/credits that use POOLED allocation.
118
+ quantity_management_mode:,
119
+ # List of quantity schedule items for the subscription. Only includes the current
120
+ # quantity and future quantity changes.
121
+ quantity_schedule:,
122
+ starting_at:,
123
+ subscription_rate:,
124
+ id: nil,
125
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
126
+ custom_fields: nil,
127
+ description: nil,
128
+ ending_before: nil,
129
+ fiat_credit_type_id: nil,
130
+ name: nil
131
+ )
132
+ end
133
+
134
+ sig do
135
+ override.returns(
136
+ {
137
+ collection_schedule:
138
+ MetronomeSDK::Subscription::CollectionSchedule::TaggedSymbol,
139
+ proration: MetronomeSDK::Subscription::Proration,
140
+ quantity_management_mode:
141
+ MetronomeSDK::Subscription::QuantityManagementMode::TaggedSymbol,
142
+ quantity_schedule:
143
+ T::Array[MetronomeSDK::Subscription::QuantitySchedule],
144
+ starting_at: Time,
145
+ subscription_rate: MetronomeSDK::Subscription::SubscriptionRate,
146
+ id: String,
147
+ custom_fields: T::Hash[Symbol, String],
148
+ description: String,
149
+ ending_before: Time,
150
+ fiat_credit_type_id: String,
151
+ name: String
152
+ }
153
+ )
154
+ end
155
+ def to_hash
156
+ end
157
+
158
+ module CollectionSchedule
159
+ extend MetronomeSDK::Internal::Type::Enum
160
+
161
+ TaggedSymbol =
162
+ T.type_alias do
163
+ T.all(Symbol, MetronomeSDK::Subscription::CollectionSchedule)
164
+ end
165
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
166
+
167
+ ADVANCE =
168
+ T.let(
169
+ :ADVANCE,
170
+ MetronomeSDK::Subscription::CollectionSchedule::TaggedSymbol
171
+ )
172
+ ARREARS =
173
+ T.let(
174
+ :ARREARS,
175
+ MetronomeSDK::Subscription::CollectionSchedule::TaggedSymbol
176
+ )
177
+
178
+ sig do
179
+ override.returns(
180
+ T::Array[
181
+ MetronomeSDK::Subscription::CollectionSchedule::TaggedSymbol
182
+ ]
183
+ )
184
+ end
185
+ def self.values
186
+ end
187
+ end
188
+
189
+ class Proration < MetronomeSDK::Internal::Type::BaseModel
190
+ OrHash =
191
+ T.type_alias do
192
+ T.any(
193
+ MetronomeSDK::Subscription::Proration,
194
+ MetronomeSDK::Internal::AnyHash
195
+ )
196
+ end
197
+
198
+ sig do
199
+ returns(
200
+ MetronomeSDK::Subscription::Proration::InvoiceBehavior::TaggedSymbol
201
+ )
202
+ end
203
+ attr_accessor :invoice_behavior
204
+
205
+ sig { returns(T::Boolean) }
206
+ attr_accessor :is_prorated
207
+
208
+ sig do
209
+ params(
210
+ invoice_behavior:
211
+ MetronomeSDK::Subscription::Proration::InvoiceBehavior::OrSymbol,
212
+ is_prorated: T::Boolean
213
+ ).returns(T.attached_class)
214
+ end
215
+ def self.new(invoice_behavior:, is_prorated:)
216
+ end
217
+
218
+ sig do
219
+ override.returns(
220
+ {
221
+ invoice_behavior:
222
+ MetronomeSDK::Subscription::Proration::InvoiceBehavior::TaggedSymbol,
223
+ is_prorated: T::Boolean
224
+ }
225
+ )
226
+ end
227
+ def to_hash
228
+ end
229
+
230
+ module InvoiceBehavior
231
+ extend MetronomeSDK::Internal::Type::Enum
232
+
233
+ TaggedSymbol =
234
+ T.type_alias do
235
+ T.all(
236
+ Symbol,
237
+ MetronomeSDK::Subscription::Proration::InvoiceBehavior
238
+ )
239
+ end
240
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
241
+
242
+ BILL_IMMEDIATELY =
243
+ T.let(
244
+ :BILL_IMMEDIATELY,
245
+ MetronomeSDK::Subscription::Proration::InvoiceBehavior::TaggedSymbol
246
+ )
247
+ BILL_ON_NEXT_COLLECTION_DATE =
248
+ T.let(
249
+ :BILL_ON_NEXT_COLLECTION_DATE,
250
+ MetronomeSDK::Subscription::Proration::InvoiceBehavior::TaggedSymbol
251
+ )
252
+
253
+ sig do
254
+ override.returns(
255
+ T::Array[
256
+ MetronomeSDK::Subscription::Proration::InvoiceBehavior::TaggedSymbol
257
+ ]
258
+ )
259
+ end
260
+ def self.values
261
+ end
262
+ end
263
+ end
264
+
265
+ # Determines how the subscription's quantity is controlled. Defaults to
266
+ # QUANTITY_ONLY. **QUANTITY_ONLY**: The subscription quantity is specified
267
+ # directly on the subscription. `initial_quantity` must be provided with this
268
+ # option. Compatible with recurring commits/credits that use POOLED allocation.
269
+ module QuantityManagementMode
270
+ extend MetronomeSDK::Internal::Type::Enum
271
+
272
+ TaggedSymbol =
273
+ T.type_alias do
274
+ T.all(Symbol, MetronomeSDK::Subscription::QuantityManagementMode)
275
+ end
276
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
277
+
278
+ SEAT_BASED =
279
+ T.let(
280
+ :SEAT_BASED,
281
+ MetronomeSDK::Subscription::QuantityManagementMode::TaggedSymbol
282
+ )
283
+ QUANTITY_ONLY =
284
+ T.let(
285
+ :QUANTITY_ONLY,
286
+ MetronomeSDK::Subscription::QuantityManagementMode::TaggedSymbol
287
+ )
288
+
289
+ sig do
290
+ override.returns(
291
+ T::Array[
292
+ MetronomeSDK::Subscription::QuantityManagementMode::TaggedSymbol
293
+ ]
294
+ )
295
+ end
296
+ def self.values
297
+ end
298
+ end
299
+
300
+ class QuantitySchedule < MetronomeSDK::Internal::Type::BaseModel
301
+ OrHash =
302
+ T.type_alias do
303
+ T.any(
304
+ MetronomeSDK::Subscription::QuantitySchedule,
305
+ MetronomeSDK::Internal::AnyHash
306
+ )
307
+ end
308
+
309
+ sig { returns(Float) }
310
+ attr_accessor :quantity
311
+
312
+ sig { returns(Time) }
313
+ attr_accessor :starting_at
314
+
315
+ sig { returns(T.nilable(Time)) }
316
+ attr_reader :ending_before
317
+
318
+ sig { params(ending_before: Time).void }
319
+ attr_writer :ending_before
320
+
321
+ sig do
322
+ params(
323
+ quantity: Float,
324
+ starting_at: Time,
325
+ ending_before: Time
326
+ ).returns(T.attached_class)
327
+ end
328
+ def self.new(quantity:, starting_at:, ending_before: nil)
329
+ end
330
+
331
+ sig do
332
+ override.returns(
333
+ { quantity: Float, starting_at: Time, ending_before: Time }
334
+ )
335
+ end
336
+ def to_hash
337
+ end
338
+ end
339
+
340
+ class SubscriptionRate < MetronomeSDK::Internal::Type::BaseModel
341
+ OrHash =
342
+ T.type_alias do
343
+ T.any(
344
+ MetronomeSDK::Subscription::SubscriptionRate,
345
+ MetronomeSDK::Internal::AnyHash
346
+ )
347
+ end
348
+
349
+ sig do
350
+ returns(
351
+ MetronomeSDK::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
352
+ )
353
+ end
354
+ attr_accessor :billing_frequency
355
+
356
+ sig { returns(MetronomeSDK::Subscription::SubscriptionRate::Product) }
357
+ attr_reader :product
358
+
359
+ sig do
360
+ params(
361
+ product:
362
+ MetronomeSDK::Subscription::SubscriptionRate::Product::OrHash
363
+ ).void
364
+ end
365
+ attr_writer :product
366
+
367
+ sig do
368
+ params(
369
+ billing_frequency:
370
+ MetronomeSDK::Subscription::SubscriptionRate::BillingFrequency::OrSymbol,
371
+ product:
372
+ MetronomeSDK::Subscription::SubscriptionRate::Product::OrHash
373
+ ).returns(T.attached_class)
374
+ end
375
+ def self.new(billing_frequency:, product:)
376
+ end
377
+
378
+ sig do
379
+ override.returns(
380
+ {
381
+ billing_frequency:
382
+ MetronomeSDK::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol,
383
+ product: MetronomeSDK::Subscription::SubscriptionRate::Product
384
+ }
385
+ )
386
+ end
387
+ def to_hash
388
+ end
389
+
390
+ module BillingFrequency
391
+ extend MetronomeSDK::Internal::Type::Enum
392
+
393
+ TaggedSymbol =
394
+ T.type_alias do
395
+ T.all(
396
+ Symbol,
397
+ MetronomeSDK::Subscription::SubscriptionRate::BillingFrequency
398
+ )
399
+ end
400
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
401
+
402
+ MONTHLY =
403
+ T.let(
404
+ :MONTHLY,
405
+ MetronomeSDK::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
406
+ )
407
+ QUARTERLY =
408
+ T.let(
409
+ :QUARTERLY,
410
+ MetronomeSDK::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
411
+ )
412
+ ANNUAL =
413
+ T.let(
414
+ :ANNUAL,
415
+ MetronomeSDK::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
416
+ )
417
+ WEEKLY =
418
+ T.let(
419
+ :WEEKLY,
420
+ MetronomeSDK::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
421
+ )
422
+
423
+ sig do
424
+ override.returns(
425
+ T::Array[
426
+ MetronomeSDK::Subscription::SubscriptionRate::BillingFrequency::TaggedSymbol
427
+ ]
428
+ )
429
+ end
430
+ def self.values
431
+ end
432
+ end
433
+
434
+ class Product < MetronomeSDK::Internal::Type::BaseModel
435
+ OrHash =
436
+ T.type_alias do
437
+ T.any(
438
+ MetronomeSDK::Subscription::SubscriptionRate::Product,
439
+ MetronomeSDK::Internal::AnyHash
440
+ )
441
+ end
442
+
443
+ sig { returns(String) }
444
+ attr_accessor :id
445
+
446
+ sig { returns(String) }
447
+ attr_accessor :name
448
+
449
+ sig { params(id: String, name: String).returns(T.attached_class) }
450
+ def self.new(id:, name:)
451
+ end
452
+
453
+ sig { override.returns({ id: String, name: String }) }
454
+ def to_hash
455
+ end
456
+ end
457
+ end
458
+ end
459
+ end
460
+ end
@@ -0,0 +1,61 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class UpdateBaseThresholdCommit < MetronomeSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ MetronomeSDK::UpdateBaseThresholdCommit,
10
+ MetronomeSDK::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(T.nilable(String)) }
15
+ attr_reader :description
16
+
17
+ sig { params(description: String).void }
18
+ attr_writer :description
19
+
20
+ # Specify the name of the line item for the threshold charge. If left blank, it
21
+ # will default to the commit product name.
22
+ sig { returns(T.nilable(String)) }
23
+ attr_reader :name
24
+
25
+ sig { params(name: String).void }
26
+ attr_writer :name
27
+
28
+ # The commit product that will be used to generate the line item for commit
29
+ # payment.
30
+ sig { returns(T.nilable(String)) }
31
+ attr_reader :product_id
32
+
33
+ sig { params(product_id: String).void }
34
+ attr_writer :product_id
35
+
36
+ sig do
37
+ params(description: String, name: String, product_id: String).returns(
38
+ T.attached_class
39
+ )
40
+ end
41
+ def self.new(
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
+ # The commit product that will be used to generate the line item for commit
47
+ # payment.
48
+ product_id: nil
49
+ )
50
+ end
51
+
52
+ sig do
53
+ override.returns(
54
+ { description: String, name: String, product_id: String }
55
+ )
56
+ end
57
+ def to_hash
58
+ end
59
+ end
60
+ end
61
+ end
@@ -423,11 +423,14 @@ module MetronomeSDK
423
423
  sig { returns(String) }
424
424
  attr_accessor :key
425
425
 
426
- sig { returns(String) }
427
- attr_accessor :value
426
+ sig { returns(T.nilable(String)) }
427
+ attr_reader :value
428
+
429
+ sig { params(value: String).void }
430
+ attr_writer :value
428
431
 
429
432
  sig { params(key: String, value: String).returns(T.attached_class) }
430
- def self.new(key:, value:)
433
+ def self.new(key:, value: nil)
431
434
  end
432
435
 
433
436
  sig { override.returns({ key: String, value: String }) }
@@ -55,6 +55,7 @@ module MetronomeSDK
55
55
  sig { params(archived_at: Time).void }
56
56
  attr_writer :archived_at
57
57
 
58
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
58
59
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
59
60
  attr_reader :custom_fields
60
61
 
@@ -127,6 +128,7 @@ module MetronomeSDK
127
128
  # RFC 3339 timestamp indicating when the billable metric was archived. If not
128
129
  # provided, the billable metric is not archived.
129
130
  archived_at: nil,
131
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
130
132
  custom_fields: nil,
131
133
  # An optional filtering rule to match the 'event_type' property of an event.
132
134
  event_type_filter: nil,
@@ -99,6 +99,7 @@ module MetronomeSDK
99
99
  sig { params(archived_at: Time).void }
100
100
  attr_writer :archived_at
101
101
 
102
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
102
103
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
103
104
  attr_reader :custom_fields
104
105
 
@@ -173,6 +174,7 @@ module MetronomeSDK
173
174
  # RFC 3339 timestamp indicating when the billable metric was archived. If not
174
175
  # provided, the billable metric is not archived.
175
176
  archived_at: nil,
177
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
176
178
  custom_fields: nil,
177
179
  # An optional filtering rule to match the 'event_type' property of an event.
178
180
  event_type_filter: nil,