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
@@ -7,1161 +7,11 @@ module MetronomeSDK
7
7
  class ContractListResponse < MetronomeSDK::Internal::Type::BaseModel
8
8
  # @!attribute data
9
9
  #
10
- # @return [Array<MetronomeSDK::Models::V1::ContractListResponse::Data>]
11
- required :data,
12
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::ContractListResponse::Data] }
10
+ # @return [Array<MetronomeSDK::Models::Contract>]
11
+ required :data, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Contract] }
13
12
 
14
13
  # @!method initialize(data:)
15
- # @param data [Array<MetronomeSDK::Models::V1::ContractListResponse::Data>]
16
-
17
- class Data < MetronomeSDK::Internal::Type::BaseModel
18
- # @!attribute id
19
- #
20
- # @return [String]
21
- required :id, String
22
-
23
- # @!attribute amendments
24
- #
25
- # @return [Array<MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment>]
26
- required :amendments,
27
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment] }
28
-
29
- # @!attribute current
30
- #
31
- # @return [MetronomeSDK::Models::ContractWithoutAmendments]
32
- required :current, -> { MetronomeSDK::ContractWithoutAmendments }
33
-
34
- # @!attribute customer_id
35
- #
36
- # @return [String]
37
- required :customer_id, String
38
-
39
- # @!attribute initial
40
- #
41
- # @return [MetronomeSDK::Models::ContractWithoutAmendments]
42
- required :initial, -> { MetronomeSDK::ContractWithoutAmendments }
43
-
44
- # @!attribute archived_at
45
- # RFC 3339 timestamp indicating when the contract was archived. If not returned,
46
- # the contract is not archived.
47
- #
48
- # @return [Time, nil]
49
- optional :archived_at, Time
50
-
51
- # @!attribute custom_fields
52
- #
53
- # @return [Hash{Symbol=>String}, nil]
54
- optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
55
-
56
- # @!attribute customer_billing_provider_configuration
57
- # The billing provider configuration associated with a contract.
58
- #
59
- # @return [MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration, nil]
60
- optional :customer_billing_provider_configuration,
61
- -> { MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration }
62
-
63
- # @!attribute prepaid_balance_threshold_configuration
64
- #
65
- # @return [MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration, nil]
66
- optional :prepaid_balance_threshold_configuration,
67
- -> { MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration }
68
-
69
- # @!attribute priority
70
- # Priority of the contract.
71
- #
72
- # @return [Float, nil]
73
- optional :priority, Float
74
-
75
- # @!attribute scheduled_charges_on_usage_invoices
76
- # Determines which scheduled and commit charges to consolidate onto the Contract's
77
- # usage invoice. The charge's `timestamp` must match the usage invoice's
78
- # `ending_before` date for consolidation to occur. This field cannot be modified
79
- # after a Contract has been created. If this field is omitted, charges will appear
80
- # on a separate invoice from usage charges.
81
- #
82
- # @return [Symbol, MetronomeSDK::Models::V1::ContractListResponse::Data::ScheduledChargesOnUsageInvoices, nil]
83
- optional :scheduled_charges_on_usage_invoices,
84
- enum: -> { MetronomeSDK::Models::V1::ContractListResponse::Data::ScheduledChargesOnUsageInvoices }
85
-
86
- # @!attribute spend_threshold_configuration
87
- #
88
- # @return [MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration, nil]
89
- optional :spend_threshold_configuration,
90
- -> { MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration }
91
-
92
- # @!attribute subscriptions
93
- # List of subscriptions on the contract.
94
- #
95
- # @return [Array<MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription>, nil]
96
- optional :subscriptions,
97
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription] }
98
-
99
- # @!attribute uniqueness_key
100
- # Prevents the creation of duplicates. If a request to create a record is made
101
- # with a previously used uniqueness key, a new record will not be created and the
102
- # request will fail with a 409 error.
103
- #
104
- # @return [String, nil]
105
- optional :uniqueness_key, String
106
-
107
- # @!method initialize(id:, amendments:, current:, customer_id:, initial:, archived_at: nil, custom_fields: nil, customer_billing_provider_configuration: nil, prepaid_balance_threshold_configuration: nil, priority: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, subscriptions: nil, uniqueness_key: nil)
108
- # Some parameter documentations has been truncated, see
109
- # {MetronomeSDK::Models::V1::ContractListResponse::Data} for more details.
110
- #
111
- # @param id [String]
112
- #
113
- # @param amendments [Array<MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment>]
114
- #
115
- # @param current [MetronomeSDK::Models::ContractWithoutAmendments]
116
- #
117
- # @param customer_id [String]
118
- #
119
- # @param initial [MetronomeSDK::Models::ContractWithoutAmendments]
120
- #
121
- # @param archived_at [Time] RFC 3339 timestamp indicating when the contract was archived. If not returned, t
122
- #
123
- # @param custom_fields [Hash{Symbol=>String}]
124
- #
125
- # @param customer_billing_provider_configuration [MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration] The billing provider configuration associated with a contract.
126
- #
127
- # @param prepaid_balance_threshold_configuration [MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration]
128
- #
129
- # @param priority [Float] Priority of the contract.
130
- #
131
- # @param scheduled_charges_on_usage_invoices [Symbol, MetronomeSDK::Models::V1::ContractListResponse::Data::ScheduledChargesOnUsageInvoices] Determines which scheduled and commit charges to consolidate onto the Contract's
132
- #
133
- # @param spend_threshold_configuration [MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration]
134
- #
135
- # @param subscriptions [Array<MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription>] List of subscriptions on the contract.
136
- #
137
- # @param uniqueness_key [String] Prevents the creation of duplicates. If a request to create a record is made wit
138
-
139
- class Amendment < MetronomeSDK::Internal::Type::BaseModel
140
- # @!attribute id
141
- #
142
- # @return [String]
143
- required :id, String
144
-
145
- # @!attribute commits
146
- #
147
- # @return [Array<MetronomeSDK::Models::Commit>]
148
- required :commits, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Commit] }
149
-
150
- # @!attribute created_at
151
- #
152
- # @return [Time]
153
- required :created_at, Time
154
-
155
- # @!attribute created_by
156
- #
157
- # @return [String]
158
- required :created_by, String
159
-
160
- # @!attribute overrides
161
- #
162
- # @return [Array<MetronomeSDK::Models::Override>]
163
- required :overrides, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Override] }
164
-
165
- # @!attribute scheduled_charges
166
- #
167
- # @return [Array<MetronomeSDK::Models::ScheduledCharge>]
168
- required :scheduled_charges,
169
- -> {
170
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ScheduledCharge]
171
- }
172
-
173
- # @!attribute starting_at
174
- #
175
- # @return [Time]
176
- required :starting_at, Time
177
-
178
- # @!attribute credits
179
- #
180
- # @return [Array<MetronomeSDK::Models::Credit>, nil]
181
- optional :credits, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Credit] }
182
-
183
- # @!attribute discounts
184
- # This field's availability is dependent on your client's configuration.
185
- #
186
- # @return [Array<MetronomeSDK::Models::Discount>, nil]
187
- optional :discounts, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Discount] }
188
-
189
- # @!attribute netsuite_sales_order_id
190
- # This field's availability is dependent on your client's configuration.
191
- #
192
- # @return [String, nil]
193
- optional :netsuite_sales_order_id, String
194
-
195
- # @!attribute professional_services
196
- # This field's availability is dependent on your client's configuration.
197
- #
198
- # @return [Array<MetronomeSDK::Models::ProService>, nil]
199
- optional :professional_services,
200
- -> {
201
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ProService]
202
- }
203
-
204
- # @!attribute reseller_royalties
205
- # This field's availability is dependent on your client's configuration.
206
- #
207
- # @return [Array<MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment::ResellerRoyalty>, nil]
208
- optional :reseller_royalties,
209
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment::ResellerRoyalty] }
210
-
211
- # @!attribute salesforce_opportunity_id
212
- # This field's availability is dependent on your client's configuration.
213
- #
214
- # @return [String, nil]
215
- optional :salesforce_opportunity_id, String
216
-
217
- # @!method initialize(id:, commits:, created_at:, created_by:, overrides:, scheduled_charges:, starting_at:, credits: nil, discounts: nil, netsuite_sales_order_id: nil, professional_services: nil, reseller_royalties: nil, salesforce_opportunity_id: nil)
218
- # @param id [String]
219
- #
220
- # @param commits [Array<MetronomeSDK::Models::Commit>]
221
- #
222
- # @param created_at [Time]
223
- #
224
- # @param created_by [String]
225
- #
226
- # @param overrides [Array<MetronomeSDK::Models::Override>]
227
- #
228
- # @param scheduled_charges [Array<MetronomeSDK::Models::ScheduledCharge>]
229
- #
230
- # @param starting_at [Time]
231
- #
232
- # @param credits [Array<MetronomeSDK::Models::Credit>]
233
- #
234
- # @param discounts [Array<MetronomeSDK::Models::Discount>] This field's availability is dependent on your client's configuration.
235
- #
236
- # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
237
- #
238
- # @param professional_services [Array<MetronomeSDK::Models::ProService>] This field's availability is dependent on your client's configuration.
239
- #
240
- # @param reseller_royalties [Array<MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment::ResellerRoyalty>] This field's availability is dependent on your client's configuration.
241
- #
242
- # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
243
-
244
- class ResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
245
- # @!attribute reseller_type
246
- #
247
- # @return [Symbol, MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment::ResellerRoyalty::ResellerType]
248
- required :reseller_type,
249
- enum: -> { MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment::ResellerRoyalty::ResellerType }
250
-
251
- # @!attribute aws_account_number
252
- #
253
- # @return [String, nil]
254
- optional :aws_account_number, String
255
-
256
- # @!attribute aws_offer_id
257
- #
258
- # @return [String, nil]
259
- optional :aws_offer_id, String
260
-
261
- # @!attribute aws_payer_reference_id
262
- #
263
- # @return [String, nil]
264
- optional :aws_payer_reference_id, String
265
-
266
- # @!attribute ending_before
267
- #
268
- # @return [Time, nil]
269
- optional :ending_before, Time, nil?: true
270
-
271
- # @!attribute fraction
272
- #
273
- # @return [Float, nil]
274
- optional :fraction, Float
275
-
276
- # @!attribute gcp_account_id
277
- #
278
- # @return [String, nil]
279
- optional :gcp_account_id, String
280
-
281
- # @!attribute gcp_offer_id
282
- #
283
- # @return [String, nil]
284
- optional :gcp_offer_id, String
285
-
286
- # @!attribute netsuite_reseller_id
287
- #
288
- # @return [String, nil]
289
- optional :netsuite_reseller_id, String
290
-
291
- # @!attribute reseller_contract_value
292
- #
293
- # @return [Float, nil]
294
- optional :reseller_contract_value, Float
295
-
296
- # @!attribute starting_at
297
- #
298
- # @return [Time, nil]
299
- optional :starting_at, Time
300
-
301
- # @!method initialize(reseller_type:, aws_account_number: nil, aws_offer_id: nil, aws_payer_reference_id: nil, ending_before: nil, fraction: nil, gcp_account_id: nil, gcp_offer_id: nil, netsuite_reseller_id: nil, reseller_contract_value: nil, starting_at: nil)
302
- # @param reseller_type [Symbol, MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment::ResellerRoyalty::ResellerType]
303
- # @param aws_account_number [String]
304
- # @param aws_offer_id [String]
305
- # @param aws_payer_reference_id [String]
306
- # @param ending_before [Time, nil]
307
- # @param fraction [Float]
308
- # @param gcp_account_id [String]
309
- # @param gcp_offer_id [String]
310
- # @param netsuite_reseller_id [String]
311
- # @param reseller_contract_value [Float]
312
- # @param starting_at [Time]
313
-
314
- # @see MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment::ResellerRoyalty#reseller_type
315
- module ResellerType
316
- extend MetronomeSDK::Internal::Type::Enum
317
-
318
- AWS = :AWS
319
- AWS_PRO_SERVICE = :AWS_PRO_SERVICE
320
- GCP = :GCP
321
- GCP_PRO_SERVICE = :GCP_PRO_SERVICE
322
-
323
- # @!method self.values
324
- # @return [Array<Symbol>]
325
- end
326
- end
327
- end
328
-
329
- # @see MetronomeSDK::Models::V1::ContractListResponse::Data#customer_billing_provider_configuration
330
- class CustomerBillingProviderConfiguration < MetronomeSDK::Internal::Type::BaseModel
331
- # @!attribute billing_provider
332
- #
333
- # @return [Symbol, MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration::BillingProvider]
334
- required :billing_provider,
335
- enum: -> { MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration::BillingProvider }
336
-
337
- # @!attribute delivery_method
338
- #
339
- # @return [Symbol, MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod]
340
- required :delivery_method,
341
- enum: -> { MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod }
342
-
343
- # @!attribute id
344
- #
345
- # @return [String, nil]
346
- optional :id, String
347
-
348
- # @!attribute configuration
349
- # Configuration for the billing provider. The structure of this object is specific
350
- # to the billing provider.
351
- #
352
- # @return [Hash{Symbol=>Object}, nil]
353
- optional :configuration,
354
- MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
355
-
356
- # @!method initialize(billing_provider:, delivery_method:, id: nil, configuration: nil)
357
- # Some parameter documentations has been truncated, see
358
- # {MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration}
359
- # for more details.
360
- #
361
- # The billing provider configuration associated with a contract.
362
- #
363
- # @param billing_provider [Symbol, MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration::BillingProvider]
364
- #
365
- # @param delivery_method [Symbol, MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod]
366
- #
367
- # @param id [String]
368
- #
369
- # @param configuration [Hash{Symbol=>Object}] Configuration for the billing provider. The structure of this object is specific
370
-
371
- # @see MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration#billing_provider
372
- module BillingProvider
373
- extend MetronomeSDK::Internal::Type::Enum
374
-
375
- AWS_MARKETPLACE = :aws_marketplace
376
- STRIPE = :stripe
377
- NETSUITE = :netsuite
378
- CUSTOM = :custom
379
- AZURE_MARKETPLACE = :azure_marketplace
380
- QUICKBOOKS_ONLINE = :quickbooks_online
381
- WORKDAY = :workday
382
- GCP_MARKETPLACE = :gcp_marketplace
383
-
384
- # @!method self.values
385
- # @return [Array<Symbol>]
386
- end
387
-
388
- # @see MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration#delivery_method
389
- module DeliveryMethod
390
- extend MetronomeSDK::Internal::Type::Enum
391
-
392
- DIRECT_TO_BILLING_PROVIDER = :direct_to_billing_provider
393
- AWS_SQS = :aws_sqs
394
- TACKLE = :tackle
395
- AWS_SNS = :aws_sns
396
-
397
- # @!method self.values
398
- # @return [Array<Symbol>]
399
- end
400
- end
401
-
402
- # @see MetronomeSDK::Models::V1::ContractListResponse::Data#prepaid_balance_threshold_configuration
403
- class PrepaidBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
404
- # @!attribute commit
405
- #
406
- # @return [MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit]
407
- required :commit,
408
- -> { MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit }
409
-
410
- # @!attribute is_enabled
411
- # When set to false, the contract will not be evaluated against the
412
- # threshold_amount. Toggling to true will result an immediate evaluation,
413
- # regardless of prior state.
414
- #
415
- # @return [Boolean]
416
- required :is_enabled, MetronomeSDK::Internal::Type::Boolean
417
-
418
- # @!attribute payment_gate_config
419
- #
420
- # @return [MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig]
421
- required :payment_gate_config,
422
- -> { MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig }
423
-
424
- # @!attribute recharge_to_amount
425
- # Specify the amount the balance should be recharged to.
426
- #
427
- # @return [Float]
428
- required :recharge_to_amount, Float
429
-
430
- # @!attribute threshold_amount
431
- # Specify the threshold amount for the contract. Each time the contract's prepaid
432
- # balance lowers to this amount, a threshold charge will be initiated.
433
- #
434
- # @return [Float]
435
- required :threshold_amount, Float
436
-
437
- # @!attribute custom_credit_type_id
438
- # If provided, the threshold, recharge-to amount, and the resulting threshold
439
- # commit amount will be in terms of this credit type instead of the fiat currency.
440
- #
441
- # @return [String, nil]
442
- optional :custom_credit_type_id, String
443
-
444
- # @!method initialize(commit:, is_enabled:, payment_gate_config:, recharge_to_amount:, threshold_amount:, custom_credit_type_id: nil)
445
- # Some parameter documentations has been truncated, see
446
- # {MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration}
447
- # for more details.
448
- #
449
- # @param commit [MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit]
450
- #
451
- # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
452
- #
453
- # @param payment_gate_config [MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig]
454
- #
455
- # @param recharge_to_amount [Float] Specify the amount the balance should be recharged to.
456
- #
457
- # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's prepaid
458
- #
459
- # @param custom_credit_type_id [String] If provided, the threshold, recharge-to amount, and the resulting threshold comm
460
-
461
- # @see MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration#commit
462
- class Commit < MetronomeSDK::Internal::Type::BaseModel
463
- # @!attribute product_id
464
- # The commit product that will be used to generate the line item for commit
465
- # payment.
466
- #
467
- # @return [String]
468
- required :product_id, String
469
-
470
- # @!attribute applicable_product_ids
471
- # Which products the threshold commit applies to. If applicable_product_ids,
472
- # applicable_product_tags or specifiers are not provided, the commit applies to
473
- # all products.
474
- #
475
- # @return [Array<String>, nil]
476
- optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
477
-
478
- # @!attribute applicable_product_tags
479
- # Which tags the threshold commit applies to. If applicable_product_ids,
480
- # applicable_product_tags or specifiers are not provided, the commit applies to
481
- # all products.
482
- #
483
- # @return [Array<String>, nil]
484
- optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
485
-
486
- # @!attribute description
487
- #
488
- # @return [String, nil]
489
- optional :description, String
490
-
491
- # @!attribute name
492
- # Specify the name of the line item for the threshold charge. If left blank, it
493
- # will default to the commit product name.
494
- #
495
- # @return [String, nil]
496
- optional :name, String
497
-
498
- # @!attribute specifiers
499
- # List of filters that determine what kind of customer usage draws down a commit
500
- # or credit. A customer's usage needs to meet the condition of at least one of the
501
- # specifiers to contribute to a commit's or credit's drawdown. This field cannot
502
- # be used together with `applicable_product_ids` or `applicable_product_tags`.
503
- #
504
- # @return [Array<MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier>, nil]
505
- optional :specifiers,
506
- -> do
507
- MetronomeSDK::Internal::Type::ArrayOf[
508
- MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier
509
- ]
510
- end
511
-
512
- # @!method initialize(product_id:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil, specifiers: nil)
513
- # Some parameter documentations has been truncated, see
514
- # {MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit}
515
- # for more details.
516
- #
517
- # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
518
- #
519
- # @param applicable_product_ids [Array<String>] Which products the threshold commit applies to. If applicable_product_ids, appli
520
- #
521
- # @param applicable_product_tags [Array<String>] Which tags the threshold commit applies to. If applicable_product_ids, applicabl
522
- #
523
- # @param description [String]
524
- #
525
- # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
526
- #
527
- # @param specifiers [Array<MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
528
-
529
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
530
- # @!attribute presentation_group_values
531
- #
532
- # @return [Hash{Symbol=>String}, nil]
533
- optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
534
-
535
- # @!attribute pricing_group_values
536
- #
537
- # @return [Hash{Symbol=>String}, nil]
538
- optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
539
-
540
- # @!attribute product_id
541
- # If provided, the specifier will only apply to the product with the specified ID.
542
- #
543
- # @return [String, nil]
544
- optional :product_id, String
545
-
546
- # @!attribute product_tags
547
- # If provided, the specifier will only apply to products with all the specified
548
- # tags.
549
- #
550
- # @return [Array<String>, nil]
551
- optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
552
-
553
- # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
554
- # Some parameter documentations has been truncated, see
555
- # {MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier}
556
- # for more details.
557
- #
558
- # @param presentation_group_values [Hash{Symbol=>String}]
559
- #
560
- # @param pricing_group_values [Hash{Symbol=>String}]
561
- #
562
- # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
563
- #
564
- # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
565
- end
566
- end
567
-
568
- # @see MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration#payment_gate_config
569
- class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
570
- # @!attribute payment_gate_type
571
- # Gate access to the commit balance based on successful collection of payment.
572
- # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
573
- # facilitate payment using your own payment integration. Select NONE if you do not
574
- # wish to payment gate the commit balance.
575
- #
576
- # @return [Symbol, MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType]
577
- required :payment_gate_type,
578
- enum: -> { MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType }
579
-
580
- # @!attribute precalculated_tax_config
581
- # Only applicable if using PRECALCULATED as your tax type.
582
- #
583
- # @return [MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig, nil]
584
- optional :precalculated_tax_config,
585
- -> { MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig }
586
-
587
- # @!attribute stripe_config
588
- # Only applicable if using STRIPE as your payment gate type.
589
- #
590
- # @return [MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
591
- optional :stripe_config,
592
- -> { MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig }
593
-
594
- # @!attribute tax_type
595
- # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
596
- # not wish Metronome to calculate tax on your behalf. Leaving this field blank
597
- # will default to NONE.
598
- #
599
- # @return [Symbol, MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType, nil]
600
- optional :tax_type,
601
- enum: -> { MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType }
602
-
603
- # @!method initialize(payment_gate_type:, precalculated_tax_config: nil, stripe_config: nil, tax_type: nil)
604
- # Some parameter documentations has been truncated, see
605
- # {MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig}
606
- # for more details.
607
- #
608
- # @param payment_gate_type [Symbol, MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
609
- #
610
- # @param precalculated_tax_config [MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig] Only applicable if using PRECALCULATED as your tax type.
611
- #
612
- # @param stripe_config [MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using STRIPE as your payment gate type.
613
- #
614
- # @param tax_type [Symbol, MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
615
-
616
- # Gate access to the commit balance based on successful collection of payment.
617
- # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
618
- # facilitate payment using your own payment integration. Select NONE if you do not
619
- # wish to payment gate the commit balance.
620
- #
621
- # @see MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#payment_gate_type
622
- module PaymentGateType
623
- extend MetronomeSDK::Internal::Type::Enum
624
-
625
- NONE = :NONE
626
- STRIPE = :STRIPE
627
- EXTERNAL = :EXTERNAL
628
-
629
- # @!method self.values
630
- # @return [Array<Symbol>]
631
- end
632
-
633
- # @see MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#precalculated_tax_config
634
- class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
635
- # @!attribute tax_amount
636
- # Amount of tax to be applied. This should be in the same currency and
637
- # denomination as the commit's invoice schedule
638
- #
639
- # @return [Float]
640
- required :tax_amount, Float
641
-
642
- # @!attribute tax_name
643
- # Name of the tax to be applied. This may be used in an invoice line item
644
- # description.
645
- #
646
- # @return [String, nil]
647
- optional :tax_name, String
648
-
649
- # @!method initialize(tax_amount:, tax_name: nil)
650
- # Some parameter documentations has been truncated, see
651
- # {MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig}
652
- # for more details.
653
- #
654
- # Only applicable if using PRECALCULATED as your tax type.
655
- #
656
- # @param tax_amount [Float] Amount of tax to be applied. This should be in the same currency and denominatio
657
- #
658
- # @param tax_name [String] Name of the tax to be applied. This may be used in an invoice line item descript
659
- end
660
-
661
- # @see MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#stripe_config
662
- class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
663
- # @!attribute payment_type
664
- # If left blank, will default to INVOICE
665
- #
666
- # @return [Symbol, MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
667
- required :payment_type,
668
- enum: -> { MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType }
669
-
670
- # @!attribute invoice_metadata
671
- # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
672
- # your payment type.
673
- #
674
- # @return [Hash{Symbol=>String}, nil]
675
- optional :invoice_metadata, MetronomeSDK::Internal::Type::HashOf[String]
676
-
677
- # @!method initialize(payment_type:, invoice_metadata: nil)
678
- # Some parameter documentations has been truncated, see
679
- # {MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig}
680
- # for more details.
681
- #
682
- # Only applicable if using STRIPE as your payment gate type.
683
- #
684
- # @param payment_type [Symbol, MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
685
- #
686
- # @param invoice_metadata [Hash{Symbol=>String}] Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
687
-
688
- # If left blank, will default to INVOICE
689
- #
690
- # @see MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
691
- module PaymentType
692
- extend MetronomeSDK::Internal::Type::Enum
693
-
694
- INVOICE = :INVOICE
695
- PAYMENT_INTENT = :PAYMENT_INTENT
696
-
697
- # @!method self.values
698
- # @return [Array<Symbol>]
699
- end
700
- end
701
-
702
- # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
703
- # not wish Metronome to calculate tax on your behalf. Leaving this field blank
704
- # will default to NONE.
705
- #
706
- # @see MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#tax_type
707
- module TaxType
708
- extend MetronomeSDK::Internal::Type::Enum
709
-
710
- NONE = :NONE
711
- STRIPE = :STRIPE
712
- ANROK = :ANROK
713
- PRECALCULATED = :PRECALCULATED
714
-
715
- # @!method self.values
716
- # @return [Array<Symbol>]
717
- end
718
- end
719
- end
720
-
721
- # Determines which scheduled and commit charges to consolidate onto the Contract's
722
- # usage invoice. The charge's `timestamp` must match the usage invoice's
723
- # `ending_before` date for consolidation to occur. This field cannot be modified
724
- # after a Contract has been created. If this field is omitted, charges will appear
725
- # on a separate invoice from usage charges.
726
- #
727
- # @see MetronomeSDK::Models::V1::ContractListResponse::Data#scheduled_charges_on_usage_invoices
728
- module ScheduledChargesOnUsageInvoices
729
- extend MetronomeSDK::Internal::Type::Enum
730
-
731
- ALL = :ALL
732
-
733
- # @!method self.values
734
- # @return [Array<Symbol>]
735
- end
736
-
737
- # @see MetronomeSDK::Models::V1::ContractListResponse::Data#spend_threshold_configuration
738
- class SpendThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
739
- # @!attribute commit
740
- #
741
- # @return [MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::Commit]
742
- required :commit,
743
- -> { MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::Commit }
744
-
745
- # @!attribute is_enabled
746
- # When set to false, the contract will not be evaluated against the
747
- # threshold_amount. Toggling to true will result an immediate evaluation,
748
- # regardless of prior state.
749
- #
750
- # @return [Boolean]
751
- required :is_enabled, MetronomeSDK::Internal::Type::Boolean
752
-
753
- # @!attribute payment_gate_config
754
- #
755
- # @return [MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig]
756
- required :payment_gate_config,
757
- -> { MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig }
758
-
759
- # @!attribute threshold_amount
760
- # Specify the threshold amount for the contract. Each time the contract's usage
761
- # hits this amount, a threshold charge will be initiated.
762
- #
763
- # @return [Float]
764
- required :threshold_amount, Float
765
-
766
- # @!method initialize(commit:, is_enabled:, payment_gate_config:, threshold_amount:)
767
- # Some parameter documentations has been truncated, see
768
- # {MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration}
769
- # for more details.
770
- #
771
- # @param commit [MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::Commit]
772
- #
773
- # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
774
- #
775
- # @param payment_gate_config [MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig]
776
- #
777
- # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's usage hi
778
-
779
- # @see MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration#commit
780
- class Commit < MetronomeSDK::Internal::Type::BaseModel
781
- # @!attribute product_id
782
- # The commit product that will be used to generate the line item for commit
783
- # payment.
784
- #
785
- # @return [String]
786
- required :product_id, String
787
-
788
- # @!attribute description
789
- #
790
- # @return [String, nil]
791
- optional :description, String
792
-
793
- # @!attribute name
794
- # Specify the name of the line item for the threshold charge. If left blank, it
795
- # will default to the commit product name.
796
- #
797
- # @return [String, nil]
798
- optional :name, String
799
-
800
- # @!method initialize(product_id:, description: nil, name: nil)
801
- # Some parameter documentations has been truncated, see
802
- # {MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::Commit}
803
- # for more details.
804
- #
805
- # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
806
- #
807
- # @param description [String]
808
- #
809
- # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
810
- end
811
-
812
- # @see MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration#payment_gate_config
813
- class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
814
- # @!attribute payment_gate_type
815
- # Gate access to the commit balance based on successful collection of payment.
816
- # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
817
- # facilitate payment using your own payment integration. Select NONE if you do not
818
- # wish to payment gate the commit balance.
819
- #
820
- # @return [Symbol, MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType]
821
- required :payment_gate_type,
822
- enum: -> { MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType }
823
-
824
- # @!attribute precalculated_tax_config
825
- # Only applicable if using PRECALCULATED as your tax type.
826
- #
827
- # @return [MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig, nil]
828
- optional :precalculated_tax_config,
829
- -> { MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig }
830
-
831
- # @!attribute stripe_config
832
- # Only applicable if using STRIPE as your payment gate type.
833
- #
834
- # @return [MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
835
- optional :stripe_config,
836
- -> { MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig }
837
-
838
- # @!attribute tax_type
839
- # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
840
- # not wish Metronome to calculate tax on your behalf. Leaving this field blank
841
- # will default to NONE.
842
- #
843
- # @return [Symbol, MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType, nil]
844
- optional :tax_type,
845
- enum: -> { MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType }
846
-
847
- # @!method initialize(payment_gate_type:, precalculated_tax_config: nil, stripe_config: nil, tax_type: nil)
848
- # Some parameter documentations has been truncated, see
849
- # {MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig}
850
- # for more details.
851
- #
852
- # @param payment_gate_type [Symbol, MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
853
- #
854
- # @param precalculated_tax_config [MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig] Only applicable if using PRECALCULATED as your tax type.
855
- #
856
- # @param stripe_config [MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using STRIPE as your payment gate type.
857
- #
858
- # @param tax_type [Symbol, MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
859
-
860
- # Gate access to the commit balance based on successful collection of payment.
861
- # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
862
- # facilitate payment using your own payment integration. Select NONE if you do not
863
- # wish to payment gate the commit balance.
864
- #
865
- # @see MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig#payment_gate_type
866
- module PaymentGateType
867
- extend MetronomeSDK::Internal::Type::Enum
868
-
869
- NONE = :NONE
870
- STRIPE = :STRIPE
871
- EXTERNAL = :EXTERNAL
872
-
873
- # @!method self.values
874
- # @return [Array<Symbol>]
875
- end
876
-
877
- # @see MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig#precalculated_tax_config
878
- class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
879
- # @!attribute tax_amount
880
- # Amount of tax to be applied. This should be in the same currency and
881
- # denomination as the commit's invoice schedule
882
- #
883
- # @return [Float]
884
- required :tax_amount, Float
885
-
886
- # @!attribute tax_name
887
- # Name of the tax to be applied. This may be used in an invoice line item
888
- # description.
889
- #
890
- # @return [String, nil]
891
- optional :tax_name, String
892
-
893
- # @!method initialize(tax_amount:, tax_name: nil)
894
- # Some parameter documentations has been truncated, see
895
- # {MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig}
896
- # for more details.
897
- #
898
- # Only applicable if using PRECALCULATED as your tax type.
899
- #
900
- # @param tax_amount [Float] Amount of tax to be applied. This should be in the same currency and denominatio
901
- #
902
- # @param tax_name [String] Name of the tax to be applied. This may be used in an invoice line item descript
903
- end
904
-
905
- # @see MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig#stripe_config
906
- class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
907
- # @!attribute payment_type
908
- # If left blank, will default to INVOICE
909
- #
910
- # @return [Symbol, MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
911
- required :payment_type,
912
- enum: -> { MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType }
913
-
914
- # @!attribute invoice_metadata
915
- # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
916
- # your payment type.
917
- #
918
- # @return [Hash{Symbol=>String}, nil]
919
- optional :invoice_metadata, MetronomeSDK::Internal::Type::HashOf[String]
920
-
921
- # @!method initialize(payment_type:, invoice_metadata: nil)
922
- # Some parameter documentations has been truncated, see
923
- # {MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig}
924
- # for more details.
925
- #
926
- # Only applicable if using STRIPE as your payment gate type.
927
- #
928
- # @param payment_type [Symbol, MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
929
- #
930
- # @param invoice_metadata [Hash{Symbol=>String}] Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
931
-
932
- # If left blank, will default to INVOICE
933
- #
934
- # @see MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
935
- module PaymentType
936
- extend MetronomeSDK::Internal::Type::Enum
937
-
938
- INVOICE = :INVOICE
939
- PAYMENT_INTENT = :PAYMENT_INTENT
940
-
941
- # @!method self.values
942
- # @return [Array<Symbol>]
943
- end
944
- end
945
-
946
- # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
947
- # not wish Metronome to calculate tax on your behalf. Leaving this field blank
948
- # will default to NONE.
949
- #
950
- # @see MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig#tax_type
951
- module TaxType
952
- extend MetronomeSDK::Internal::Type::Enum
953
-
954
- NONE = :NONE
955
- STRIPE = :STRIPE
956
- ANROK = :ANROK
957
- PRECALCULATED = :PRECALCULATED
958
-
959
- # @!method self.values
960
- # @return [Array<Symbol>]
961
- end
962
- end
963
- end
964
-
965
- class Subscription < MetronomeSDK::Internal::Type::BaseModel
966
- # @!attribute collection_schedule
967
- #
968
- # @return [Symbol, MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::CollectionSchedule]
969
- required :collection_schedule,
970
- enum: -> { MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::CollectionSchedule }
971
-
972
- # @!attribute proration
973
- #
974
- # @return [MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::Proration]
975
- required :proration, -> { MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::Proration }
976
-
977
- # @!attribute quantity_schedule
978
- # List of quantity schedule items for the subscription. Only includes the current
979
- # quantity and future quantity changes.
980
- #
981
- # @return [Array<MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::QuantitySchedule>]
982
- required :quantity_schedule,
983
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::QuantitySchedule] }
984
-
985
- # @!attribute starting_at
986
- #
987
- # @return [Time]
988
- required :starting_at, Time
989
-
990
- # @!attribute subscription_rate
991
- #
992
- # @return [MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::SubscriptionRate]
993
- required :subscription_rate,
994
- -> { MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::SubscriptionRate }
995
-
996
- # @!attribute id
997
- #
998
- # @return [String, nil]
999
- optional :id, String
1000
-
1001
- # @!attribute custom_fields
1002
- #
1003
- # @return [Hash{Symbol=>String}, nil]
1004
- optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
1005
-
1006
- # @!attribute description
1007
- #
1008
- # @return [String, nil]
1009
- optional :description, String
1010
-
1011
- # @!attribute ending_before
1012
- #
1013
- # @return [Time, nil]
1014
- optional :ending_before, Time
1015
-
1016
- # @!attribute fiat_credit_type_id
1017
- #
1018
- # @return [String, nil]
1019
- optional :fiat_credit_type_id, String
1020
-
1021
- # @!attribute name
1022
- #
1023
- # @return [String, nil]
1024
- optional :name, String
1025
-
1026
- # @!method initialize(collection_schedule:, proration:, quantity_schedule:, starting_at:, subscription_rate:, id: nil, custom_fields: nil, description: nil, ending_before: nil, fiat_credit_type_id: nil, name: nil)
1027
- # Some parameter documentations has been truncated, see
1028
- # {MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription} for more
1029
- # details.
1030
- #
1031
- # @param collection_schedule [Symbol, MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::CollectionSchedule]
1032
- #
1033
- # @param proration [MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::Proration]
1034
- #
1035
- # @param quantity_schedule [Array<MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::QuantitySchedule>] List of quantity schedule items for the subscription. Only includes the current
1036
- #
1037
- # @param starting_at [Time]
1038
- #
1039
- # @param subscription_rate [MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::SubscriptionRate]
1040
- #
1041
- # @param id [String]
1042
- #
1043
- # @param custom_fields [Hash{Symbol=>String}]
1044
- #
1045
- # @param description [String]
1046
- #
1047
- # @param ending_before [Time]
1048
- #
1049
- # @param fiat_credit_type_id [String]
1050
- #
1051
- # @param name [String]
1052
-
1053
- # @see MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription#collection_schedule
1054
- module CollectionSchedule
1055
- extend MetronomeSDK::Internal::Type::Enum
1056
-
1057
- ADVANCE = :ADVANCE
1058
- ARREARS = :ARREARS
1059
-
1060
- # @!method self.values
1061
- # @return [Array<Symbol>]
1062
- end
1063
-
1064
- # @see MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription#proration
1065
- class Proration < MetronomeSDK::Internal::Type::BaseModel
1066
- # @!attribute invoice_behavior
1067
- #
1068
- # @return [Symbol, MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::Proration::InvoiceBehavior]
1069
- required :invoice_behavior,
1070
- enum: -> { MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::Proration::InvoiceBehavior }
1071
-
1072
- # @!attribute is_prorated
1073
- #
1074
- # @return [Boolean]
1075
- required :is_prorated, MetronomeSDK::Internal::Type::Boolean
1076
-
1077
- # @!method initialize(invoice_behavior:, is_prorated:)
1078
- # @param invoice_behavior [Symbol, MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::Proration::InvoiceBehavior]
1079
- # @param is_prorated [Boolean]
1080
-
1081
- # @see MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::Proration#invoice_behavior
1082
- module InvoiceBehavior
1083
- extend MetronomeSDK::Internal::Type::Enum
1084
-
1085
- BILL_IMMEDIATELY = :BILL_IMMEDIATELY
1086
- BILL_ON_NEXT_COLLECTION_DATE = :BILL_ON_NEXT_COLLECTION_DATE
1087
-
1088
- # @!method self.values
1089
- # @return [Array<Symbol>]
1090
- end
1091
- end
1092
-
1093
- class QuantitySchedule < MetronomeSDK::Internal::Type::BaseModel
1094
- # @!attribute quantity
1095
- #
1096
- # @return [Float]
1097
- required :quantity, Float
1098
-
1099
- # @!attribute starting_at
1100
- #
1101
- # @return [Time]
1102
- required :starting_at, Time
1103
-
1104
- # @!attribute ending_before
1105
- #
1106
- # @return [Time, nil]
1107
- optional :ending_before, Time
1108
-
1109
- # @!method initialize(quantity:, starting_at:, ending_before: nil)
1110
- # @param quantity [Float]
1111
- # @param starting_at [Time]
1112
- # @param ending_before [Time]
1113
- end
1114
-
1115
- # @see MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription#subscription_rate
1116
- class SubscriptionRate < MetronomeSDK::Internal::Type::BaseModel
1117
- # @!attribute billing_frequency
1118
- #
1119
- # @return [Symbol, MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::SubscriptionRate::BillingFrequency]
1120
- required :billing_frequency,
1121
- enum: -> { MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::SubscriptionRate::BillingFrequency }
1122
-
1123
- # @!attribute product
1124
- #
1125
- # @return [MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::SubscriptionRate::Product]
1126
- required :product,
1127
- -> { MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::SubscriptionRate::Product }
1128
-
1129
- # @!method initialize(billing_frequency:, product:)
1130
- # @param billing_frequency [Symbol, MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::SubscriptionRate::BillingFrequency]
1131
- # @param product [MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::SubscriptionRate::Product]
1132
-
1133
- # @see MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::SubscriptionRate#billing_frequency
1134
- module BillingFrequency
1135
- extend MetronomeSDK::Internal::Type::Enum
1136
-
1137
- MONTHLY = :MONTHLY
1138
- QUARTERLY = :QUARTERLY
1139
- ANNUAL = :ANNUAL
1140
- WEEKLY = :WEEKLY
1141
-
1142
- # @!method self.values
1143
- # @return [Array<Symbol>]
1144
- end
1145
-
1146
- # @see MetronomeSDK::Models::V1::ContractListResponse::Data::Subscription::SubscriptionRate#product
1147
- class Product < MetronomeSDK::Internal::Type::BaseModel
1148
- # @!attribute id
1149
- #
1150
- # @return [String]
1151
- required :id, String
1152
-
1153
- # @!attribute name
1154
- #
1155
- # @return [String]
1156
- required :name, String
1157
-
1158
- # @!method initialize(id:, name:)
1159
- # @param id [String]
1160
- # @param name [String]
1161
- end
1162
- end
1163
- end
1164
- end
14
+ # @param data [Array<MetronomeSDK::Models::Contract>]
1165
15
  end
1166
16
  end
1167
17
  end