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,404 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
6
+ # @!attribute id
7
+ #
8
+ # @return [String]
9
+ required :id, String
10
+
11
+ # @!attribute amendments
12
+ #
13
+ # @return [Array<MetronomeSDK::Models::Contract::Amendment>]
14
+ required :amendments, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Contract::Amendment] }
15
+
16
+ # @!attribute current
17
+ #
18
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments]
19
+ required :current, -> { MetronomeSDK::ContractWithoutAmendments }
20
+
21
+ # @!attribute customer_id
22
+ #
23
+ # @return [String]
24
+ required :customer_id, String
25
+
26
+ # @!attribute initial
27
+ #
28
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments]
29
+ required :initial, -> { MetronomeSDK::ContractWithoutAmendments }
30
+
31
+ # @!attribute archived_at
32
+ # RFC 3339 timestamp indicating when the contract was archived. If not returned,
33
+ # the contract is not archived.
34
+ #
35
+ # @return [Time, nil]
36
+ optional :archived_at, Time
37
+
38
+ # @!attribute custom_fields
39
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
40
+ #
41
+ # @return [Hash{Symbol=>String}, nil]
42
+ optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
43
+
44
+ # @!attribute customer_billing_provider_configuration
45
+ # The billing provider configuration associated with a contract.
46
+ #
47
+ # @return [MetronomeSDK::Models::Contract::CustomerBillingProviderConfiguration, nil]
48
+ optional :customer_billing_provider_configuration,
49
+ -> { MetronomeSDK::Contract::CustomerBillingProviderConfiguration }
50
+
51
+ # @!attribute prepaid_balance_threshold_configuration
52
+ #
53
+ # @return [MetronomeSDK::Models::PrepaidBalanceThresholdConfiguration, nil]
54
+ optional :prepaid_balance_threshold_configuration,
55
+ -> { MetronomeSDK::PrepaidBalanceThresholdConfiguration }
56
+
57
+ # @!attribute priority
58
+ # Priority of the contract.
59
+ #
60
+ # @return [Float, nil]
61
+ optional :priority, Float
62
+
63
+ # @!attribute scheduled_charges_on_usage_invoices
64
+ # Determines which scheduled and commit charges to consolidate onto the Contract's
65
+ # usage invoice. The charge's `timestamp` must match the usage invoice's
66
+ # `ending_before` date for consolidation to occur. This field cannot be modified
67
+ # after a Contract has been created. If this field is omitted, charges will appear
68
+ # on a separate invoice from usage charges.
69
+ #
70
+ # @return [Symbol, MetronomeSDK::Models::Contract::ScheduledChargesOnUsageInvoices, nil]
71
+ optional :scheduled_charges_on_usage_invoices,
72
+ enum: -> { MetronomeSDK::Contract::ScheduledChargesOnUsageInvoices }
73
+
74
+ # @!attribute spend_threshold_configuration
75
+ #
76
+ # @return [MetronomeSDK::Models::SpendThresholdConfiguration, nil]
77
+ optional :spend_threshold_configuration, -> { MetronomeSDK::SpendThresholdConfiguration }
78
+
79
+ # @!attribute subscriptions
80
+ # List of subscriptions on the contract.
81
+ #
82
+ # @return [Array<MetronomeSDK::Models::Subscription>, nil]
83
+ optional :subscriptions, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Subscription] }
84
+
85
+ # @!attribute uniqueness_key
86
+ # Prevents the creation of duplicates. If a request to create a record is made
87
+ # with a previously used uniqueness key, a new record will not be created and the
88
+ # request will fail with a 409 error.
89
+ #
90
+ # @return [String, nil]
91
+ optional :uniqueness_key, String
92
+
93
+ # @!method initialize(id:, amendments:, current:, customer_id:, initial:, archived_at: nil, custom_fields: nil, customer_billing_provider_configuration: nil, prepaid_balance_threshold_configuration: nil, priority: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, subscriptions: nil, uniqueness_key: nil)
94
+ # Some parameter documentations has been truncated, see
95
+ # {MetronomeSDK::Models::Contract} for more details.
96
+ #
97
+ # @param id [String]
98
+ #
99
+ # @param amendments [Array<MetronomeSDK::Models::Contract::Amendment>]
100
+ #
101
+ # @param current [MetronomeSDK::Models::ContractWithoutAmendments]
102
+ #
103
+ # @param customer_id [String]
104
+ #
105
+ # @param initial [MetronomeSDK::Models::ContractWithoutAmendments]
106
+ #
107
+ # @param archived_at [Time] RFC 3339 timestamp indicating when the contract was archived. If not returned, t
108
+ #
109
+ # @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
110
+ #
111
+ # @param customer_billing_provider_configuration [MetronomeSDK::Models::Contract::CustomerBillingProviderConfiguration] The billing provider configuration associated with a contract.
112
+ #
113
+ # @param prepaid_balance_threshold_configuration [MetronomeSDK::Models::PrepaidBalanceThresholdConfiguration]
114
+ #
115
+ # @param priority [Float] Priority of the contract.
116
+ #
117
+ # @param scheduled_charges_on_usage_invoices [Symbol, MetronomeSDK::Models::Contract::ScheduledChargesOnUsageInvoices] Determines which scheduled and commit charges to consolidate onto the Contract's
118
+ #
119
+ # @param spend_threshold_configuration [MetronomeSDK::Models::SpendThresholdConfiguration]
120
+ #
121
+ # @param subscriptions [Array<MetronomeSDK::Models::Subscription>] List of subscriptions on the contract.
122
+ #
123
+ # @param uniqueness_key [String] Prevents the creation of duplicates. If a request to create a record is made wit
124
+
125
+ class Amendment < MetronomeSDK::Internal::Type::BaseModel
126
+ # @!attribute id
127
+ #
128
+ # @return [String]
129
+ required :id, String
130
+
131
+ # @!attribute commits
132
+ #
133
+ # @return [Array<MetronomeSDK::Models::Commit>]
134
+ required :commits, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Commit] }
135
+
136
+ # @!attribute created_at
137
+ #
138
+ # @return [Time]
139
+ required :created_at, Time
140
+
141
+ # @!attribute created_by
142
+ #
143
+ # @return [String]
144
+ required :created_by, String
145
+
146
+ # @!attribute overrides
147
+ #
148
+ # @return [Array<MetronomeSDK::Models::Override>]
149
+ required :overrides, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Override] }
150
+
151
+ # @!attribute scheduled_charges
152
+ #
153
+ # @return [Array<MetronomeSDK::Models::ScheduledCharge>]
154
+ required :scheduled_charges, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ScheduledCharge] }
155
+
156
+ # @!attribute starting_at
157
+ #
158
+ # @return [Time]
159
+ required :starting_at, Time
160
+
161
+ # @!attribute credits
162
+ #
163
+ # @return [Array<MetronomeSDK::Models::Credit>, nil]
164
+ optional :credits, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Credit] }
165
+
166
+ # @!attribute discounts
167
+ # This field's availability is dependent on your client's configuration.
168
+ #
169
+ # @return [Array<MetronomeSDK::Models::Discount>, nil]
170
+ optional :discounts, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Discount] }
171
+
172
+ # @!attribute netsuite_sales_order_id
173
+ # This field's availability is dependent on your client's configuration.
174
+ #
175
+ # @return [String, nil]
176
+ optional :netsuite_sales_order_id, String
177
+
178
+ # @!attribute professional_services
179
+ # This field's availability is dependent on your client's configuration.
180
+ #
181
+ # @return [Array<MetronomeSDK::Models::ProService>, nil]
182
+ optional :professional_services, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ProService] }
183
+
184
+ # @!attribute reseller_royalties
185
+ # This field's availability is dependent on your client's configuration.
186
+ #
187
+ # @return [Array<MetronomeSDK::Models::Contract::Amendment::ResellerRoyalty>, nil]
188
+ optional :reseller_royalties,
189
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Contract::Amendment::ResellerRoyalty] }
190
+
191
+ # @!attribute salesforce_opportunity_id
192
+ # This field's availability is dependent on your client's configuration.
193
+ #
194
+ # @return [String, nil]
195
+ optional :salesforce_opportunity_id, String
196
+
197
+ # @!method initialize(id:, commits:, created_at:, created_by:, overrides:, scheduled_charges:, starting_at:, credits: nil, discounts: nil, netsuite_sales_order_id: nil, professional_services: nil, reseller_royalties: nil, salesforce_opportunity_id: nil)
198
+ # @param id [String]
199
+ #
200
+ # @param commits [Array<MetronomeSDK::Models::Commit>]
201
+ #
202
+ # @param created_at [Time]
203
+ #
204
+ # @param created_by [String]
205
+ #
206
+ # @param overrides [Array<MetronomeSDK::Models::Override>]
207
+ #
208
+ # @param scheduled_charges [Array<MetronomeSDK::Models::ScheduledCharge>]
209
+ #
210
+ # @param starting_at [Time]
211
+ #
212
+ # @param credits [Array<MetronomeSDK::Models::Credit>]
213
+ #
214
+ # @param discounts [Array<MetronomeSDK::Models::Discount>] This field's availability is dependent on your client's configuration.
215
+ #
216
+ # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
217
+ #
218
+ # @param professional_services [Array<MetronomeSDK::Models::ProService>] This field's availability is dependent on your client's configuration.
219
+ #
220
+ # @param reseller_royalties [Array<MetronomeSDK::Models::Contract::Amendment::ResellerRoyalty>] This field's availability is dependent on your client's configuration.
221
+ #
222
+ # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
223
+
224
+ class ResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
225
+ # @!attribute reseller_type
226
+ #
227
+ # @return [Symbol, MetronomeSDK::Models::Contract::Amendment::ResellerRoyalty::ResellerType]
228
+ required :reseller_type, enum: -> { MetronomeSDK::Contract::Amendment::ResellerRoyalty::ResellerType }
229
+
230
+ # @!attribute aws_account_number
231
+ #
232
+ # @return [String, nil]
233
+ optional :aws_account_number, String
234
+
235
+ # @!attribute aws_offer_id
236
+ #
237
+ # @return [String, nil]
238
+ optional :aws_offer_id, String
239
+
240
+ # @!attribute aws_payer_reference_id
241
+ #
242
+ # @return [String, nil]
243
+ optional :aws_payer_reference_id, String
244
+
245
+ # @!attribute ending_before
246
+ #
247
+ # @return [Time, nil]
248
+ optional :ending_before, Time, nil?: true
249
+
250
+ # @!attribute fraction
251
+ #
252
+ # @return [Float, nil]
253
+ optional :fraction, Float
254
+
255
+ # @!attribute gcp_account_id
256
+ #
257
+ # @return [String, nil]
258
+ optional :gcp_account_id, String
259
+
260
+ # @!attribute gcp_offer_id
261
+ #
262
+ # @return [String, nil]
263
+ optional :gcp_offer_id, String
264
+
265
+ # @!attribute netsuite_reseller_id
266
+ #
267
+ # @return [String, nil]
268
+ optional :netsuite_reseller_id, String
269
+
270
+ # @!attribute reseller_contract_value
271
+ #
272
+ # @return [Float, nil]
273
+ optional :reseller_contract_value, Float
274
+
275
+ # @!attribute starting_at
276
+ #
277
+ # @return [Time, nil]
278
+ optional :starting_at, Time
279
+
280
+ # @!method initialize(reseller_type:, aws_account_number: nil, aws_offer_id: nil, aws_payer_reference_id: nil, ending_before: nil, fraction: nil, gcp_account_id: nil, gcp_offer_id: nil, netsuite_reseller_id: nil, reseller_contract_value: nil, starting_at: nil)
281
+ # @param reseller_type [Symbol, MetronomeSDK::Models::Contract::Amendment::ResellerRoyalty::ResellerType]
282
+ # @param aws_account_number [String]
283
+ # @param aws_offer_id [String]
284
+ # @param aws_payer_reference_id [String]
285
+ # @param ending_before [Time, nil]
286
+ # @param fraction [Float]
287
+ # @param gcp_account_id [String]
288
+ # @param gcp_offer_id [String]
289
+ # @param netsuite_reseller_id [String]
290
+ # @param reseller_contract_value [Float]
291
+ # @param starting_at [Time]
292
+
293
+ # @see MetronomeSDK::Models::Contract::Amendment::ResellerRoyalty#reseller_type
294
+ module ResellerType
295
+ extend MetronomeSDK::Internal::Type::Enum
296
+
297
+ AWS = :AWS
298
+ AWS_PRO_SERVICE = :AWS_PRO_SERVICE
299
+ GCP = :GCP
300
+ GCP_PRO_SERVICE = :GCP_PRO_SERVICE
301
+
302
+ # @!method self.values
303
+ # @return [Array<Symbol>]
304
+ end
305
+ end
306
+ end
307
+
308
+ # @see MetronomeSDK::Models::Contract#customer_billing_provider_configuration
309
+ class CustomerBillingProviderConfiguration < MetronomeSDK::Internal::Type::BaseModel
310
+ # @!attribute archived_at
311
+ #
312
+ # @return [Time, nil]
313
+ required :archived_at, Time, nil?: true
314
+
315
+ # @!attribute billing_provider
316
+ #
317
+ # @return [Symbol, MetronomeSDK::Models::Contract::CustomerBillingProviderConfiguration::BillingProvider]
318
+ required :billing_provider,
319
+ enum: -> { MetronomeSDK::Contract::CustomerBillingProviderConfiguration::BillingProvider }
320
+
321
+ # @!attribute delivery_method
322
+ #
323
+ # @return [Symbol, MetronomeSDK::Models::Contract::CustomerBillingProviderConfiguration::DeliveryMethod]
324
+ required :delivery_method,
325
+ enum: -> { MetronomeSDK::Contract::CustomerBillingProviderConfiguration::DeliveryMethod }
326
+
327
+ # @!attribute id
328
+ #
329
+ # @return [String, nil]
330
+ optional :id, String
331
+
332
+ # @!attribute configuration
333
+ # Configuration for the billing provider. The structure of this object is specific
334
+ # to the billing provider.
335
+ #
336
+ # @return [Hash{Symbol=>Object}, nil]
337
+ optional :configuration, MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
338
+
339
+ # @!method initialize(archived_at:, billing_provider:, delivery_method:, id: nil, configuration: nil)
340
+ # Some parameter documentations has been truncated, see
341
+ # {MetronomeSDK::Models::Contract::CustomerBillingProviderConfiguration} for more
342
+ # details.
343
+ #
344
+ # The billing provider configuration associated with a contract.
345
+ #
346
+ # @param archived_at [Time, nil]
347
+ #
348
+ # @param billing_provider [Symbol, MetronomeSDK::Models::Contract::CustomerBillingProviderConfiguration::BillingProvider]
349
+ #
350
+ # @param delivery_method [Symbol, MetronomeSDK::Models::Contract::CustomerBillingProviderConfiguration::DeliveryMethod]
351
+ #
352
+ # @param id [String]
353
+ #
354
+ # @param configuration [Hash{Symbol=>Object}] Configuration for the billing provider. The structure of this object is specific
355
+
356
+ # @see MetronomeSDK::Models::Contract::CustomerBillingProviderConfiguration#billing_provider
357
+ module BillingProvider
358
+ extend MetronomeSDK::Internal::Type::Enum
359
+
360
+ AWS_MARKETPLACE = :aws_marketplace
361
+ STRIPE = :stripe
362
+ NETSUITE = :netsuite
363
+ CUSTOM = :custom
364
+ AZURE_MARKETPLACE = :azure_marketplace
365
+ QUICKBOOKS_ONLINE = :quickbooks_online
366
+ WORKDAY = :workday
367
+ GCP_MARKETPLACE = :gcp_marketplace
368
+
369
+ # @!method self.values
370
+ # @return [Array<Symbol>]
371
+ end
372
+
373
+ # @see MetronomeSDK::Models::Contract::CustomerBillingProviderConfiguration#delivery_method
374
+ module DeliveryMethod
375
+ extend MetronomeSDK::Internal::Type::Enum
376
+
377
+ DIRECT_TO_BILLING_PROVIDER = :direct_to_billing_provider
378
+ AWS_SQS = :aws_sqs
379
+ TACKLE = :tackle
380
+ AWS_SNS = :aws_sns
381
+
382
+ # @!method self.values
383
+ # @return [Array<Symbol>]
384
+ end
385
+ end
386
+
387
+ # Determines which scheduled and commit charges to consolidate onto the Contract's
388
+ # usage invoice. The charge's `timestamp` must match the usage invoice's
389
+ # `ending_before` date for consolidation to occur. This field cannot be modified
390
+ # after a Contract has been created. If this field is omitted, charges will appear
391
+ # on a separate invoice from usage charges.
392
+ #
393
+ # @see MetronomeSDK::Models::Contract#scheduled_charges_on_usage_invoices
394
+ module ScheduledChargesOnUsageInvoices
395
+ extend MetronomeSDK::Internal::Type::Enum
396
+
397
+ ALL = :ALL
398
+
399
+ # @!method self.values
400
+ # @return [Array<Symbol>]
401
+ end
402
+ end
403
+ end
404
+ end