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
@@ -58,6 +58,7 @@ module MetronomeSDK
58
58
  optional :contract, -> { MetronomeSDK::Credit::Contract }
59
59
 
60
60
  # @!attribute custom_fields
61
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
61
62
  #
62
63
  # @return [Hash{Symbol=>String}, nil]
63
64
  optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -70,8 +71,8 @@ module MetronomeSDK
70
71
  # @!attribute hierarchy_configuration
71
72
  # Optional configuration for credit hierarchy access control
72
73
  #
73
- # @return [MetronomeSDK::Models::Credit::HierarchyConfiguration, nil]
74
- optional :hierarchy_configuration, -> { MetronomeSDK::Credit::HierarchyConfiguration }
74
+ # @return [MetronomeSDK::Models::CommitHierarchyConfiguration, nil]
75
+ optional :hierarchy_configuration, -> { MetronomeSDK::CommitHierarchyConfiguration }
75
76
 
76
77
  # @!attribute ledger
77
78
  # A list of ordered events that impact the balance of a credit. For example, an
@@ -114,8 +115,8 @@ module MetronomeSDK
114
115
  # or credit. A customer's usage needs to meet the condition of at least one of the
115
116
  # specifiers to contribute to a commit's or credit's drawdown.
116
117
  #
117
- # @return [Array<MetronomeSDK::Models::Credit::Specifier>, nil]
118
- optional :specifiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Credit::Specifier] }
118
+ # @return [Array<MetronomeSDK::Models::CommitSpecifier>, nil]
119
+ optional :specifiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifier] }
119
120
 
120
121
  # @!attribute uniqueness_key
121
122
  # Prevents the creation of duplicates. If a request to create a commit or credit
@@ -148,11 +149,11 @@ module MetronomeSDK
148
149
  #
149
150
  # @param contract [MetronomeSDK::Models::Credit::Contract]
150
151
  #
151
- # @param custom_fields [Hash{Symbol=>String}]
152
+ # @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
152
153
  #
153
154
  # @param description [String]
154
155
  #
155
- # @param hierarchy_configuration [MetronomeSDK::Models::Credit::HierarchyConfiguration] Optional configuration for credit hierarchy access control
156
+ # @param hierarchy_configuration [MetronomeSDK::Models::CommitHierarchyConfiguration] Optional configuration for credit hierarchy access control
156
157
  #
157
158
  # @param ledger [Array<MetronomeSDK::Models::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditManualLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry>] A list of ordered events that impact the balance of a credit. For example, an in
158
159
  #
@@ -166,7 +167,7 @@ module MetronomeSDK
166
167
  #
167
168
  # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
168
169
  #
169
- # @param specifiers [Array<MetronomeSDK::Models::Credit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
170
+ # @param specifiers [Array<MetronomeSDK::Models::CommitSpecifier>] List of filters that determine what kind of customer usage draws down a commit o
170
171
  #
171
172
  # @param uniqueness_key [String] Prevents the creation of duplicates. If a request to create a commit or credit i
172
173
 
@@ -208,114 +209,6 @@ module MetronomeSDK
208
209
  # @param id [String]
209
210
  end
210
211
 
211
- # @see MetronomeSDK::Models::Credit#hierarchy_configuration
212
- class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
213
- # @!attribute child_access
214
- #
215
- # @return [MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
216
- required :child_access, union: -> { MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess }
217
-
218
- # @!method initialize(child_access:)
219
- # Optional configuration for credit hierarchy access control
220
- #
221
- # @param child_access [MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
222
-
223
- # @see MetronomeSDK::Models::Credit::HierarchyConfiguration#child_access
224
- module ChildAccess
225
- extend MetronomeSDK::Internal::Type::Union
226
-
227
- variant -> {
228
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
229
- }
230
-
231
- variant -> {
232
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
233
- }
234
-
235
- variant -> {
236
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
237
- }
238
-
239
- class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
240
- # @!attribute type
241
- #
242
- # @return [Symbol, MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
243
- required :type,
244
- enum: -> {
245
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
246
- }
247
-
248
- # @!method initialize(type:)
249
- # @param type [Symbol, MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
250
-
251
- # @see MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
252
- module Type
253
- extend MetronomeSDK::Internal::Type::Enum
254
-
255
- ALL = :ALL
256
-
257
- # @!method self.values
258
- # @return [Array<Symbol>]
259
- end
260
- end
261
-
262
- class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
263
- # @!attribute type
264
- #
265
- # @return [Symbol, MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
266
- required :type,
267
- enum: -> {
268
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
269
- }
270
-
271
- # @!method initialize(type:)
272
- # @param type [Symbol, MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
273
-
274
- # @see MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
275
- module Type
276
- extend MetronomeSDK::Internal::Type::Enum
277
-
278
- NONE = :NONE
279
-
280
- # @!method self.values
281
- # @return [Array<Symbol>]
282
- end
283
- end
284
-
285
- class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
286
- # @!attribute contract_ids
287
- #
288
- # @return [Array<String>]
289
- required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
290
-
291
- # @!attribute type
292
- #
293
- # @return [Symbol, MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
294
- required :type,
295
- enum: -> {
296
- MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
297
- }
298
-
299
- # @!method initialize(contract_ids:, type:)
300
- # @param contract_ids [Array<String>]
301
- # @param type [Symbol, MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
302
-
303
- # @see MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
304
- module Type
305
- extend MetronomeSDK::Internal::Type::Enum
306
-
307
- CONTRACT_IDS = :CONTRACT_IDS
308
-
309
- # @!method self.values
310
- # @return [Array<Symbol>]
311
- end
312
- end
313
-
314
- # @!method self.variants
315
- # @return [Array(MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
316
- end
317
- end
318
-
319
212
  module Ledger
320
213
  extend MetronomeSDK::Internal::Type::Union
321
214
 
@@ -617,10 +510,7 @@ module MetronomeSDK
617
510
  # @!attribute type
618
511
  #
619
512
  # @return [Symbol, MetronomeSDK::Models::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type]
620
- required :type,
621
- enum: -> {
622
- MetronomeSDK::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type
623
- }
513
+ required :type, enum: -> { MetronomeSDK::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type }
624
514
 
625
515
  # @!method initialize(amount:, segment_id:, timestamp:, type:)
626
516
  # @param amount [Float]
@@ -653,43 +543,6 @@ module MetronomeSDK
653
543
  # @!method self.values
654
544
  # @return [Array<Symbol>]
655
545
  end
656
-
657
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
658
- # @!attribute presentation_group_values
659
- #
660
- # @return [Hash{Symbol=>String}, nil]
661
- optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
662
-
663
- # @!attribute pricing_group_values
664
- #
665
- # @return [Hash{Symbol=>String}, nil]
666
- optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
667
-
668
- # @!attribute product_id
669
- # If provided, the specifier will only apply to the product with the specified ID.
670
- #
671
- # @return [String, nil]
672
- optional :product_id, String
673
-
674
- # @!attribute product_tags
675
- # If provided, the specifier will only apply to products with all the specified
676
- # tags.
677
- #
678
- # @return [Array<String>, nil]
679
- optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
680
-
681
- # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
682
- # Some parameter documentations has been truncated, see
683
- # {MetronomeSDK::Models::Credit::Specifier} for more details.
684
- #
685
- # @param presentation_group_values [Hash{Symbol=>String}]
686
- #
687
- # @param pricing_group_values [Hash{Symbol=>String}]
688
- #
689
- # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
690
- #
691
- # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
692
- end
693
546
  end
694
547
  end
695
548
  end
@@ -19,6 +19,7 @@ module MetronomeSDK
19
19
  required :schedule, -> { MetronomeSDK::SchedulePointInTime }
20
20
 
21
21
  # @!attribute custom_fields
22
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
22
23
  #
23
24
  # @return [Hash{Symbol=>String}, nil]
24
25
  optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -41,7 +42,7 @@ module MetronomeSDK
41
42
  #
42
43
  # @param schedule [MetronomeSDK::Models::SchedulePointInTime]
43
44
  #
44
- # @param custom_fields [Hash{Symbol=>String}]
45
+ # @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
45
46
  #
46
47
  # @param name [String]
47
48
  #
@@ -0,0 +1,173 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ # Either a **parent** configuration with a list of children or a **child**
6
+ # configuration with a single parent.
7
+ module HierarchyConfiguration
8
+ extend MetronomeSDK::Internal::Type::Union
9
+
10
+ variant -> { MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration }
11
+
12
+ variant -> { MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration }
13
+
14
+ class ParentHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
15
+ # @!attribute children
16
+ # List of contracts that belong to this parent.
17
+ #
18
+ # @return [Array<MetronomeSDK::Models::HierarchyConfiguration::ParentHierarchyConfiguration::Child>]
19
+ required :children,
20
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::Child] }
21
+
22
+ # @!attribute parent_behavior
23
+ #
24
+ # @return [MetronomeSDK::Models::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior, nil]
25
+ optional :parent_behavior,
26
+ -> { MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior }
27
+
28
+ # @!method initialize(children:, parent_behavior: nil)
29
+ # @param children [Array<MetronomeSDK::Models::HierarchyConfiguration::ParentHierarchyConfiguration::Child>] List of contracts that belong to this parent.
30
+ #
31
+ # @param parent_behavior [MetronomeSDK::Models::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior]
32
+
33
+ class Child < MetronomeSDK::Internal::Type::BaseModel
34
+ # @!attribute contract_id
35
+ #
36
+ # @return [String]
37
+ required :contract_id, String
38
+
39
+ # @!attribute customer_id
40
+ #
41
+ # @return [String]
42
+ required :customer_id, String
43
+
44
+ # @!method initialize(contract_id:, customer_id:)
45
+ # @param contract_id [String]
46
+ # @param customer_id [String]
47
+ end
48
+
49
+ # @see MetronomeSDK::Models::HierarchyConfiguration::ParentHierarchyConfiguration#parent_behavior
50
+ class ParentBehavior < MetronomeSDK::Internal::Type::BaseModel
51
+ # @!attribute invoice_consolidation_type
52
+ # Indicates the desired behavior of consolidated invoices generated by the parent
53
+ # in a customer hierarchy **CONCATENATE**: Statements on the invoices of child
54
+ # customers will be appended to the consolidated invoice **NONE**: Do not generate
55
+ # consolidated invoices
56
+ #
57
+ # @return [Symbol, MetronomeSDK::Models::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::InvoiceConsolidationType, nil]
58
+ optional :invoice_consolidation_type,
59
+ enum: -> { MetronomeSDK::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::InvoiceConsolidationType }
60
+
61
+ # @!method initialize(invoice_consolidation_type: nil)
62
+ # Some parameter documentations has been truncated, see
63
+ # {MetronomeSDK::Models::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior}
64
+ # for more details.
65
+ #
66
+ # @param invoice_consolidation_type [Symbol, MetronomeSDK::Models::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::InvoiceConsolidationType] Indicates the desired behavior of consolidated invoices generated by the parent
67
+
68
+ # Indicates the desired behavior of consolidated invoices generated by the parent
69
+ # in a customer hierarchy **CONCATENATE**: Statements on the invoices of child
70
+ # customers will be appended to the consolidated invoice **NONE**: Do not generate
71
+ # consolidated invoices
72
+ #
73
+ # @see MetronomeSDK::Models::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior#invoice_consolidation_type
74
+ module InvoiceConsolidationType
75
+ extend MetronomeSDK::Internal::Type::Enum
76
+
77
+ CONCATENATE = :CONCATENATE
78
+ NONE = :NONE
79
+
80
+ # @!method self.values
81
+ # @return [Array<Symbol>]
82
+ end
83
+ end
84
+ end
85
+
86
+ class ChildHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
87
+ # @!attribute parent
88
+ # The single parent contract/customer for this child.
89
+ #
90
+ # @return [MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::Parent]
91
+ required :parent, -> { MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::Parent }
92
+
93
+ # @!attribute payer
94
+ # Indicates whether the parent should pay for the child's invoice charges
95
+ #
96
+ # @return [Symbol, MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::Payer, nil]
97
+ optional :payer, enum: -> { MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::Payer }
98
+
99
+ # @!attribute usage_statement_behavior
100
+ # Indicates the behavior of the child's invoice statements on the parent's
101
+ # invoices **CONSOLIDATE**: Child's invoice statements will be added to parent's
102
+ # consolidated invoices **SEPARATE**: Child's invoice statements will appear not
103
+ # appear on parent's consolidated invoices
104
+ #
105
+ # @return [Symbol, MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::UsageStatementBehavior, nil]
106
+ optional :usage_statement_behavior,
107
+ enum: -> { MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::UsageStatementBehavior }
108
+
109
+ # @!method initialize(parent:, payer: nil, usage_statement_behavior: nil)
110
+ # Some parameter documentations has been truncated, see
111
+ # {MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration} for
112
+ # more details.
113
+ #
114
+ # @param parent [MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::Parent] The single parent contract/customer for this child.
115
+ #
116
+ # @param payer [Symbol, MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::Payer] Indicates whether the parent should pay for the child's invoice charges
117
+ #
118
+ # @param usage_statement_behavior [Symbol, MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::UsageStatementBehavior] Indicates the behavior of the child's invoice statements on the parent's invoice
119
+
120
+ # @see MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration#parent
121
+ class Parent < MetronomeSDK::Internal::Type::BaseModel
122
+ # @!attribute contract_id
123
+ #
124
+ # @return [String]
125
+ required :contract_id, String
126
+
127
+ # @!attribute customer_id
128
+ #
129
+ # @return [String]
130
+ required :customer_id, String
131
+
132
+ # @!method initialize(contract_id:, customer_id:)
133
+ # The single parent contract/customer for this child.
134
+ #
135
+ # @param contract_id [String]
136
+ # @param customer_id [String]
137
+ end
138
+
139
+ # Indicates whether the parent should pay for the child's invoice charges
140
+ #
141
+ # @see MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration#payer
142
+ module Payer
143
+ extend MetronomeSDK::Internal::Type::Enum
144
+
145
+ SELF = :SELF
146
+ PARENT = :PARENT
147
+
148
+ # @!method self.values
149
+ # @return [Array<Symbol>]
150
+ end
151
+
152
+ # Indicates the behavior of the child's invoice statements on the parent's
153
+ # invoices **CONSOLIDATE**: Child's invoice statements will be added to parent's
154
+ # consolidated invoices **SEPARATE**: Child's invoice statements will appear not
155
+ # appear on parent's consolidated invoices
156
+ #
157
+ # @see MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration#usage_statement_behavior
158
+ module UsageStatementBehavior
159
+ extend MetronomeSDK::Internal::Type::Enum
160
+
161
+ CONSOLIDATE = :CONSOLIDATE
162
+ SEPARATE = :SEPARATE
163
+
164
+ # @!method self.values
165
+ # @return [Array<Symbol>]
166
+ end
167
+ end
168
+
169
+ # @!method self.variants
170
+ # @return [Array(MetronomeSDK::Models::HierarchyConfiguration::ParentHierarchyConfiguration, MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration)]
171
+ end
172
+ end
173
+ end
@@ -58,14 +58,13 @@ module MetronomeSDK
58
58
 
59
59
  # @!attribute override_tiers
60
60
  #
61
- # @return [Array<MetronomeSDK::Models::Override::OverrideTier>, nil]
62
- optional :override_tiers,
63
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Override::OverrideTier] }
61
+ # @return [Array<MetronomeSDK::Models::OverrideTier>, nil]
62
+ optional :override_tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::OverrideTier] }
64
63
 
65
64
  # @!attribute overwrite_rate
66
65
  #
67
- # @return [MetronomeSDK::Models::Override::OverwriteRate, nil]
68
- optional :overwrite_rate, -> { MetronomeSDK::Override::OverwriteRate }
66
+ # @return [MetronomeSDK::Models::OverwriteRate, nil]
67
+ optional :overwrite_rate, -> { MetronomeSDK::OverwriteRate }
69
68
 
70
69
  # @!attribute price
71
70
  # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
@@ -142,9 +141,9 @@ module MetronomeSDK
142
141
  #
143
142
  # @param override_specifiers [Array<MetronomeSDK::Models::Override::OverrideSpecifier>]
144
143
  #
145
- # @param override_tiers [Array<MetronomeSDK::Models::Override::OverrideTier>]
144
+ # @param override_tiers [Array<MetronomeSDK::Models::OverrideTier>]
146
145
  #
147
- # @param overwrite_rate [MetronomeSDK::Models::Override::OverwriteRate]
146
+ # @param overwrite_rate [MetronomeSDK::Models::OverwriteRate]
148
147
  #
149
148
  # @param price [Float] Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, t
150
149
  #
@@ -229,100 +228,6 @@ module MetronomeSDK
229
228
  end
230
229
  end
231
230
 
232
- class OverrideTier < MetronomeSDK::Internal::Type::BaseModel
233
- # @!attribute multiplier
234
- #
235
- # @return [Float]
236
- required :multiplier, Float
237
-
238
- # @!attribute size
239
- #
240
- # @return [Float, nil]
241
- optional :size, Float
242
-
243
- # @!method initialize(multiplier:, size: nil)
244
- # @param multiplier [Float]
245
- # @param size [Float]
246
- end
247
-
248
- # @see MetronomeSDK::Models::Override#overwrite_rate
249
- class OverwriteRate < MetronomeSDK::Internal::Type::BaseModel
250
- # @!attribute rate_type
251
- #
252
- # @return [Symbol, MetronomeSDK::Models::Override::OverwriteRate::RateType]
253
- required :rate_type, enum: -> { MetronomeSDK::Override::OverwriteRate::RateType }
254
-
255
- # @!attribute credit_type
256
- #
257
- # @return [MetronomeSDK::Models::CreditTypeData, nil]
258
- optional :credit_type, -> { MetronomeSDK::CreditTypeData }
259
-
260
- # @!attribute custom_rate
261
- # Only set for CUSTOM rate_type. This field is interpreted by custom rate
262
- # processors.
263
- #
264
- # @return [Hash{Symbol=>Object}, nil]
265
- optional :custom_rate, MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
266
-
267
- # @!attribute is_prorated
268
- # Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
269
- # set to true.
270
- #
271
- # @return [Boolean, nil]
272
- optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
273
-
274
- # @!attribute price
275
- # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
276
- # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
277
- #
278
- # @return [Float, nil]
279
- optional :price, Float
280
-
281
- # @!attribute quantity
282
- # Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
283
- #
284
- # @return [Float, nil]
285
- optional :quantity, Float
286
-
287
- # @!attribute tiers
288
- # Only set for TIERED rate_type.
289
- #
290
- # @return [Array<MetronomeSDK::Models::Tier>, nil]
291
- optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
292
-
293
- # @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
294
- # Some parameter documentations has been truncated, see
295
- # {MetronomeSDK::Models::Override::OverwriteRate} for more details.
296
- #
297
- # @param rate_type [Symbol, MetronomeSDK::Models::Override::OverwriteRate::RateType]
298
- #
299
- # @param credit_type [MetronomeSDK::Models::CreditTypeData]
300
- #
301
- # @param custom_rate [Hash{Symbol=>Object}] Only set for CUSTOM rate_type. This field is interpreted by custom rate processo
302
- #
303
- # @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
304
- #
305
- # @param price [Float] Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, t
306
- #
307
- # @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
308
- #
309
- # @param tiers [Array<MetronomeSDK::Models::Tier>] Only set for TIERED rate_type.
310
-
311
- # @see MetronomeSDK::Models::Override::OverwriteRate#rate_type
312
- module RateType
313
- extend MetronomeSDK::Internal::Type::Enum
314
-
315
- FLAT = :FLAT
316
- PERCENTAGE = :PERCENTAGE
317
- SUBSCRIPTION = :SUBSCRIPTION
318
- TIERED = :TIERED
319
- CUSTOM = :CUSTOM
320
-
321
- # @!method self.values
322
- # @return [Array<Symbol>]
323
- end
324
- end
325
-
326
231
  # @see MetronomeSDK::Models::Override#product
327
232
  class Product < MetronomeSDK::Internal::Type::BaseModel
328
233
  # @!attribute id
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class OverrideTier < MetronomeSDK::Internal::Type::BaseModel
6
+ # @!attribute multiplier
7
+ #
8
+ # @return [Float]
9
+ required :multiplier, Float
10
+
11
+ # @!attribute size
12
+ #
13
+ # @return [Float, nil]
14
+ optional :size, Float
15
+
16
+ # @!method initialize(multiplier:, size: nil)
17
+ # @param multiplier [Float]
18
+ # @param size [Float]
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,82 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class OverwriteRate < MetronomeSDK::Internal::Type::BaseModel
6
+ # @!attribute rate_type
7
+ #
8
+ # @return [Symbol, MetronomeSDK::Models::OverwriteRate::RateType]
9
+ required :rate_type, enum: -> { MetronomeSDK::OverwriteRate::RateType }
10
+
11
+ # @!attribute credit_type
12
+ #
13
+ # @return [MetronomeSDK::Models::CreditTypeData, nil]
14
+ optional :credit_type, -> { MetronomeSDK::CreditTypeData }
15
+
16
+ # @!attribute custom_rate
17
+ # Only set for CUSTOM rate_type. This field is interpreted by custom rate
18
+ # processors.
19
+ #
20
+ # @return [Hash{Symbol=>Object}, nil]
21
+ optional :custom_rate, MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
22
+
23
+ # @!attribute is_prorated
24
+ # Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
25
+ # set to true.
26
+ #
27
+ # @return [Boolean, nil]
28
+ optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
29
+
30
+ # @!attribute price
31
+ # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
32
+ # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
33
+ #
34
+ # @return [Float, nil]
35
+ optional :price, Float
36
+
37
+ # @!attribute quantity
38
+ # Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
39
+ #
40
+ # @return [Float, nil]
41
+ optional :quantity, Float
42
+
43
+ # @!attribute tiers
44
+ # Only set for TIERED rate_type.
45
+ #
46
+ # @return [Array<MetronomeSDK::Models::Tier>, nil]
47
+ optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
48
+
49
+ # @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
50
+ # Some parameter documentations has been truncated, see
51
+ # {MetronomeSDK::Models::OverwriteRate} for more details.
52
+ #
53
+ # @param rate_type [Symbol, MetronomeSDK::Models::OverwriteRate::RateType]
54
+ #
55
+ # @param credit_type [MetronomeSDK::Models::CreditTypeData]
56
+ #
57
+ # @param custom_rate [Hash{Symbol=>Object}] Only set for CUSTOM rate_type. This field is interpreted by custom rate processo
58
+ #
59
+ # @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
60
+ #
61
+ # @param price [Float] Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, t
62
+ #
63
+ # @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
64
+ #
65
+ # @param tiers [Array<MetronomeSDK::Models::Tier>] Only set for TIERED rate_type.
66
+
67
+ # @see MetronomeSDK::Models::OverwriteRate#rate_type
68
+ module RateType
69
+ extend MetronomeSDK::Internal::Type::Enum
70
+
71
+ FLAT = :FLAT
72
+ PERCENTAGE = :PERCENTAGE
73
+ SUBSCRIPTION = :SUBSCRIPTION
74
+ TIERED = :TIERED
75
+ CUSTOM = :CUSTOM
76
+
77
+ # @!method self.values
78
+ # @return [Array<Symbol>]
79
+ end
80
+ end
81
+ end
82
+ end