metronome-sdk 0.2.0 → 1.0.0

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