metronome-sdk 0.3.0 → 2.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 (363) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +91 -0
  3. data/README.md +9 -9
  4. data/lib/metronome_sdk/errors.rb +25 -11
  5. data/lib/metronome_sdk/file_part.rb +10 -7
  6. data/lib/metronome_sdk/internal/body_cursor_page.rb +86 -0
  7. data/lib/metronome_sdk/internal/cursor_page.rb +1 -1
  8. data/lib/metronome_sdk/internal/cursor_page_without_limit.rb +86 -0
  9. data/lib/metronome_sdk/internal/transport/base_client.rb +12 -11
  10. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +8 -19
  11. data/lib/metronome_sdk/internal/type/base_model.rb +6 -13
  12. data/lib/metronome_sdk/internal/type/base_page.rb +1 -1
  13. data/lib/metronome_sdk/internal/type/enum.rb +25 -0
  14. data/lib/metronome_sdk/internal/type/file_input.rb +7 -4
  15. data/lib/metronome_sdk/internal/type/union.rb +11 -0
  16. data/lib/metronome_sdk/internal/util.rb +9 -8
  17. data/lib/metronome_sdk/models/base_threshold_commit.rb +36 -0
  18. data/lib/metronome_sdk/models/commit.rb +26 -170
  19. data/lib/metronome_sdk/models/commit_hierarchy_configuration.rb +98 -0
  20. data/lib/metronome_sdk/models/commit_rate.rb +48 -0
  21. data/lib/metronome_sdk/models/commit_specifier.rb +42 -0
  22. data/lib/metronome_sdk/models/commit_specifier_input.rb +42 -0
  23. data/lib/metronome_sdk/models/contract.rb +404 -0
  24. data/lib/metronome_sdk/models/contract_v2.rb +3169 -0
  25. data/lib/metronome_sdk/models/contract_without_amendments.rb +38 -1128
  26. data/lib/metronome_sdk/models/credit.rb +9 -156
  27. data/lib/metronome_sdk/models/discount.rb +2 -1
  28. data/lib/metronome_sdk/models/hierarchy_configuration.rb +173 -0
  29. data/lib/metronome_sdk/models/override.rb +6 -101
  30. data/lib/metronome_sdk/models/override_tier.rb +21 -0
  31. data/lib/metronome_sdk/models/overwrite_rate.rb +82 -0
  32. data/lib/metronome_sdk/models/payment_gate_config.rb +150 -0
  33. data/lib/metronome_sdk/models/payment_gate_config_v2.rb +150 -0
  34. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +100 -0
  35. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +102 -0
  36. data/lib/metronome_sdk/models/pro_service.rb +2 -1
  37. data/lib/metronome_sdk/models/recurring_commit_subscription_config.rb +51 -0
  38. data/lib/metronome_sdk/models/scheduled_charge.rb +2 -1
  39. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +44 -0
  40. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +44 -0
  41. data/lib/metronome_sdk/models/subscription.rb +311 -0
  42. data/lib/metronome_sdk/models/update_base_threshold_commit.rb +36 -0
  43. data/lib/metronome_sdk/models/v1/alert_archive_params.rb +8 -4
  44. data/lib/metronome_sdk/models/v1/alert_create_params.rb +42 -42
  45. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +1 -2
  46. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +3 -3
  47. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +4 -7
  48. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +58 -411
  49. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +7 -16
  50. data/lib/metronome_sdk/models/v1/contract_create_params.rb +315 -1459
  51. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +6 -23
  52. data/lib/metronome_sdk/models/v1/contract_list_response.rb +3 -1153
  53. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +2 -6
  54. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +5 -50
  55. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +3 -1154
  56. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +1 -3
  57. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +2 -1
  58. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +8 -1
  59. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +8 -1
  60. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +1 -4
  61. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +4 -7
  62. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +10 -1
  63. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +2 -6
  64. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +5 -50
  65. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +10 -1
  66. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +1 -3
  67. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +1 -3
  68. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -61
  69. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +3 -49
  70. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +4 -51
  71. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +2 -6
  72. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +5 -49
  73. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +103 -123
  74. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +3 -5
  75. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +1 -3
  76. data/lib/metronome_sdk/models/v1/custom_field_list_keys_response.rb +41 -58
  77. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +5 -1
  78. data/lib/metronome_sdk/models/v1/customer.rb +2 -1
  79. data/lib/metronome_sdk/models/v1/customer_create_params.rb +37 -11
  80. data/lib/metronome_sdk/models/v1/customer_detail.rb +11 -2
  81. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +3 -3
  82. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +6 -18
  83. data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +3 -3
  84. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rb +28 -0
  85. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rb +128 -0
  86. data/lib/metronome_sdk/models/v1/customer_set_billing_configurations_params.rb +143 -0
  87. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +4 -6
  88. data/lib/metronome_sdk/models/v1/customers/alert_reset_params.rb +2 -2
  89. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +37 -8
  90. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +2 -0
  91. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +2 -0
  92. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +10 -60
  93. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +6 -48
  94. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +48 -54
  95. data/lib/metronome_sdk/models/v1/customers/invoice.rb +197 -66
  96. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +1 -4
  97. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_pdf_params.rb +30 -0
  98. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +2 -6
  99. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +2 -1
  100. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +4 -11
  101. data/lib/metronome_sdk/models/v1/payment.rb +151 -0
  102. data/lib/metronome_sdk/models/v1/payment_attempt_params.rb +28 -0
  103. data/lib/metronome_sdk/models/v1/payment_attempt_response.rb +18 -0
  104. data/lib/metronome_sdk/models/v1/payment_cancel_params.rb +28 -0
  105. data/lib/metronome_sdk/models/v1/payment_cancel_response.rb +18 -0
  106. data/lib/metronome_sdk/models/v1/payment_list_params.rb +53 -0
  107. data/lib/metronome_sdk/models/v1/payment_status.rb +19 -0
  108. data/lib/metronome_sdk/models/v1/plan_detail.rb +9 -5
  109. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +2 -1
  110. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +2 -1
  111. data/lib/metronome_sdk/models/v1/plan_list_response.rb +5 -1
  112. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +1 -4
  113. data/lib/metronome_sdk/models/v1/usage_list_params.rb +1 -3
  114. data/lib/metronome_sdk/models/v1/usage_list_response.rb +45 -62
  115. data/lib/metronome_sdk/models/v1/usage_search_response.rb +4 -7
  116. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +37 -58
  117. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +34 -49
  118. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +552 -2265
  119. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +417 -2317
  120. data/lib/metronome_sdk/models/v2/contract_list_response.rb +3 -4520
  121. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +3 -4528
  122. data/lib/metronome_sdk/models.rb +38 -0
  123. data/lib/metronome_sdk/resources/v1/alerts.rb +90 -16
  124. data/lib/metronome_sdk/resources/v1/audit_logs.rb +39 -4
  125. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +54 -4
  126. data/lib/metronome_sdk/resources/v1/contracts/products.rb +25 -6
  127. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +7 -2
  128. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +10 -2
  129. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +109 -10
  130. data/lib/metronome_sdk/resources/v1/contracts.rb +255 -18
  131. data/lib/metronome_sdk/resources/v1/credit_grants.rb +2 -1
  132. data/lib/metronome_sdk/resources/v1/custom_fields.rb +51 -14
  133. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +127 -13
  134. data/lib/metronome_sdk/resources/v1/customers/commits.rb +119 -9
  135. data/lib/metronome_sdk/resources/v1/customers/credits.rb +104 -8
  136. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +179 -8
  137. data/lib/metronome_sdk/resources/v1/customers.rb +175 -15
  138. data/lib/metronome_sdk/resources/v1/dashboards.rb +29 -3
  139. data/lib/metronome_sdk/resources/v1/invoices.rb +23 -2
  140. data/lib/metronome_sdk/resources/v1/payments.rb +102 -0
  141. data/lib/metronome_sdk/resources/v1/pricing_units.rb +6 -1
  142. data/lib/metronome_sdk/resources/v1/services.rb +6 -4
  143. data/lib/metronome_sdk/resources/v1/usage.rb +188 -13
  144. data/lib/metronome_sdk/resources/v1.rb +4 -0
  145. data/lib/metronome_sdk/resources/v2/contracts.rb +120 -18
  146. data/lib/metronome_sdk/version.rb +1 -1
  147. data/lib/metronome_sdk.rb +33 -3
  148. data/rbi/metronome_sdk/errors.rbi +31 -4
  149. data/rbi/metronome_sdk/file_part.rbi +1 -1
  150. data/rbi/metronome_sdk/internal/body_cursor_page.rbi +22 -0
  151. data/rbi/metronome_sdk/internal/cursor_page_without_limit.rbi +22 -0
  152. data/rbi/metronome_sdk/internal/transport/base_client.rbi +4 -5
  153. data/rbi/metronome_sdk/internal/type/base_page.rbi +1 -1
  154. data/rbi/metronome_sdk/internal/util.rbi +1 -1
  155. data/rbi/metronome_sdk/models/base_threshold_commit.rbi +58 -0
  156. data/rbi/metronome_sdk/models/commit.rbi +26 -348
  157. data/rbi/metronome_sdk/models/commit_hierarchy_configuration.rbi +280 -0
  158. data/rbi/metronome_sdk/models/commit_rate.rbi +85 -0
  159. data/rbi/metronome_sdk/models/commit_specifier.rbi +71 -0
  160. data/rbi/metronome_sdk/models/commit_specifier_input.rbi +74 -0
  161. data/rbi/metronome_sdk/models/contract.rbi +768 -0
  162. data/rbi/metronome_sdk/models/contract_v2.rbi +6415 -0
  163. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +186 -2509
  164. data/rbi/metronome_sdk/models/credit.rbi +10 -348
  165. data/rbi/metronome_sdk/models/discount.rbi +2 -0
  166. data/rbi/metronome_sdk/models/hierarchy_configuration.rbi +424 -0
  167. data/rbi/metronome_sdk/models/override.rbi +8 -193
  168. data/rbi/metronome_sdk/models/override_tier.rbi +29 -0
  169. data/rbi/metronome_sdk/models/overwrite_rate.rbi +137 -0
  170. data/rbi/metronome_sdk/models/payment_gate_config.rbi +317 -0
  171. data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +326 -0
  172. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +183 -0
  173. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +188 -0
  174. data/rbi/metronome_sdk/models/pro_service.rbi +2 -0
  175. data/rbi/metronome_sdk/models/recurring_commit_subscription_config.rbi +125 -0
  176. data/rbi/metronome_sdk/models/scheduled_charge.rbi +2 -0
  177. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +76 -0
  178. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -0
  179. data/rbi/metronome_sdk/models/subscription.rbi +635 -0
  180. data/rbi/metronome_sdk/models/update_base_threshold_commit.rbi +61 -0
  181. data/rbi/metronome_sdk/models/v1/alert_archive_params.rbi +6 -4
  182. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +57 -50
  183. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +2 -0
  184. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +2 -0
  185. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +49 -768
  186. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbi +2 -0
  187. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1843 -4119
  188. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +8 -59
  189. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +5 -2420
  190. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +6 -129
  191. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +4 -2419
  192. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +2 -0
  193. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +2 -0
  194. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +2 -0
  195. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_params.rbi +2 -0
  196. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +2 -0
  197. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +6 -129
  198. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +2 -0
  199. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +4 -129
  200. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +4 -129
  201. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +4 -129
  202. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +6 -129
  203. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +147 -198
  204. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +2 -0
  205. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +117 -165
  206. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +8 -1
  207. data/rbi/metronome_sdk/models/v1/customer.rbi +2 -0
  208. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +88 -3
  209. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +10 -0
  210. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +2 -0
  211. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +6 -21
  212. data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +10 -9
  213. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbi +51 -0
  214. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbi +265 -0
  215. data/rbi/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbi +348 -0
  216. data/rbi/metronome_sdk/models/v1/customers/alert_list_params.rbi +4 -4
  217. data/rbi/metronome_sdk/models/v1/customers/alert_reset_params.rbi +2 -2
  218. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +68 -8
  219. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +10 -0
  220. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +10 -0
  221. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +6 -90
  222. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +6 -90
  223. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +54 -47
  224. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +316 -68
  225. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_pdf_params.rbi +50 -0
  226. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +2 -0
  227. data/rbi/metronome_sdk/models/v1/payment.rbi +316 -0
  228. data/rbi/metronome_sdk/models/v1/payment_attempt_params.rbi +48 -0
  229. data/rbi/metronome_sdk/models/v1/payment_attempt_response.rbi +35 -0
  230. data/rbi/metronome_sdk/models/v1/payment_cancel_params.rbi +48 -0
  231. data/rbi/metronome_sdk/models/v1/payment_cancel_response.rbi +35 -0
  232. data/rbi/metronome_sdk/models/v1/payment_list_params.rbi +91 -0
  233. data/rbi/metronome_sdk/models/v1/payment_status.rbi +33 -0
  234. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +2 -0
  235. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +2 -0
  236. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +2 -0
  237. data/rbi/metronome_sdk/models/v1/plan_list_response.rbi +8 -1
  238. data/rbi/metronome_sdk/models/v1/usage_list_response.rbi +45 -86
  239. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +2 -0
  240. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +74 -76
  241. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +74 -76
  242. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +3875 -7234
  243. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1733 -6207
  244. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +5 -9867
  245. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +6 -9866
  246. data/rbi/metronome_sdk/models.rbi +44 -0
  247. data/rbi/metronome_sdk/resources/v1/alerts.rbi +101 -27
  248. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +39 -4
  249. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +54 -4
  250. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +25 -5
  251. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +7 -2
  252. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +10 -3
  253. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +109 -9
  254. data/rbi/metronome_sdk/resources/v1/contracts.rbi +258 -16
  255. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +5 -1
  256. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +57 -14
  257. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +133 -11
  258. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +119 -10
  259. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +104 -9
  260. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +159 -7
  261. data/rbi/metronome_sdk/resources/v1/customers.rbi +162 -14
  262. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +29 -3
  263. data/rbi/metronome_sdk/resources/v1/invoices.rbi +23 -2
  264. data/rbi/metronome_sdk/resources/v1/payments.rbi +72 -0
  265. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +6 -1
  266. data/rbi/metronome_sdk/resources/v1/services.rbi +6 -4
  267. data/rbi/metronome_sdk/resources/v1/usage.rbi +191 -13
  268. data/rbi/metronome_sdk/resources/v1.rbi +3 -0
  269. data/rbi/metronome_sdk/resources/v2/contracts.rbi +134 -23
  270. data/sig/metronome_sdk/errors.rbs +7 -0
  271. data/sig/metronome_sdk/file_part.rbs +1 -1
  272. data/sig/metronome_sdk/internal/body_cursor_page.rbs +13 -0
  273. data/sig/metronome_sdk/internal/cursor_page_without_limit.rbs +13 -0
  274. data/sig/metronome_sdk/models/base_threshold_commit.rbs +26 -0
  275. data/sig/metronome_sdk/models/commit.rbs +17 -170
  276. data/sig/metronome_sdk/models/commit_hierarchy_configuration.rbs +117 -0
  277. data/sig/metronome_sdk/models/commit_rate.rbs +48 -0
  278. data/sig/metronome_sdk/models/commit_specifier.rbs +47 -0
  279. data/sig/metronome_sdk/models/commit_specifier_input.rbs +47 -0
  280. data/sig/metronome_sdk/models/contract.rbs +398 -0
  281. data/sig/metronome_sdk/models/contract_v2.rbs +3108 -0
  282. data/sig/metronome_sdk/models/contract_without_amendments.rbs +54 -976
  283. data/sig/metronome_sdk/models/credit.rbs +12 -170
  284. data/sig/metronome_sdk/models/hierarchy_configuration.rbs +152 -0
  285. data/sig/metronome_sdk/models/override.rbs +12 -101
  286. data/sig/metronome_sdk/models/override_tier.rbs +17 -0
  287. data/sig/metronome_sdk/models/overwrite_rate.rbs +78 -0
  288. data/sig/metronome_sdk/models/payment_gate_config.rbs +124 -0
  289. data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +124 -0
  290. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +82 -0
  291. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +82 -0
  292. data/sig/metronome_sdk/models/recurring_commit_subscription_config.rbs +51 -0
  293. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +35 -0
  294. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +35 -0
  295. data/sig/metronome_sdk/models/subscription.rbs +295 -0
  296. data/sig/metronome_sdk/models/update_base_threshold_commit.rbs +28 -0
  297. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +4 -2
  298. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +26 -341
  299. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +219 -1184
  300. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +4 -25
  301. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +4 -1041
  302. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +6 -54
  303. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +4 -1041
  304. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +6 -54
  305. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +6 -54
  306. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +6 -54
  307. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +6 -54
  308. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +6 -54
  309. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +72 -94
  310. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +53 -75
  311. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +31 -4
  312. data/sig/metronome_sdk/models/v1/customer_detail.rbs +5 -0
  313. data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +0 -7
  314. data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +6 -4
  315. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbs +32 -0
  316. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbs +113 -0
  317. data/sig/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbs +133 -0
  318. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +21 -0
  319. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +7 -1
  320. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +6 -1
  321. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +6 -50
  322. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +6 -50
  323. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +4 -2
  324. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +137 -24
  325. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_pdf_params.rbs +32 -0
  326. data/sig/metronome_sdk/models/v1/payment.rbs +191 -0
  327. data/sig/metronome_sdk/models/v1/payment_attempt_params.rbs +30 -0
  328. data/sig/metronome_sdk/models/v1/payment_attempt_response.rbs +15 -0
  329. data/sig/metronome_sdk/models/v1/payment_cancel_params.rbs +30 -0
  330. data/sig/metronome_sdk/models/v1/payment_cancel_response.rbs +15 -0
  331. data/sig/metronome_sdk/models/v1/payment_list_params.rbs +56 -0
  332. data/sig/metronome_sdk/models/v1/payment_status.rbs +19 -0
  333. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +33 -55
  334. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +28 -43
  335. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +28 -43
  336. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +412 -1793
  337. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +342 -2149
  338. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +4 -4426
  339. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +4 -4426
  340. data/sig/metronome_sdk/models.rbs +38 -0
  341. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  342. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -3
  343. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -1
  344. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +1 -1
  345. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +2 -1
  346. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +2 -2
  347. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +2 -2
  348. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +6 -0
  349. data/sig/metronome_sdk/resources/v1/customers.rbs +11 -0
  350. data/sig/metronome_sdk/resources/v1/payments.rbs +30 -0
  351. data/sig/metronome_sdk/resources/v1/usage.rbs +1 -1
  352. data/sig/metronome_sdk/resources/v1.rbs +2 -0
  353. data/sig/metronome_sdk/resources/v2/contracts.rbs +10 -4
  354. metadata +101 -11
  355. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +0 -29
  356. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +0 -26
  357. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +0 -26
  358. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +0 -46
  359. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +0 -45
  360. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +0 -45
  361. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +0 -29
  362. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +0 -26
  363. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +0 -26
@@ -13,14 +13,14 @@ module MetronomeSDK
13
13
  contract: MetronomeSDK::Credit::Contract,
14
14
  custom_fields: ::Hash[Symbol, String],
15
15
  description: String,
16
- hierarchy_configuration: MetronomeSDK::Credit::HierarchyConfiguration,
16
+ hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
17
17
  ledger: ::Array[MetronomeSDK::Models::Credit::ledger],
18
18
  name: String,
19
19
  netsuite_sales_order_id: String,
20
20
  priority: Float,
21
21
  rate_type: MetronomeSDK::Models::Credit::rate_type,
22
22
  salesforce_opportunity_id: String,
23
- specifiers: ::Array[MetronomeSDK::Credit::Specifier],
23
+ specifiers: ::Array[MetronomeSDK::CommitSpecifier],
24
24
  uniqueness_key: String
25
25
  }
26
26
 
@@ -67,11 +67,11 @@ module MetronomeSDK
67
67
 
68
68
  def description=: (String) -> String
69
69
 
70
- attr_reader hierarchy_configuration: MetronomeSDK::Credit::HierarchyConfiguration?
70
+ attr_reader hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration?
71
71
 
72
72
  def hierarchy_configuration=: (
73
- MetronomeSDK::Credit::HierarchyConfiguration
74
- ) -> MetronomeSDK::Credit::HierarchyConfiguration
73
+ MetronomeSDK::CommitHierarchyConfiguration
74
+ ) -> MetronomeSDK::CommitHierarchyConfiguration
75
75
 
76
76
  attr_reader ledger: ::Array[MetronomeSDK::Models::Credit::ledger]?
77
77
 
@@ -101,11 +101,11 @@ module MetronomeSDK
101
101
 
102
102
  def salesforce_opportunity_id=: (String) -> String
103
103
 
104
- attr_reader specifiers: ::Array[MetronomeSDK::Credit::Specifier]?
104
+ attr_reader specifiers: ::Array[MetronomeSDK::CommitSpecifier]?
105
105
 
106
106
  def specifiers=: (
107
- ::Array[MetronomeSDK::Credit::Specifier]
108
- ) -> ::Array[MetronomeSDK::Credit::Specifier]
107
+ ::Array[MetronomeSDK::CommitSpecifier]
108
+ ) -> ::Array[MetronomeSDK::CommitSpecifier]
109
109
 
110
110
  attr_reader uniqueness_key: String?
111
111
 
@@ -123,14 +123,14 @@ module MetronomeSDK
123
123
  ?contract: MetronomeSDK::Credit::Contract,
124
124
  ?custom_fields: ::Hash[Symbol, String],
125
125
  ?description: String,
126
- ?hierarchy_configuration: MetronomeSDK::Credit::HierarchyConfiguration,
126
+ ?hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
127
127
  ?ledger: ::Array[MetronomeSDK::Models::Credit::ledger],
128
128
  ?name: String,
129
129
  ?netsuite_sales_order_id: String,
130
130
  ?priority: Float,
131
131
  ?rate_type: MetronomeSDK::Models::Credit::rate_type,
132
132
  ?salesforce_opportunity_id: String,
133
- ?specifiers: ::Array[MetronomeSDK::Credit::Specifier],
133
+ ?specifiers: ::Array[MetronomeSDK::CommitSpecifier],
134
134
  ?uniqueness_key: String
135
135
  ) -> void
136
136
 
@@ -146,14 +146,14 @@ module MetronomeSDK
146
146
  contract: MetronomeSDK::Credit::Contract,
147
147
  custom_fields: ::Hash[Symbol, String],
148
148
  description: String,
149
- hierarchy_configuration: MetronomeSDK::Credit::HierarchyConfiguration,
149
+ hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
150
150
  ledger: ::Array[MetronomeSDK::Models::Credit::ledger],
151
151
  name: String,
152
152
  netsuite_sales_order_id: String,
153
153
  priority: Float,
154
154
  rate_type: MetronomeSDK::Models::Credit::rate_type,
155
155
  salesforce_opportunity_id: String,
156
- specifiers: ::Array[MetronomeSDK::Credit::Specifier],
156
+ specifiers: ::Array[MetronomeSDK::CommitSpecifier],
157
157
  uniqueness_key: String
158
158
  }
159
159
 
@@ -189,120 +189,6 @@ module MetronomeSDK
189
189
  def to_hash: -> { id: String }
190
190
  end
191
191
 
192
- type hierarchy_configuration =
193
- {
194
- child_access: MetronomeSDK::Models::Credit::HierarchyConfiguration::child_access
195
- }
196
-
197
- class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
198
- attr_accessor child_access: MetronomeSDK::Models::Credit::HierarchyConfiguration::child_access
199
-
200
- def initialize: (
201
- child_access: MetronomeSDK::Models::Credit::HierarchyConfiguration::child_access
202
- ) -> void
203
-
204
- def to_hash: -> {
205
- child_access: MetronomeSDK::Models::Credit::HierarchyConfiguration::child_access
206
- }
207
-
208
- type child_access =
209
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
210
- | MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
211
- | MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
212
-
213
- module ChildAccess
214
- extend MetronomeSDK::Internal::Type::Union
215
-
216
- type commit_hierarchy_child_access_all =
217
- {
218
- type: MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
219
- }
220
-
221
- class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
222
- attr_accessor type: MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
223
-
224
- def initialize: (
225
- type: MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
226
- ) -> void
227
-
228
- def to_hash: -> {
229
- type: MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
230
- }
231
-
232
- type type_ = :ALL
233
-
234
- module Type
235
- extend MetronomeSDK::Internal::Type::Enum
236
-
237
- ALL: :ALL
238
-
239
- def self?.values: -> ::Array[MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_]
240
- end
241
- end
242
-
243
- type commit_hierarchy_child_access_none =
244
- {
245
- type: MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
246
- }
247
-
248
- class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
249
- attr_accessor type: MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
250
-
251
- def initialize: (
252
- type: MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
253
- ) -> void
254
-
255
- def to_hash: -> {
256
- type: MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
257
- }
258
-
259
- type type_ = :NONE
260
-
261
- module Type
262
- extend MetronomeSDK::Internal::Type::Enum
263
-
264
- NONE: :NONE
265
-
266
- def self?.values: -> ::Array[MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_]
267
- end
268
- end
269
-
270
- type commit_hierarchy_child_access_contract_ids =
271
- {
272
- contract_ids: ::Array[String],
273
- type: MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
274
- }
275
-
276
- class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
277
- attr_accessor contract_ids: ::Array[String]
278
-
279
- attr_accessor type: MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
280
-
281
- def initialize: (
282
- contract_ids: ::Array[String],
283
- type: MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
284
- ) -> void
285
-
286
- def to_hash: -> {
287
- contract_ids: ::Array[String],
288
- type: MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
289
- }
290
-
291
- type type_ = :CONTRACT_IDS
292
-
293
- module Type
294
- extend MetronomeSDK::Internal::Type::Enum
295
-
296
- CONTRACT_IDS: :CONTRACT_IDS
297
-
298
- def self?.values: -> ::Array[MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_]
299
- end
300
- end
301
-
302
- def self?.variants: -> ::Array[MetronomeSDK::Models::Credit::HierarchyConfiguration::child_access]
303
- end
304
- end
305
-
306
192
  type ledger =
307
193
  MetronomeSDK::Credit::Ledger::CreditSegmentStartLedgerEntry
308
194
  | MetronomeSDK::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry
@@ -658,50 +544,6 @@ module MetronomeSDK
658
544
 
659
545
  def self?.values: -> ::Array[MetronomeSDK::Models::Credit::rate_type]
660
546
  end
661
-
662
- type specifier =
663
- {
664
- presentation_group_values: ::Hash[Symbol, String],
665
- pricing_group_values: ::Hash[Symbol, String],
666
- product_id: String,
667
- product_tags: ::Array[String]
668
- }
669
-
670
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
671
- attr_reader presentation_group_values: ::Hash[Symbol, String]?
672
-
673
- def presentation_group_values=: (
674
- ::Hash[Symbol, String]
675
- ) -> ::Hash[Symbol, String]
676
-
677
- attr_reader pricing_group_values: ::Hash[Symbol, String]?
678
-
679
- def pricing_group_values=: (
680
- ::Hash[Symbol, String]
681
- ) -> ::Hash[Symbol, String]
682
-
683
- attr_reader product_id: String?
684
-
685
- def product_id=: (String) -> String
686
-
687
- attr_reader product_tags: ::Array[String]?
688
-
689
- def product_tags=: (::Array[String]) -> ::Array[String]
690
-
691
- def initialize: (
692
- ?presentation_group_values: ::Hash[Symbol, String],
693
- ?pricing_group_values: ::Hash[Symbol, String],
694
- ?product_id: String,
695
- ?product_tags: ::Array[String]
696
- ) -> void
697
-
698
- def to_hash: -> {
699
- presentation_group_values: ::Hash[Symbol, String],
700
- pricing_group_values: ::Hash[Symbol, String],
701
- product_id: String,
702
- product_tags: ::Array[String]
703
- }
704
- end
705
547
  end
706
548
  end
707
549
  end
@@ -0,0 +1,152 @@
1
+ module MetronomeSDK
2
+ module Models
3
+ type hierarchy_configuration =
4
+ MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration
5
+ | MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration
6
+
7
+ module HierarchyConfiguration
8
+ extend MetronomeSDK::Internal::Type::Union
9
+
10
+ type parent_hierarchy_configuration =
11
+ {
12
+ children: ::Array[MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::Child],
13
+ parent_behavior: MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior
14
+ }
15
+
16
+ class ParentHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
17
+ attr_accessor children: ::Array[MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::Child]
18
+
19
+ attr_reader parent_behavior: MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior?
20
+
21
+ def parent_behavior=: (
22
+ MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior
23
+ ) -> MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior
24
+
25
+ def initialize: (
26
+ children: ::Array[MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::Child],
27
+ ?parent_behavior: MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior
28
+ ) -> void
29
+
30
+ def to_hash: -> {
31
+ children: ::Array[MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::Child],
32
+ parent_behavior: MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior
33
+ }
34
+
35
+ type child = { contract_id: String, customer_id: String }
36
+
37
+ class Child < MetronomeSDK::Internal::Type::BaseModel
38
+ attr_accessor contract_id: String
39
+
40
+ attr_accessor customer_id: String
41
+
42
+ def initialize: (contract_id: String, customer_id: String) -> void
43
+
44
+ def to_hash: -> { contract_id: String, customer_id: String }
45
+ end
46
+
47
+ type parent_behavior =
48
+ {
49
+ invoice_consolidation_type: MetronomeSDK::Models::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::invoice_consolidation_type
50
+ }
51
+
52
+ class ParentBehavior < MetronomeSDK::Internal::Type::BaseModel
53
+ attr_reader invoice_consolidation_type: MetronomeSDK::Models::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::invoice_consolidation_type?
54
+
55
+ def invoice_consolidation_type=: (
56
+ MetronomeSDK::Models::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::invoice_consolidation_type
57
+ ) -> MetronomeSDK::Models::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::invoice_consolidation_type
58
+
59
+ def initialize: (
60
+ ?invoice_consolidation_type: MetronomeSDK::Models::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::invoice_consolidation_type
61
+ ) -> void
62
+
63
+ def to_hash: -> {
64
+ invoice_consolidation_type: MetronomeSDK::Models::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::invoice_consolidation_type
65
+ }
66
+
67
+ type invoice_consolidation_type = :CONCATENATE | :NONE
68
+
69
+ module InvoiceConsolidationType
70
+ extend MetronomeSDK::Internal::Type::Enum
71
+
72
+ CONCATENATE: :CONCATENATE
73
+ NONE: :NONE
74
+
75
+ def self?.values: -> ::Array[MetronomeSDK::Models::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::invoice_consolidation_type]
76
+ end
77
+ end
78
+ end
79
+
80
+ type child_hierarchy_configuration =
81
+ {
82
+ parent: MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::Parent,
83
+ payer: MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::payer,
84
+ usage_statement_behavior: MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::usage_statement_behavior
85
+ }
86
+
87
+ class ChildHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
88
+ attr_accessor parent: MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::Parent
89
+
90
+ attr_reader payer: MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::payer?
91
+
92
+ def payer=: (
93
+ MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::payer
94
+ ) -> MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::payer
95
+
96
+ attr_reader usage_statement_behavior: MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::usage_statement_behavior?
97
+
98
+ def usage_statement_behavior=: (
99
+ MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::usage_statement_behavior
100
+ ) -> MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::usage_statement_behavior
101
+
102
+ def initialize: (
103
+ parent: MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::Parent,
104
+ ?payer: MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::payer,
105
+ ?usage_statement_behavior: MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::usage_statement_behavior
106
+ ) -> void
107
+
108
+ def to_hash: -> {
109
+ parent: MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::Parent,
110
+ payer: MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::payer,
111
+ usage_statement_behavior: MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::usage_statement_behavior
112
+ }
113
+
114
+ type parent = { contract_id: String, customer_id: String }
115
+
116
+ class Parent < MetronomeSDK::Internal::Type::BaseModel
117
+ attr_accessor contract_id: String
118
+
119
+ attr_accessor customer_id: String
120
+
121
+ def initialize: (contract_id: String, customer_id: String) -> void
122
+
123
+ def to_hash: -> { contract_id: String, customer_id: String }
124
+ end
125
+
126
+ type payer = :SELF | :PARENT
127
+
128
+ module Payer
129
+ extend MetronomeSDK::Internal::Type::Enum
130
+
131
+ SELF: :SELF
132
+ PARENT: :PARENT
133
+
134
+ def self?.values: -> ::Array[MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::payer]
135
+ end
136
+
137
+ type usage_statement_behavior = :CONSOLIDATE | :SEPARATE
138
+
139
+ module UsageStatementBehavior
140
+ extend MetronomeSDK::Internal::Type::Enum
141
+
142
+ CONSOLIDATE: :CONSOLIDATE
143
+ SEPARATE: :SEPARATE
144
+
145
+ def self?.values: -> ::Array[MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::usage_statement_behavior]
146
+ end
147
+ end
148
+
149
+ def self?.variants: -> ::Array[MetronomeSDK::Models::hierarchy_configuration]
150
+ end
151
+ end
152
+ end
@@ -12,8 +12,8 @@ module MetronomeSDK
12
12
  is_prorated: bool,
13
13
  multiplier: Float,
14
14
  override_specifiers: ::Array[MetronomeSDK::Override::OverrideSpecifier],
15
- override_tiers: ::Array[MetronomeSDK::Override::OverrideTier],
16
- overwrite_rate: MetronomeSDK::Override::OverwriteRate,
15
+ override_tiers: ::Array[MetronomeSDK::OverrideTier],
16
+ overwrite_rate: MetronomeSDK::OverwriteRate,
17
17
  price: Float,
18
18
  priority: Float,
19
19
  product: MetronomeSDK::Override::Product,
@@ -66,17 +66,17 @@ module MetronomeSDK
66
66
  ::Array[MetronomeSDK::Override::OverrideSpecifier]
67
67
  ) -> ::Array[MetronomeSDK::Override::OverrideSpecifier]
68
68
 
69
- attr_reader override_tiers: ::Array[MetronomeSDK::Override::OverrideTier]?
69
+ attr_reader override_tiers: ::Array[MetronomeSDK::OverrideTier]?
70
70
 
71
71
  def override_tiers=: (
72
- ::Array[MetronomeSDK::Override::OverrideTier]
73
- ) -> ::Array[MetronomeSDK::Override::OverrideTier]
72
+ ::Array[MetronomeSDK::OverrideTier]
73
+ ) -> ::Array[MetronomeSDK::OverrideTier]
74
74
 
75
- attr_reader overwrite_rate: MetronomeSDK::Override::OverwriteRate?
75
+ attr_reader overwrite_rate: MetronomeSDK::OverwriteRate?
76
76
 
77
77
  def overwrite_rate=: (
78
- MetronomeSDK::Override::OverwriteRate
79
- ) -> MetronomeSDK::Override::OverwriteRate
78
+ MetronomeSDK::OverwriteRate
79
+ ) -> MetronomeSDK::OverwriteRate
80
80
 
81
81
  attr_reader price: Float?
82
82
 
@@ -133,8 +133,8 @@ module MetronomeSDK
133
133
  ?is_prorated: bool,
134
134
  ?multiplier: Float,
135
135
  ?override_specifiers: ::Array[MetronomeSDK::Override::OverrideSpecifier],
136
- ?override_tiers: ::Array[MetronomeSDK::Override::OverrideTier],
137
- ?overwrite_rate: MetronomeSDK::Override::OverwriteRate,
136
+ ?override_tiers: ::Array[MetronomeSDK::OverrideTier],
137
+ ?overwrite_rate: MetronomeSDK::OverwriteRate,
138
138
  ?price: Float,
139
139
  ?priority: Float,
140
140
  ?product: MetronomeSDK::Override::Product,
@@ -157,8 +157,8 @@ module MetronomeSDK
157
157
  is_prorated: bool,
158
158
  multiplier: Float,
159
159
  override_specifiers: ::Array[MetronomeSDK::Override::OverrideSpecifier],
160
- override_tiers: ::Array[MetronomeSDK::Override::OverrideTier],
161
- overwrite_rate: MetronomeSDK::Override::OverwriteRate,
160
+ override_tiers: ::Array[MetronomeSDK::OverrideTier],
161
+ overwrite_rate: MetronomeSDK::OverwriteRate,
162
162
  price: Float,
163
163
  priority: Float,
164
164
  product: MetronomeSDK::Override::Product,
@@ -257,95 +257,6 @@ module MetronomeSDK
257
257
  end
258
258
  end
259
259
 
260
- type override_tier = { multiplier: Float, size: Float }
261
-
262
- class OverrideTier < MetronomeSDK::Internal::Type::BaseModel
263
- attr_accessor multiplier: Float
264
-
265
- attr_reader size: Float?
266
-
267
- def size=: (Float) -> Float
268
-
269
- def initialize: (multiplier: Float, ?size: Float) -> void
270
-
271
- def to_hash: -> { multiplier: Float, size: Float }
272
- end
273
-
274
- type overwrite_rate =
275
- {
276
- rate_type: MetronomeSDK::Models::Override::OverwriteRate::rate_type,
277
- credit_type: MetronomeSDK::CreditTypeData,
278
- custom_rate: ::Hash[Symbol, top],
279
- is_prorated: bool,
280
- price: Float,
281
- quantity: Float,
282
- tiers: ::Array[MetronomeSDK::Tier]
283
- }
284
-
285
- class OverwriteRate < MetronomeSDK::Internal::Type::BaseModel
286
- attr_accessor rate_type: MetronomeSDK::Models::Override::OverwriteRate::rate_type
287
-
288
- attr_reader credit_type: MetronomeSDK::CreditTypeData?
289
-
290
- def credit_type=: (
291
- MetronomeSDK::CreditTypeData
292
- ) -> MetronomeSDK::CreditTypeData
293
-
294
- attr_reader custom_rate: ::Hash[Symbol, top]?
295
-
296
- def custom_rate=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
297
-
298
- attr_reader is_prorated: bool?
299
-
300
- def is_prorated=: (bool) -> bool
301
-
302
- attr_reader price: Float?
303
-
304
- def price=: (Float) -> Float
305
-
306
- attr_reader quantity: Float?
307
-
308
- def quantity=: (Float) -> Float
309
-
310
- attr_reader tiers: ::Array[MetronomeSDK::Tier]?
311
-
312
- def tiers=: (::Array[MetronomeSDK::Tier]) -> ::Array[MetronomeSDK::Tier]
313
-
314
- def initialize: (
315
- rate_type: MetronomeSDK::Models::Override::OverwriteRate::rate_type,
316
- ?credit_type: MetronomeSDK::CreditTypeData,
317
- ?custom_rate: ::Hash[Symbol, top],
318
- ?is_prorated: bool,
319
- ?price: Float,
320
- ?quantity: Float,
321
- ?tiers: ::Array[MetronomeSDK::Tier]
322
- ) -> void
323
-
324
- def to_hash: -> {
325
- rate_type: MetronomeSDK::Models::Override::OverwriteRate::rate_type,
326
- credit_type: MetronomeSDK::CreditTypeData,
327
- custom_rate: ::Hash[Symbol, top],
328
- is_prorated: bool,
329
- price: Float,
330
- quantity: Float,
331
- tiers: ::Array[MetronomeSDK::Tier]
332
- }
333
-
334
- type rate_type = :FLAT | :PERCENTAGE | :SUBSCRIPTION | :TIERED | :CUSTOM
335
-
336
- module RateType
337
- extend MetronomeSDK::Internal::Type::Enum
338
-
339
- FLAT: :FLAT
340
- PERCENTAGE: :PERCENTAGE
341
- SUBSCRIPTION: :SUBSCRIPTION
342
- TIERED: :TIERED
343
- CUSTOM: :CUSTOM
344
-
345
- def self?.values: -> ::Array[MetronomeSDK::Models::Override::OverwriteRate::rate_type]
346
- end
347
- end
348
-
349
260
  type product = { id: String, name: String }
350
261
 
351
262
  class Product < MetronomeSDK::Internal::Type::BaseModel
@@ -0,0 +1,17 @@
1
+ module MetronomeSDK
2
+ module Models
3
+ type override_tier = { multiplier: Float, size: Float }
4
+
5
+ class OverrideTier < MetronomeSDK::Internal::Type::BaseModel
6
+ attr_accessor multiplier: Float
7
+
8
+ attr_reader size: Float?
9
+
10
+ def size=: (Float) -> Float
11
+
12
+ def initialize: (multiplier: Float, ?size: Float) -> void
13
+
14
+ def to_hash: -> { multiplier: Float, size: Float }
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,78 @@
1
+ module MetronomeSDK
2
+ module Models
3
+ type overwrite_rate =
4
+ {
5
+ rate_type: MetronomeSDK::Models::OverwriteRate::rate_type,
6
+ credit_type: MetronomeSDK::CreditTypeData,
7
+ custom_rate: ::Hash[Symbol, top],
8
+ is_prorated: bool,
9
+ price: Float,
10
+ quantity: Float,
11
+ tiers: ::Array[MetronomeSDK::Tier]
12
+ }
13
+
14
+ class OverwriteRate < MetronomeSDK::Internal::Type::BaseModel
15
+ attr_accessor rate_type: MetronomeSDK::Models::OverwriteRate::rate_type
16
+
17
+ attr_reader credit_type: MetronomeSDK::CreditTypeData?
18
+
19
+ def credit_type=: (
20
+ MetronomeSDK::CreditTypeData
21
+ ) -> MetronomeSDK::CreditTypeData
22
+
23
+ attr_reader custom_rate: ::Hash[Symbol, top]?
24
+
25
+ def custom_rate=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
26
+
27
+ attr_reader is_prorated: bool?
28
+
29
+ def is_prorated=: (bool) -> bool
30
+
31
+ attr_reader price: Float?
32
+
33
+ def price=: (Float) -> Float
34
+
35
+ attr_reader quantity: Float?
36
+
37
+ def quantity=: (Float) -> Float
38
+
39
+ attr_reader tiers: ::Array[MetronomeSDK::Tier]?
40
+
41
+ def tiers=: (::Array[MetronomeSDK::Tier]) -> ::Array[MetronomeSDK::Tier]
42
+
43
+ def initialize: (
44
+ rate_type: MetronomeSDK::Models::OverwriteRate::rate_type,
45
+ ?credit_type: MetronomeSDK::CreditTypeData,
46
+ ?custom_rate: ::Hash[Symbol, top],
47
+ ?is_prorated: bool,
48
+ ?price: Float,
49
+ ?quantity: Float,
50
+ ?tiers: ::Array[MetronomeSDK::Tier]
51
+ ) -> void
52
+
53
+ def to_hash: -> {
54
+ rate_type: MetronomeSDK::Models::OverwriteRate::rate_type,
55
+ credit_type: MetronomeSDK::CreditTypeData,
56
+ custom_rate: ::Hash[Symbol, top],
57
+ is_prorated: bool,
58
+ price: Float,
59
+ quantity: Float,
60
+ tiers: ::Array[MetronomeSDK::Tier]
61
+ }
62
+
63
+ type rate_type = :FLAT | :PERCENTAGE | :SUBSCRIPTION | :TIERED | :CUSTOM
64
+
65
+ module RateType
66
+ extend MetronomeSDK::Internal::Type::Enum
67
+
68
+ FLAT: :FLAT
69
+ PERCENTAGE: :PERCENTAGE
70
+ SUBSCRIPTION: :SUBSCRIPTION
71
+ TIERED: :TIERED
72
+ CUSTOM: :CUSTOM
73
+
74
+ def self?.values: -> ::Array[MetronomeSDK::Models::OverwriteRate::rate_type]
75
+ end
76
+ end
77
+ end
78
+ end