metronome-sdk 0.3.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (308) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -0
  3. data/README.md +9 -9
  4. data/lib/metronome_sdk/internal/body_cursor_page.rb +86 -0
  5. data/lib/metronome_sdk/internal/cursor_page_without_limit.rb +86 -0
  6. data/lib/metronome_sdk/internal/transport/base_client.rb +1 -4
  7. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +1 -9
  8. data/lib/metronome_sdk/internal/type/base_model.rb +6 -13
  9. data/lib/metronome_sdk/internal/type/union.rb +11 -0
  10. data/lib/metronome_sdk/internal/util.rb +1 -1
  11. data/lib/metronome_sdk/models/base_threshold_commit.rb +36 -0
  12. data/lib/metronome_sdk/models/commit.rb +26 -170
  13. data/lib/metronome_sdk/models/commit_hierarchy_configuration.rb +98 -0
  14. data/lib/metronome_sdk/models/commit_rate.rb +48 -0
  15. data/lib/metronome_sdk/models/commit_specifier.rb +42 -0
  16. data/lib/metronome_sdk/models/commit_specifier_input.rb +42 -0
  17. data/lib/metronome_sdk/models/contract.rb +404 -0
  18. data/lib/metronome_sdk/models/contract_v2.rb +2919 -0
  19. data/lib/metronome_sdk/models/contract_without_amendments.rb +36 -1126
  20. data/lib/metronome_sdk/models/credit.rb +9 -156
  21. data/lib/metronome_sdk/models/discount.rb +2 -1
  22. data/lib/metronome_sdk/models/hierarchy_configuration.rb +76 -0
  23. data/lib/metronome_sdk/models/override.rb +6 -101
  24. data/lib/metronome_sdk/models/override_tier.rb +21 -0
  25. data/lib/metronome_sdk/models/overwrite_rate.rb +82 -0
  26. data/lib/metronome_sdk/models/payment_gate_config.rb +149 -0
  27. data/lib/metronome_sdk/models/payment_gate_config_v2.rb +149 -0
  28. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +100 -0
  29. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +102 -0
  30. data/lib/metronome_sdk/models/pro_service.rb +2 -1
  31. data/lib/metronome_sdk/models/recurring_commit_subscription_config.rb +51 -0
  32. data/lib/metronome_sdk/models/scheduled_charge.rb +2 -1
  33. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +44 -0
  34. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +44 -0
  35. data/lib/metronome_sdk/models/subscription.rb +227 -0
  36. data/lib/metronome_sdk/models/update_base_threshold_commit.rb +36 -0
  37. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -6
  38. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +1 -2
  39. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +3 -3
  40. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +4 -7
  41. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +57 -411
  42. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +7 -16
  43. data/lib/metronome_sdk/models/v1/contract_create_params.rb +236 -1478
  44. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +6 -23
  45. data/lib/metronome_sdk/models/v1/contract_list_response.rb +3 -1153
  46. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +2 -6
  47. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +5 -50
  48. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +3 -1154
  49. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +1 -3
  50. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +2 -1
  51. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +8 -1
  52. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +8 -1
  53. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +1 -4
  54. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +4 -7
  55. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +10 -1
  56. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +2 -6
  57. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +5 -50
  58. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +10 -1
  59. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +1 -3
  60. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +1 -3
  61. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -61
  62. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +3 -49
  63. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +4 -51
  64. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +2 -6
  65. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +5 -49
  66. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +103 -123
  67. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +3 -5
  68. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +1 -3
  69. data/lib/metronome_sdk/models/v1/custom_field_list_keys_response.rb +41 -58
  70. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +5 -1
  71. data/lib/metronome_sdk/models/v1/customer.rb +2 -1
  72. data/lib/metronome_sdk/models/v1/customer_create_params.rb +37 -11
  73. data/lib/metronome_sdk/models/v1/customer_detail.rb +2 -1
  74. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +3 -3
  75. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +1 -3
  76. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rb +28 -0
  77. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rb +128 -0
  78. data/lib/metronome_sdk/models/v1/customer_set_billing_configurations_params.rb +143 -0
  79. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +1 -3
  80. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +30 -1
  81. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +2 -0
  82. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +2 -0
  83. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +10 -60
  84. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +6 -48
  85. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +8 -16
  86. data/lib/metronome_sdk/models/v1/customers/invoice.rb +61 -48
  87. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +1 -4
  88. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +2 -6
  89. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +2 -1
  90. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +4 -11
  91. data/lib/metronome_sdk/models/v1/plan_detail.rb +9 -5
  92. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +2 -1
  93. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +2 -1
  94. data/lib/metronome_sdk/models/v1/plan_list_response.rb +5 -1
  95. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +1 -4
  96. data/lib/metronome_sdk/models/v1/usage_list_params.rb +1 -3
  97. data/lib/metronome_sdk/models/v1/usage_list_response.rb +45 -62
  98. data/lib/metronome_sdk/models/v1/usage_search_response.rb +4 -7
  99. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +29 -58
  100. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +26 -49
  101. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +414 -2310
  102. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +337 -2424
  103. data/lib/metronome_sdk/models/v2/contract_list_response.rb +3 -4520
  104. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +3 -4528
  105. data/lib/metronome_sdk/models.rb +38 -0
  106. data/lib/metronome_sdk/resources/v1/alerts.rb +72 -2
  107. data/lib/metronome_sdk/resources/v1/audit_logs.rb +39 -4
  108. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +54 -4
  109. data/lib/metronome_sdk/resources/v1/contracts/products.rb +25 -6
  110. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +7 -2
  111. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +10 -2
  112. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +109 -10
  113. data/lib/metronome_sdk/resources/v1/contracts.rb +254 -18
  114. data/lib/metronome_sdk/resources/v1/credit_grants.rb +2 -1
  115. data/lib/metronome_sdk/resources/v1/custom_fields.rb +51 -14
  116. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +103 -8
  117. data/lib/metronome_sdk/resources/v1/customers/commits.rb +119 -9
  118. data/lib/metronome_sdk/resources/v1/customers/credits.rb +104 -8
  119. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +124 -8
  120. data/lib/metronome_sdk/resources/v1/customers.rb +169 -12
  121. data/lib/metronome_sdk/resources/v1/dashboards.rb +29 -3
  122. data/lib/metronome_sdk/resources/v1/invoices.rb +23 -2
  123. data/lib/metronome_sdk/resources/v1/pricing_units.rb +6 -1
  124. data/lib/metronome_sdk/resources/v1/services.rb +6 -4
  125. data/lib/metronome_sdk/resources/v1/usage.rb +185 -12
  126. data/lib/metronome_sdk/resources/v2/contracts.rb +114 -18
  127. data/lib/metronome_sdk/version.rb +1 -1
  128. data/lib/metronome_sdk.rb +24 -3
  129. data/rbi/metronome_sdk/errors.rbi +2 -2
  130. data/rbi/metronome_sdk/internal/body_cursor_page.rbi +22 -0
  131. data/rbi/metronome_sdk/internal/cursor_page_without_limit.rbi +22 -0
  132. data/rbi/metronome_sdk/models/base_threshold_commit.rbi +58 -0
  133. data/rbi/metronome_sdk/models/commit.rbi +26 -348
  134. data/rbi/metronome_sdk/models/commit_hierarchy_configuration.rbi +280 -0
  135. data/rbi/metronome_sdk/models/commit_rate.rbi +85 -0
  136. data/rbi/metronome_sdk/models/commit_specifier.rbi +71 -0
  137. data/rbi/metronome_sdk/models/commit_specifier_input.rbi +74 -0
  138. data/rbi/metronome_sdk/models/contract.rbi +768 -0
  139. data/rbi/metronome_sdk/models/contract_v2.rbi +5822 -0
  140. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +184 -2507
  141. data/rbi/metronome_sdk/models/credit.rbi +10 -348
  142. data/rbi/metronome_sdk/models/discount.rbi +2 -0
  143. data/rbi/metronome_sdk/models/hierarchy_configuration.rbi +180 -0
  144. data/rbi/metronome_sdk/models/override.rbi +8 -193
  145. data/rbi/metronome_sdk/models/override_tier.rbi +29 -0
  146. data/rbi/metronome_sdk/models/overwrite_rate.rbi +137 -0
  147. data/rbi/metronome_sdk/models/payment_gate_config.rbi +312 -0
  148. data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +321 -0
  149. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +183 -0
  150. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +188 -0
  151. data/rbi/metronome_sdk/models/pro_service.rbi +2 -0
  152. data/rbi/metronome_sdk/models/recurring_commit_subscription_config.rbi +125 -0
  153. data/rbi/metronome_sdk/models/scheduled_charge.rbi +2 -0
  154. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +76 -0
  155. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -0
  156. data/rbi/metronome_sdk/models/subscription.rbi +460 -0
  157. data/rbi/metronome_sdk/models/update_base_threshold_commit.rbi +61 -0
  158. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -3
  159. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +2 -0
  160. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +2 -0
  161. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +44 -768
  162. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbi +2 -0
  163. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1550 -4079
  164. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +8 -59
  165. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +5 -2420
  166. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +6 -129
  167. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +4 -2419
  168. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +2 -0
  169. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +2 -0
  170. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +2 -0
  171. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_params.rbi +2 -0
  172. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +2 -0
  173. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +6 -129
  174. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +2 -0
  175. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +4 -129
  176. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +4 -129
  177. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +4 -129
  178. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +6 -129
  179. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +147 -198
  180. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +2 -0
  181. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +117 -165
  182. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +8 -1
  183. data/rbi/metronome_sdk/models/v1/customer.rbi +2 -0
  184. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +88 -3
  185. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +2 -0
  186. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +2 -0
  187. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbi +51 -0
  188. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbi +265 -0
  189. data/rbi/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbi +348 -0
  190. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +60 -0
  191. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +10 -0
  192. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +10 -0
  193. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +6 -90
  194. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +6 -90
  195. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +6 -3
  196. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +70 -10
  197. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +2 -0
  198. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +2 -0
  199. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +2 -0
  200. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +2 -0
  201. data/rbi/metronome_sdk/models/v1/plan_list_response.rbi +8 -1
  202. data/rbi/metronome_sdk/models/v1/usage_list_response.rbi +45 -86
  203. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +2 -0
  204. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +56 -76
  205. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +56 -76
  206. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +3419 -7270
  207. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1140 -6062
  208. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +5 -9867
  209. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +6 -9866
  210. data/rbi/metronome_sdk/models.rbi +44 -0
  211. data/rbi/metronome_sdk/resources/v1/alerts.rbi +72 -2
  212. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +39 -4
  213. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +54 -4
  214. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +25 -5
  215. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +7 -2
  216. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +10 -3
  217. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +109 -9
  218. data/rbi/metronome_sdk/resources/v1/contracts.rbi +257 -16
  219. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +5 -1
  220. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +57 -14
  221. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +108 -5
  222. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +119 -10
  223. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +104 -9
  224. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +123 -7
  225. data/rbi/metronome_sdk/resources/v1/customers.rbi +156 -11
  226. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +29 -3
  227. data/rbi/metronome_sdk/resources/v1/invoices.rbi +23 -2
  228. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +6 -1
  229. data/rbi/metronome_sdk/resources/v1/services.rbi +6 -4
  230. data/rbi/metronome_sdk/resources/v1/usage.rbi +188 -12
  231. data/rbi/metronome_sdk/resources/v2/contracts.rbi +120 -23
  232. data/sig/metronome_sdk/internal/body_cursor_page.rbs +13 -0
  233. data/sig/metronome_sdk/internal/cursor_page_without_limit.rbs +13 -0
  234. data/sig/metronome_sdk/models/base_threshold_commit.rbs +26 -0
  235. data/sig/metronome_sdk/models/commit.rbs +17 -170
  236. data/sig/metronome_sdk/models/commit_hierarchy_configuration.rbs +117 -0
  237. data/sig/metronome_sdk/models/commit_rate.rbs +48 -0
  238. data/sig/metronome_sdk/models/commit_specifier.rbs +47 -0
  239. data/sig/metronome_sdk/models/commit_specifier_input.rbs +47 -0
  240. data/sig/metronome_sdk/models/contract.rbs +398 -0
  241. data/sig/metronome_sdk/models/contract_v2.rbs +2881 -0
  242. data/sig/metronome_sdk/models/contract_without_amendments.rbs +54 -976
  243. data/sig/metronome_sdk/models/credit.rbs +12 -170
  244. data/sig/metronome_sdk/models/hierarchy_configuration.rbs +71 -0
  245. data/sig/metronome_sdk/models/override.rbs +12 -101
  246. data/sig/metronome_sdk/models/override_tier.rbs +17 -0
  247. data/sig/metronome_sdk/models/overwrite_rate.rbs +78 -0
  248. data/sig/metronome_sdk/models/payment_gate_config.rbs +123 -0
  249. data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +123 -0
  250. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +82 -0
  251. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +82 -0
  252. data/sig/metronome_sdk/models/recurring_commit_subscription_config.rbs +51 -0
  253. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +35 -0
  254. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +35 -0
  255. data/sig/metronome_sdk/models/subscription.rbs +215 -0
  256. data/sig/metronome_sdk/models/update_base_threshold_commit.rbs +28 -0
  257. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +4 -2
  258. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +24 -340
  259. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +168 -1219
  260. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +4 -25
  261. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +4 -1041
  262. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +6 -54
  263. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +4 -1041
  264. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +6 -54
  265. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +6 -54
  266. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +6 -54
  267. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +6 -54
  268. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +6 -54
  269. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +72 -94
  270. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +53 -75
  271. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +31 -4
  272. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbs +32 -0
  273. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbs +113 -0
  274. data/sig/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbs +133 -0
  275. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +21 -0
  276. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +7 -1
  277. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +6 -1
  278. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +6 -50
  279. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +6 -50
  280. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +4 -2
  281. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +33 -55
  282. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +19 -43
  283. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +19 -43
  284. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +361 -1917
  285. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +242 -2252
  286. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +4 -4426
  287. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +4 -4426
  288. data/sig/metronome_sdk/models.rbs +38 -0
  289. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  290. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -3
  291. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -1
  292. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +1 -1
  293. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +2 -1
  294. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +2 -2
  295. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +2 -2
  296. data/sig/metronome_sdk/resources/v1/customers.rbs +11 -0
  297. data/sig/metronome_sdk/resources/v1/usage.rbs +1 -1
  298. data/sig/metronome_sdk/resources/v2/contracts.rbs +7 -4
  299. metadata +74 -11
  300. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +0 -29
  301. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +0 -26
  302. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +0 -26
  303. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +0 -46
  304. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +0 -45
  305. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +0 -45
  306. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +0 -29
  307. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +0 -26
  308. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +0 -26
@@ -8,6 +8,16 @@ module MetronomeSDK
8
8
  # @return [String]
9
9
  required :id, String
10
10
 
11
+ # @!attribute created_at
12
+ # Timestamp of when the commit was created.
13
+ #
14
+ # - Recurring commits: latter of commit service period date and parent commit
15
+ # start date
16
+ # - Rollover commits: when the new contract started
17
+ #
18
+ # @return [Time]
19
+ required :created_at, Time
20
+
11
21
  # @!attribute product
12
22
  #
13
23
  # @return [MetronomeSDK::Models::Commit::Product]
@@ -72,6 +82,7 @@ module MetronomeSDK
72
82
  optional :contract, -> { MetronomeSDK::Commit::Contract }
73
83
 
74
84
  # @!attribute custom_fields
85
+ # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
75
86
  #
76
87
  # @return [Hash{Symbol=>String}, nil]
77
88
  optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
@@ -84,8 +95,8 @@ module MetronomeSDK
84
95
  # @!attribute hierarchy_configuration
85
96
  # Optional configuration for commit hierarchy access control
86
97
  #
87
- # @return [MetronomeSDK::Models::Commit::HierarchyConfiguration, nil]
88
- optional :hierarchy_configuration, -> { MetronomeSDK::Commit::HierarchyConfiguration }
98
+ # @return [MetronomeSDK::Models::CommitHierarchyConfiguration, nil]
99
+ optional :hierarchy_configuration, -> { MetronomeSDK::CommitHierarchyConfiguration }
89
100
 
90
101
  # @!attribute invoice_contract
91
102
  # The contract that this commit will be billed on.
@@ -150,8 +161,8 @@ module MetronomeSDK
150
161
  # or credit. A customer's usage needs to meet the condition of at least one of the
151
162
  # specifiers to contribute to a commit's or credit's drawdown.
152
163
  #
153
- # @return [Array<MetronomeSDK::Models::Commit::Specifier>, nil]
154
- optional :specifiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Commit::Specifier] }
164
+ # @return [Array<MetronomeSDK::Models::CommitSpecifier>, nil]
165
+ optional :specifiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::CommitSpecifier] }
155
166
 
156
167
  # @!attribute uniqueness_key
157
168
  # Prevents the creation of duplicates. If a request to create a commit or credit
@@ -162,12 +173,14 @@ module MetronomeSDK
162
173
  # @return [String, nil]
163
174
  optional :uniqueness_key, String
164
175
 
165
- # @!method initialize(id:, product:, type:, access_schedule: nil, amount: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, archived_at: nil, balance: nil, contract: nil, custom_fields: nil, description: nil, hierarchy_configuration: nil, invoice_contract: nil, invoice_schedule: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, rolled_over_from: nil, rollover_fraction: nil, salesforce_opportunity_id: nil, specifiers: nil, uniqueness_key: nil)
176
+ # @!method initialize(id:, created_at:, product:, type:, access_schedule: nil, amount: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, archived_at: nil, balance: nil, contract: nil, custom_fields: nil, description: nil, hierarchy_configuration: nil, invoice_contract: nil, invoice_schedule: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, rolled_over_from: nil, rollover_fraction: nil, salesforce_opportunity_id: nil, specifiers: nil, uniqueness_key: nil)
166
177
  # Some parameter documentations has been truncated, see
167
178
  # {MetronomeSDK::Models::Commit} for more details.
168
179
  #
169
180
  # @param id [String]
170
181
  #
182
+ # @param created_at [Time] Timestamp of when the commit was created.
183
+ #
171
184
  # @param product [MetronomeSDK::Models::Commit::Product]
172
185
  #
173
186
  # @param type [Symbol, MetronomeSDK::Models::Commit::Type]
@@ -188,11 +201,11 @@ module MetronomeSDK
188
201
  #
189
202
  # @param contract [MetronomeSDK::Models::Commit::Contract]
190
203
  #
191
- # @param custom_fields [Hash{Symbol=>String}]
204
+ # @param custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
192
205
  #
193
206
  # @param description [String]
194
207
  #
195
- # @param hierarchy_configuration [MetronomeSDK::Models::Commit::HierarchyConfiguration] Optional configuration for commit hierarchy access control
208
+ # @param hierarchy_configuration [MetronomeSDK::Models::CommitHierarchyConfiguration] Optional configuration for commit hierarchy access control
196
209
  #
197
210
  # @param invoice_contract [MetronomeSDK::Models::Commit::InvoiceContract] The contract that this commit will be billed on.
198
211
  #
@@ -214,7 +227,7 @@ module MetronomeSDK
214
227
  #
215
228
  # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
216
229
  #
217
- # @param specifiers [Array<MetronomeSDK::Models::Commit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
230
+ # @param specifiers [Array<MetronomeSDK::Models::CommitSpecifier>] List of filters that determine what kind of customer usage draws down a commit o
218
231
  #
219
232
  # @param uniqueness_key [String] Prevents the creation of duplicates. If a request to create a commit or credit i
220
233
 
@@ -257,114 +270,6 @@ module MetronomeSDK
257
270
  # @param id [String]
258
271
  end
259
272
 
260
- # @see MetronomeSDK::Models::Commit#hierarchy_configuration
261
- class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
262
- # @!attribute child_access
263
- #
264
- # @return [MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
265
- required :child_access, union: -> { MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess }
266
-
267
- # @!method initialize(child_access:)
268
- # Optional configuration for commit hierarchy access control
269
- #
270
- # @param child_access [MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
271
-
272
- # @see MetronomeSDK::Models::Commit::HierarchyConfiguration#child_access
273
- module ChildAccess
274
- extend MetronomeSDK::Internal::Type::Union
275
-
276
- variant -> {
277
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
278
- }
279
-
280
- variant -> {
281
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
282
- }
283
-
284
- variant -> {
285
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
286
- }
287
-
288
- class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
289
- # @!attribute type
290
- #
291
- # @return [Symbol, MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
292
- required :type,
293
- enum: -> {
294
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
295
- }
296
-
297
- # @!method initialize(type:)
298
- # @param type [Symbol, MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
299
-
300
- # @see MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
301
- module Type
302
- extend MetronomeSDK::Internal::Type::Enum
303
-
304
- ALL = :ALL
305
-
306
- # @!method self.values
307
- # @return [Array<Symbol>]
308
- end
309
- end
310
-
311
- class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
312
- # @!attribute type
313
- #
314
- # @return [Symbol, MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
315
- required :type,
316
- enum: -> {
317
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
318
- }
319
-
320
- # @!method initialize(type:)
321
- # @param type [Symbol, MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
322
-
323
- # @see MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
324
- module Type
325
- extend MetronomeSDK::Internal::Type::Enum
326
-
327
- NONE = :NONE
328
-
329
- # @!method self.values
330
- # @return [Array<Symbol>]
331
- end
332
- end
333
-
334
- class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
335
- # @!attribute contract_ids
336
- #
337
- # @return [Array<String>]
338
- required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
339
-
340
- # @!attribute type
341
- #
342
- # @return [Symbol, MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
343
- required :type,
344
- enum: -> {
345
- MetronomeSDK::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
346
- }
347
-
348
- # @!method initialize(contract_ids:, type:)
349
- # @param contract_ids [Array<String>]
350
- # @param type [Symbol, MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
351
-
352
- # @see MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
353
- module Type
354
- extend MetronomeSDK::Internal::Type::Enum
355
-
356
- CONTRACT_IDS = :CONTRACT_IDS
357
-
358
- # @!method self.values
359
- # @return [Array<Symbol>]
360
- end
361
- end
362
-
363
- # @!method self.variants
364
- # @return [Array(MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
365
- end
366
- end
367
-
368
273
  # @see MetronomeSDK::Models::Commit#invoice_contract
369
274
  class InvoiceContract < MetronomeSDK::Internal::Type::BaseModel
370
275
  # @!attribute id
@@ -428,10 +333,7 @@ module MetronomeSDK
428
333
  # @!attribute type
429
334
  #
430
335
  # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type]
431
- required :type,
432
- enum: -> {
433
- MetronomeSDK::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type
434
- }
336
+ required :type, enum: -> { MetronomeSDK::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type }
435
337
 
436
338
  # @!method initialize(amount:, segment_id:, timestamp:, type:)
437
339
  # @param amount [Float]
@@ -475,9 +377,7 @@ module MetronomeSDK
475
377
  #
476
378
  # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
477
379
  required :type,
478
- enum: -> {
479
- MetronomeSDK::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type
480
- }
380
+ enum: -> { MetronomeSDK::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type }
481
381
 
482
382
  # @!attribute contract_id
483
383
  #
@@ -705,9 +605,7 @@ module MetronomeSDK
705
605
  #
706
606
  # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::Type]
707
607
  required :type,
708
- enum: -> {
709
- MetronomeSDK::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::Type
710
- }
608
+ enum: -> { MetronomeSDK::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::Type }
711
609
 
712
610
  # @!method initialize(amount:, segment_id:, timestamp:, type:)
713
611
  # @param amount [Float]
@@ -740,10 +638,7 @@ module MetronomeSDK
740
638
  # @!attribute type
741
639
  #
742
640
  # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type]
743
- required :type,
744
- enum: -> {
745
- MetronomeSDK::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type
746
- }
641
+ required :type, enum: -> { MetronomeSDK::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type }
747
642
 
748
643
  # @!method initialize(amount:, timestamp:, type:)
749
644
  # @param amount [Float]
@@ -786,9 +681,7 @@ module MetronomeSDK
786
681
  #
787
682
  # @return [Symbol, MetronomeSDK::Models::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
788
683
  required :type,
789
- enum: -> {
790
- MetronomeSDK::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type
791
- }
684
+ enum: -> { MetronomeSDK::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type }
792
685
 
793
686
  # @!attribute contract_id
794
687
  #
@@ -1041,43 +934,6 @@ module MetronomeSDK
1041
934
  # @param commit_id [String]
1042
935
  # @param contract_id [String]
1043
936
  end
1044
-
1045
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
1046
- # @!attribute presentation_group_values
1047
- #
1048
- # @return [Hash{Symbol=>String}, nil]
1049
- optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1050
-
1051
- # @!attribute pricing_group_values
1052
- #
1053
- # @return [Hash{Symbol=>String}, nil]
1054
- optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1055
-
1056
- # @!attribute product_id
1057
- # If provided, the specifier will only apply to the product with the specified ID.
1058
- #
1059
- # @return [String, nil]
1060
- optional :product_id, String
1061
-
1062
- # @!attribute product_tags
1063
- # If provided, the specifier will only apply to products with all the specified
1064
- # tags.
1065
- #
1066
- # @return [Array<String>, nil]
1067
- optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1068
-
1069
- # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
1070
- # Some parameter documentations has been truncated, see
1071
- # {MetronomeSDK::Models::Commit::Specifier} for more details.
1072
- #
1073
- # @param presentation_group_values [Hash{Symbol=>String}]
1074
- #
1075
- # @param pricing_group_values [Hash{Symbol=>String}]
1076
- #
1077
- # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
1078
- #
1079
- # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
1080
- end
1081
937
  end
1082
938
  end
1083
939
  end
@@ -0,0 +1,98 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class CommitHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
6
+ # @!attribute child_access
7
+ #
8
+ # @return [MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
9
+ required :child_access, union: -> { MetronomeSDK::CommitHierarchyConfiguration::ChildAccess }
10
+
11
+ # @!method initialize(child_access:)
12
+ # @param child_access [MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
13
+
14
+ # @see MetronomeSDK::Models::CommitHierarchyConfiguration#child_access
15
+ module ChildAccess
16
+ extend MetronomeSDK::Internal::Type::Union
17
+
18
+ variant -> { MetronomeSDK::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
19
+
20
+ variant -> { MetronomeSDK::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
21
+
22
+ variant -> { MetronomeSDK::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
23
+
24
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
25
+ # @!attribute type
26
+ #
27
+ # @return [Symbol, MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
28
+ required :type,
29
+ enum: -> { MetronomeSDK::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
30
+
31
+ # @!method initialize(type:)
32
+ # @param type [Symbol, MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
33
+
34
+ # @see MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
35
+ module Type
36
+ extend MetronomeSDK::Internal::Type::Enum
37
+
38
+ ALL = :ALL
39
+
40
+ # @!method self.values
41
+ # @return [Array<Symbol>]
42
+ end
43
+ end
44
+
45
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
46
+ # @!attribute type
47
+ #
48
+ # @return [Symbol, MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
49
+ required :type,
50
+ enum: -> { MetronomeSDK::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
51
+
52
+ # @!method initialize(type:)
53
+ # @param type [Symbol, MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
54
+
55
+ # @see MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
56
+ module Type
57
+ extend MetronomeSDK::Internal::Type::Enum
58
+
59
+ NONE = :NONE
60
+
61
+ # @!method self.values
62
+ # @return [Array<Symbol>]
63
+ end
64
+ end
65
+
66
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
67
+ # @!attribute contract_ids
68
+ #
69
+ # @return [Array<String>]
70
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
71
+
72
+ # @!attribute type
73
+ #
74
+ # @return [Symbol, MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
75
+ required :type,
76
+ enum: -> { MetronomeSDK::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
77
+
78
+ # @!method initialize(contract_ids:, type:)
79
+ # @param contract_ids [Array<String>]
80
+ # @param type [Symbol, MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
81
+
82
+ # @see MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
83
+ module Type
84
+ extend MetronomeSDK::Internal::Type::Enum
85
+
86
+ CONTRACT_IDS = :CONTRACT_IDS
87
+
88
+ # @!method self.values
89
+ # @return [Array<Symbol>]
90
+ end
91
+ end
92
+
93
+ # @!method self.variants
94
+ # @return [Array(MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
95
+ end
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class CommitRate < MetronomeSDK::Internal::Type::BaseModel
6
+ # @!attribute rate_type
7
+ #
8
+ # @return [Symbol, MetronomeSDK::Models::CommitRate::RateType]
9
+ required :rate_type, enum: -> { MetronomeSDK::CommitRate::RateType }
10
+
11
+ # @!attribute price
12
+ # Commit rate price. For FLAT rate_type, this must be >=0.
13
+ #
14
+ # @return [Float, nil]
15
+ optional :price, Float
16
+
17
+ # @!attribute tiers
18
+ # Only set for TIERED rate_type.
19
+ #
20
+ # @return [Array<MetronomeSDK::Models::Tier>, nil]
21
+ optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
22
+
23
+ # @!method initialize(rate_type:, price: nil, tiers: nil)
24
+ # A distinct rate on the rate card. You can choose to use this rate rather than
25
+ # list rate when consuming a credit or commit.
26
+ #
27
+ # @param rate_type [Symbol, MetronomeSDK::Models::CommitRate::RateType]
28
+ #
29
+ # @param price [Float] Commit rate price. For FLAT rate_type, this must be >=0.
30
+ #
31
+ # @param tiers [Array<MetronomeSDK::Models::Tier>] Only set for TIERED rate_type.
32
+
33
+ # @see MetronomeSDK::Models::CommitRate#rate_type
34
+ module RateType
35
+ extend MetronomeSDK::Internal::Type::Enum
36
+
37
+ FLAT = :FLAT
38
+ PERCENTAGE = :PERCENTAGE
39
+ SUBSCRIPTION = :SUBSCRIPTION
40
+ TIERED = :TIERED
41
+ CUSTOM = :CUSTOM
42
+
43
+ # @!method self.values
44
+ # @return [Array<Symbol>]
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class CommitSpecifier < MetronomeSDK::Internal::Type::BaseModel
6
+ # @!attribute presentation_group_values
7
+ #
8
+ # @return [Hash{Symbol=>String}, nil]
9
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
10
+
11
+ # @!attribute pricing_group_values
12
+ #
13
+ # @return [Hash{Symbol=>String}, nil]
14
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
15
+
16
+ # @!attribute product_id
17
+ # If provided, the specifier will only apply to the product with the specified ID.
18
+ #
19
+ # @return [String, nil]
20
+ optional :product_id, String
21
+
22
+ # @!attribute product_tags
23
+ # If provided, the specifier will only apply to products with all the specified
24
+ # tags.
25
+ #
26
+ # @return [Array<String>, nil]
27
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
28
+
29
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
30
+ # Some parameter documentations has been truncated, see
31
+ # {MetronomeSDK::Models::CommitSpecifier} for more details.
32
+ #
33
+ # @param presentation_group_values [Hash{Symbol=>String}]
34
+ #
35
+ # @param pricing_group_values [Hash{Symbol=>String}]
36
+ #
37
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
38
+ #
39
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class CommitSpecifierInput < MetronomeSDK::Internal::Type::BaseModel
6
+ # @!attribute presentation_group_values
7
+ #
8
+ # @return [Hash{Symbol=>String}, nil]
9
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
10
+
11
+ # @!attribute pricing_group_values
12
+ #
13
+ # @return [Hash{Symbol=>String}, nil]
14
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
15
+
16
+ # @!attribute product_id
17
+ # If provided, the specifier will only apply to the product with the specified ID.
18
+ #
19
+ # @return [String, nil]
20
+ optional :product_id, String
21
+
22
+ # @!attribute product_tags
23
+ # If provided, the specifier will only apply to products with all the specified
24
+ # tags.
25
+ #
26
+ # @return [Array<String>, nil]
27
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
28
+
29
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
30
+ # Some parameter documentations has been truncated, see
31
+ # {MetronomeSDK::Models::CommitSpecifierInput} for more details.
32
+ #
33
+ # @param presentation_group_values [Hash{Symbol=>String}]
34
+ #
35
+ # @param pricing_group_values [Hash{Symbol=>String}]
36
+ #
37
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
38
+ #
39
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
40
+ end
41
+ end
42
+ end