metronome-sdk 0.3.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (308) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -0
  3. data/README.md +9 -9
  4. data/lib/metronome_sdk/internal/body_cursor_page.rb +86 -0
  5. data/lib/metronome_sdk/internal/cursor_page_without_limit.rb +86 -0
  6. data/lib/metronome_sdk/internal/transport/base_client.rb +1 -4
  7. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +1 -9
  8. data/lib/metronome_sdk/internal/type/base_model.rb +6 -13
  9. data/lib/metronome_sdk/internal/type/union.rb +11 -0
  10. data/lib/metronome_sdk/internal/util.rb +1 -1
  11. data/lib/metronome_sdk/models/base_threshold_commit.rb +36 -0
  12. data/lib/metronome_sdk/models/commit.rb +26 -170
  13. data/lib/metronome_sdk/models/commit_hierarchy_configuration.rb +98 -0
  14. data/lib/metronome_sdk/models/commit_rate.rb +48 -0
  15. data/lib/metronome_sdk/models/commit_specifier.rb +42 -0
  16. data/lib/metronome_sdk/models/commit_specifier_input.rb +42 -0
  17. data/lib/metronome_sdk/models/contract.rb +404 -0
  18. data/lib/metronome_sdk/models/contract_v2.rb +2919 -0
  19. data/lib/metronome_sdk/models/contract_without_amendments.rb +36 -1126
  20. data/lib/metronome_sdk/models/credit.rb +9 -156
  21. data/lib/metronome_sdk/models/discount.rb +2 -1
  22. data/lib/metronome_sdk/models/hierarchy_configuration.rb +76 -0
  23. data/lib/metronome_sdk/models/override.rb +6 -101
  24. data/lib/metronome_sdk/models/override_tier.rb +21 -0
  25. data/lib/metronome_sdk/models/overwrite_rate.rb +82 -0
  26. data/lib/metronome_sdk/models/payment_gate_config.rb +149 -0
  27. data/lib/metronome_sdk/models/payment_gate_config_v2.rb +149 -0
  28. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +100 -0
  29. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +102 -0
  30. data/lib/metronome_sdk/models/pro_service.rb +2 -1
  31. data/lib/metronome_sdk/models/recurring_commit_subscription_config.rb +51 -0
  32. data/lib/metronome_sdk/models/scheduled_charge.rb +2 -1
  33. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +44 -0
  34. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +44 -0
  35. data/lib/metronome_sdk/models/subscription.rb +227 -0
  36. data/lib/metronome_sdk/models/update_base_threshold_commit.rb +36 -0
  37. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -6
  38. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +1 -2
  39. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +3 -3
  40. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +4 -7
  41. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +57 -411
  42. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +7 -16
  43. data/lib/metronome_sdk/models/v1/contract_create_params.rb +236 -1478
  44. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +6 -23
  45. data/lib/metronome_sdk/models/v1/contract_list_response.rb +3 -1153
  46. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +2 -6
  47. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +5 -50
  48. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +3 -1154
  49. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +1 -3
  50. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +2 -1
  51. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +8 -1
  52. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +8 -1
  53. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +1 -4
  54. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +4 -7
  55. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +10 -1
  56. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +2 -6
  57. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +5 -50
  58. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +10 -1
  59. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +1 -3
  60. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +1 -3
  61. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -61
  62. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +3 -49
  63. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +4 -51
  64. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +2 -6
  65. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +5 -49
  66. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +103 -123
  67. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +3 -5
  68. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +1 -3
  69. data/lib/metronome_sdk/models/v1/custom_field_list_keys_response.rb +41 -58
  70. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +5 -1
  71. data/lib/metronome_sdk/models/v1/customer.rb +2 -1
  72. data/lib/metronome_sdk/models/v1/customer_create_params.rb +37 -11
  73. data/lib/metronome_sdk/models/v1/customer_detail.rb +2 -1
  74. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +3 -3
  75. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +1 -3
  76. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rb +28 -0
  77. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rb +128 -0
  78. data/lib/metronome_sdk/models/v1/customer_set_billing_configurations_params.rb +143 -0
  79. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +1 -3
  80. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +30 -1
  81. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +2 -0
  82. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +2 -0
  83. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +10 -60
  84. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +6 -48
  85. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +8 -16
  86. data/lib/metronome_sdk/models/v1/customers/invoice.rb +61 -48
  87. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +1 -4
  88. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +2 -6
  89. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +2 -1
  90. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +4 -11
  91. data/lib/metronome_sdk/models/v1/plan_detail.rb +9 -5
  92. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +2 -1
  93. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +2 -1
  94. data/lib/metronome_sdk/models/v1/plan_list_response.rb +5 -1
  95. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +1 -4
  96. data/lib/metronome_sdk/models/v1/usage_list_params.rb +1 -3
  97. data/lib/metronome_sdk/models/v1/usage_list_response.rb +45 -62
  98. data/lib/metronome_sdk/models/v1/usage_search_response.rb +4 -7
  99. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +29 -58
  100. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +26 -49
  101. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +414 -2310
  102. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +337 -2424
  103. data/lib/metronome_sdk/models/v2/contract_list_response.rb +3 -4520
  104. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +3 -4528
  105. data/lib/metronome_sdk/models.rb +38 -0
  106. data/lib/metronome_sdk/resources/v1/alerts.rb +72 -2
  107. data/lib/metronome_sdk/resources/v1/audit_logs.rb +39 -4
  108. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +54 -4
  109. data/lib/metronome_sdk/resources/v1/contracts/products.rb +25 -6
  110. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +7 -2
  111. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +10 -2
  112. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +109 -10
  113. data/lib/metronome_sdk/resources/v1/contracts.rb +254 -18
  114. data/lib/metronome_sdk/resources/v1/credit_grants.rb +2 -1
  115. data/lib/metronome_sdk/resources/v1/custom_fields.rb +51 -14
  116. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +103 -8
  117. data/lib/metronome_sdk/resources/v1/customers/commits.rb +119 -9
  118. data/lib/metronome_sdk/resources/v1/customers/credits.rb +104 -8
  119. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +124 -8
  120. data/lib/metronome_sdk/resources/v1/customers.rb +169 -12
  121. data/lib/metronome_sdk/resources/v1/dashboards.rb +29 -3
  122. data/lib/metronome_sdk/resources/v1/invoices.rb +23 -2
  123. data/lib/metronome_sdk/resources/v1/pricing_units.rb +6 -1
  124. data/lib/metronome_sdk/resources/v1/services.rb +6 -4
  125. data/lib/metronome_sdk/resources/v1/usage.rb +185 -12
  126. data/lib/metronome_sdk/resources/v2/contracts.rb +114 -18
  127. data/lib/metronome_sdk/version.rb +1 -1
  128. data/lib/metronome_sdk.rb +24 -3
  129. data/rbi/metronome_sdk/errors.rbi +2 -2
  130. data/rbi/metronome_sdk/internal/body_cursor_page.rbi +22 -0
  131. data/rbi/metronome_sdk/internal/cursor_page_without_limit.rbi +22 -0
  132. data/rbi/metronome_sdk/models/base_threshold_commit.rbi +58 -0
  133. data/rbi/metronome_sdk/models/commit.rbi +26 -348
  134. data/rbi/metronome_sdk/models/commit_hierarchy_configuration.rbi +280 -0
  135. data/rbi/metronome_sdk/models/commit_rate.rbi +85 -0
  136. data/rbi/metronome_sdk/models/commit_specifier.rbi +71 -0
  137. data/rbi/metronome_sdk/models/commit_specifier_input.rbi +74 -0
  138. data/rbi/metronome_sdk/models/contract.rbi +768 -0
  139. data/rbi/metronome_sdk/models/contract_v2.rbi +5822 -0
  140. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +184 -2507
  141. data/rbi/metronome_sdk/models/credit.rbi +10 -348
  142. data/rbi/metronome_sdk/models/discount.rbi +2 -0
  143. data/rbi/metronome_sdk/models/hierarchy_configuration.rbi +180 -0
  144. data/rbi/metronome_sdk/models/override.rbi +8 -193
  145. data/rbi/metronome_sdk/models/override_tier.rbi +29 -0
  146. data/rbi/metronome_sdk/models/overwrite_rate.rbi +137 -0
  147. data/rbi/metronome_sdk/models/payment_gate_config.rbi +312 -0
  148. data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +321 -0
  149. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +183 -0
  150. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +188 -0
  151. data/rbi/metronome_sdk/models/pro_service.rbi +2 -0
  152. data/rbi/metronome_sdk/models/recurring_commit_subscription_config.rbi +125 -0
  153. data/rbi/metronome_sdk/models/scheduled_charge.rbi +2 -0
  154. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +76 -0
  155. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -0
  156. data/rbi/metronome_sdk/models/subscription.rbi +460 -0
  157. data/rbi/metronome_sdk/models/update_base_threshold_commit.rbi +61 -0
  158. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -3
  159. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +2 -0
  160. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +2 -0
  161. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +44 -768
  162. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbi +2 -0
  163. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1550 -4079
  164. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +8 -59
  165. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +5 -2420
  166. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +6 -129
  167. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +4 -2419
  168. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +2 -0
  169. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +2 -0
  170. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +2 -0
  171. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_params.rbi +2 -0
  172. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +2 -0
  173. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +6 -129
  174. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +2 -0
  175. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +4 -129
  176. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +4 -129
  177. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +4 -129
  178. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +6 -129
  179. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +147 -198
  180. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +2 -0
  181. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +117 -165
  182. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +8 -1
  183. data/rbi/metronome_sdk/models/v1/customer.rbi +2 -0
  184. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +88 -3
  185. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +2 -0
  186. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +2 -0
  187. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbi +51 -0
  188. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbi +265 -0
  189. data/rbi/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbi +348 -0
  190. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +60 -0
  191. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +10 -0
  192. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +10 -0
  193. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +6 -90
  194. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +6 -90
  195. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +6 -3
  196. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +70 -10
  197. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +2 -0
  198. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +2 -0
  199. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +2 -0
  200. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +2 -0
  201. data/rbi/metronome_sdk/models/v1/plan_list_response.rbi +8 -1
  202. data/rbi/metronome_sdk/models/v1/usage_list_response.rbi +45 -86
  203. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +2 -0
  204. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +56 -76
  205. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +56 -76
  206. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +3419 -7270
  207. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1140 -6062
  208. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +5 -9867
  209. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +6 -9866
  210. data/rbi/metronome_sdk/models.rbi +44 -0
  211. data/rbi/metronome_sdk/resources/v1/alerts.rbi +72 -2
  212. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +39 -4
  213. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +54 -4
  214. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +25 -5
  215. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +7 -2
  216. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +10 -3
  217. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +109 -9
  218. data/rbi/metronome_sdk/resources/v1/contracts.rbi +257 -16
  219. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +5 -1
  220. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +57 -14
  221. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +108 -5
  222. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +119 -10
  223. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +104 -9
  224. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +123 -7
  225. data/rbi/metronome_sdk/resources/v1/customers.rbi +156 -11
  226. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +29 -3
  227. data/rbi/metronome_sdk/resources/v1/invoices.rbi +23 -2
  228. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +6 -1
  229. data/rbi/metronome_sdk/resources/v1/services.rbi +6 -4
  230. data/rbi/metronome_sdk/resources/v1/usage.rbi +188 -12
  231. data/rbi/metronome_sdk/resources/v2/contracts.rbi +120 -23
  232. data/sig/metronome_sdk/internal/body_cursor_page.rbs +13 -0
  233. data/sig/metronome_sdk/internal/cursor_page_without_limit.rbs +13 -0
  234. data/sig/metronome_sdk/models/base_threshold_commit.rbs +26 -0
  235. data/sig/metronome_sdk/models/commit.rbs +17 -170
  236. data/sig/metronome_sdk/models/commit_hierarchy_configuration.rbs +117 -0
  237. data/sig/metronome_sdk/models/commit_rate.rbs +48 -0
  238. data/sig/metronome_sdk/models/commit_specifier.rbs +47 -0
  239. data/sig/metronome_sdk/models/commit_specifier_input.rbs +47 -0
  240. data/sig/metronome_sdk/models/contract.rbs +398 -0
  241. data/sig/metronome_sdk/models/contract_v2.rbs +2881 -0
  242. data/sig/metronome_sdk/models/contract_without_amendments.rbs +54 -976
  243. data/sig/metronome_sdk/models/credit.rbs +12 -170
  244. data/sig/metronome_sdk/models/hierarchy_configuration.rbs +71 -0
  245. data/sig/metronome_sdk/models/override.rbs +12 -101
  246. data/sig/metronome_sdk/models/override_tier.rbs +17 -0
  247. data/sig/metronome_sdk/models/overwrite_rate.rbs +78 -0
  248. data/sig/metronome_sdk/models/payment_gate_config.rbs +123 -0
  249. data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +123 -0
  250. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +82 -0
  251. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +82 -0
  252. data/sig/metronome_sdk/models/recurring_commit_subscription_config.rbs +51 -0
  253. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +35 -0
  254. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +35 -0
  255. data/sig/metronome_sdk/models/subscription.rbs +215 -0
  256. data/sig/metronome_sdk/models/update_base_threshold_commit.rbs +28 -0
  257. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +4 -2
  258. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +24 -340
  259. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +168 -1219
  260. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +4 -25
  261. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +4 -1041
  262. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +6 -54
  263. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +4 -1041
  264. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +6 -54
  265. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +6 -54
  266. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +6 -54
  267. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +6 -54
  268. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +6 -54
  269. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +72 -94
  270. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +53 -75
  271. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +31 -4
  272. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbs +32 -0
  273. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbs +113 -0
  274. data/sig/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbs +133 -0
  275. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +21 -0
  276. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +7 -1
  277. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +6 -1
  278. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +6 -50
  279. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +6 -50
  280. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +4 -2
  281. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +33 -55
  282. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +19 -43
  283. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +19 -43
  284. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +361 -1917
  285. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +242 -2252
  286. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +4 -4426
  287. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +4 -4426
  288. data/sig/metronome_sdk/models.rbs +38 -0
  289. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  290. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -3
  291. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -1
  292. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +1 -1
  293. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +2 -1
  294. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +2 -2
  295. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +2 -2
  296. data/sig/metronome_sdk/resources/v1/customers.rbs +11 -0
  297. data/sig/metronome_sdk/resources/v1/usage.rbs +1 -1
  298. data/sig/metronome_sdk/resources/v2/contracts.rbs +7 -4
  299. metadata +74 -11
  300. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +0 -29
  301. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +0 -26
  302. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +0 -26
  303. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +0 -46
  304. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +0 -45
  305. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +0 -45
  306. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +0 -29
  307. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +0 -26
  308. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +0 -26
@@ -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