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,4528 +7,11 @@ module MetronomeSDK
7
7
  class ContractListResponse < MetronomeSDK::Internal::Type::BaseModel
8
8
  # @!attribute data
9
9
  #
10
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data>]
11
- required :data,
12
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data] }
10
+ # @return [Array<MetronomeSDK::Models::ContractV2>]
11
+ required :data, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ContractV2] }
13
12
 
14
13
  # @!method initialize(data:)
15
- # @param data [Array<MetronomeSDK::Models::V2::ContractListResponse::Data>]
16
-
17
- class Data < MetronomeSDK::Internal::Type::BaseModel
18
- # @!attribute id
19
- #
20
- # @return [String]
21
- required :id, String
22
-
23
- # @!attribute commits
24
- #
25
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit>]
26
- required :commits,
27
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Commit] }
28
-
29
- # @!attribute created_at
30
- #
31
- # @return [Time]
32
- required :created_at, Time
33
-
34
- # @!attribute created_by
35
- #
36
- # @return [String]
37
- required :created_by, String
38
-
39
- # @!attribute customer_id
40
- #
41
- # @return [String]
42
- required :customer_id, String
43
-
44
- # @!attribute overrides
45
- #
46
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Override>]
47
- required :overrides,
48
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Override] }
49
-
50
- # @!attribute scheduled_charges
51
- #
52
- # @return [Array<MetronomeSDK::Models::ScheduledCharge>]
53
- required :scheduled_charges,
54
- -> {
55
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ScheduledCharge]
56
- }
57
-
58
- # @!attribute starting_at
59
- #
60
- # @return [Time]
61
- required :starting_at, Time
62
-
63
- # @!attribute transitions
64
- #
65
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Transition>]
66
- required :transitions,
67
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Transition] }
68
-
69
- # @!attribute usage_filter
70
- #
71
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::UsageFilter>]
72
- required :usage_filter,
73
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::UsageFilter] }
74
-
75
- # @!attribute usage_statement_schedule
76
- #
77
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::UsageStatementSchedule]
78
- required :usage_statement_schedule,
79
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::UsageStatementSchedule }
80
-
81
- # @!attribute archived_at
82
- #
83
- # @return [Time, nil]
84
- optional :archived_at, Time
85
-
86
- # @!attribute credits
87
- #
88
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit>, nil]
89
- optional :credits,
90
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Credit] }
91
-
92
- # @!attribute custom_fields
93
- #
94
- # @return [Hash{Symbol=>String}, nil]
95
- optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
96
-
97
- # @!attribute customer_billing_provider_configuration
98
- # This field's availability is dependent on your client's configuration.
99
- #
100
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration, nil]
101
- optional :customer_billing_provider_configuration,
102
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration }
103
-
104
- # @!attribute discounts
105
- # This field's availability is dependent on your client's configuration.
106
- #
107
- # @return [Array<MetronomeSDK::Models::Discount>, nil]
108
- optional :discounts, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Discount] }
109
-
110
- # @!attribute ending_before
111
- #
112
- # @return [Time, nil]
113
- optional :ending_before, Time
114
-
115
- # @!attribute has_more
116
- # Indicates whether there are more items than the limit for this endpoint. Use the
117
- # respective list endpoints to get the full lists.
118
- #
119
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::HasMore, nil]
120
- optional :has_more, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::HasMore }
121
-
122
- # @!attribute hierarchy_configuration
123
- # Either a **parent** configuration with a list of children or a **child**
124
- # configuration with a single parent.
125
- #
126
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration, MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration, nil]
127
- optional :hierarchy_configuration,
128
- union: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration }
129
-
130
- # @!attribute multiplier_override_prioritization
131
- # Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list
132
- # prices automatically. EXPLICIT prioritization requires specifying priorities for
133
- # each multiplier; the one with the lowest priority value will be prioritized
134
- # first.
135
- #
136
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::MultiplierOverridePrioritization, nil]
137
- optional :multiplier_override_prioritization,
138
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::MultiplierOverridePrioritization }
139
-
140
- # @!attribute name
141
- #
142
- # @return [String, nil]
143
- optional :name, String
144
-
145
- # @!attribute net_payment_terms_days
146
- #
147
- # @return [Float, nil]
148
- optional :net_payment_terms_days, Float
149
-
150
- # @!attribute netsuite_sales_order_id
151
- # This field's availability is dependent on your client's configuration.
152
- #
153
- # @return [String, nil]
154
- optional :netsuite_sales_order_id, String
155
-
156
- # @!attribute prepaid_balance_threshold_configuration
157
- #
158
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration, nil]
159
- optional :prepaid_balance_threshold_configuration,
160
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration }
161
-
162
- # @!attribute priority
163
- # Priority of the contract.
164
- #
165
- # @return [Float, nil]
166
- optional :priority, Float
167
-
168
- # @!attribute professional_services
169
- # This field's availability is dependent on your client's configuration.
170
- #
171
- # @return [Array<MetronomeSDK::Models::ProService>, nil]
172
- optional :professional_services,
173
- -> {
174
- MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::ProService]
175
- }
176
-
177
- # @!attribute rate_card_id
178
- #
179
- # @return [String, nil]
180
- optional :rate_card_id, String
181
-
182
- # @!attribute recurring_commits
183
- #
184
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit>, nil]
185
- optional :recurring_commits,
186
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit] }
187
-
188
- # @!attribute recurring_credits
189
- #
190
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit>, nil]
191
- optional :recurring_credits,
192
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit] }
193
-
194
- # @!attribute reseller_royalties
195
- # This field's availability is dependent on your client's configuration.
196
- #
197
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::ResellerRoyalty>, nil]
198
- optional :reseller_royalties,
199
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::ResellerRoyalty] }
200
-
201
- # @!attribute salesforce_opportunity_id
202
- # This field's availability is dependent on your client's configuration.
203
- #
204
- # @return [String, nil]
205
- optional :salesforce_opportunity_id, String
206
-
207
- # @!attribute scheduled_charges_on_usage_invoices
208
- # Determines which scheduled and commit charges to consolidate onto the Contract's
209
- # usage invoice. The charge's `timestamp` must match the usage invoice's
210
- # `ending_before` date for consolidation to occur. This field cannot be modified
211
- # after a Contract has been created. If this field is omitted, charges will appear
212
- # on a separate invoice from usage charges.
213
- #
214
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledChargesOnUsageInvoices, nil]
215
- optional :scheduled_charges_on_usage_invoices,
216
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledChargesOnUsageInvoices }
217
-
218
- # @!attribute spend_threshold_configuration
219
- #
220
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration, nil]
221
- optional :spend_threshold_configuration,
222
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration }
223
-
224
- # @!attribute subscriptions
225
- # List of subscriptions on the contract.
226
- #
227
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription>, nil]
228
- optional :subscriptions,
229
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription] }
230
-
231
- # @!attribute total_contract_value
232
- #
233
- # @return [Float, nil]
234
- optional :total_contract_value, Float
235
-
236
- # @!attribute uniqueness_key
237
- # Prevents the creation of duplicates. If a request to create a record is made
238
- # with a previously used uniqueness key, a new record will not be created and the
239
- # request will fail with a 409 error.
240
- #
241
- # @return [String, nil]
242
- optional :uniqueness_key, String
243
-
244
- # @!method initialize(id:, commits:, created_at:, created_by:, customer_id:, overrides:, scheduled_charges:, starting_at:, transitions:, usage_filter:, usage_statement_schedule:, archived_at: nil, credits: nil, custom_fields: nil, customer_billing_provider_configuration: nil, discounts: nil, ending_before: nil, has_more: nil, hierarchy_configuration: nil, multiplier_override_prioritization: nil, name: nil, net_payment_terms_days: nil, netsuite_sales_order_id: nil, prepaid_balance_threshold_configuration: nil, priority: nil, professional_services: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, reseller_royalties: nil, salesforce_opportunity_id: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, subscriptions: nil, total_contract_value: nil, uniqueness_key: nil)
245
- # Some parameter documentations has been truncated, see
246
- # {MetronomeSDK::Models::V2::ContractListResponse::Data} for more details.
247
- #
248
- # @param id [String]
249
- #
250
- # @param commits [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit>]
251
- #
252
- # @param created_at [Time]
253
- #
254
- # @param created_by [String]
255
- #
256
- # @param customer_id [String]
257
- #
258
- # @param overrides [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Override>]
259
- #
260
- # @param scheduled_charges [Array<MetronomeSDK::Models::ScheduledCharge>]
261
- #
262
- # @param starting_at [Time]
263
- #
264
- # @param transitions [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Transition>]
265
- #
266
- # @param usage_filter [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::UsageFilter>]
267
- #
268
- # @param usage_statement_schedule [MetronomeSDK::Models::V2::ContractListResponse::Data::UsageStatementSchedule]
269
- #
270
- # @param archived_at [Time]
271
- #
272
- # @param credits [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit>]
273
- #
274
- # @param custom_fields [Hash{Symbol=>String}]
275
- #
276
- # @param customer_billing_provider_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration] This field's availability is dependent on your client's configuration.
277
- #
278
- # @param discounts [Array<MetronomeSDK::Models::Discount>] This field's availability is dependent on your client's configuration.
279
- #
280
- # @param ending_before [Time]
281
- #
282
- # @param has_more [MetronomeSDK::Models::V2::ContractListResponse::Data::HasMore] Indicates whether there are more items than the limit for this endpoint. Use the
283
- #
284
- # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration, MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration] Either a **parent** configuration with a list of children or a **child** configu
285
- #
286
- # @param multiplier_override_prioritization [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::MultiplierOverridePrioritization] Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list price
287
- #
288
- # @param name [String]
289
- #
290
- # @param net_payment_terms_days [Float]
291
- #
292
- # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
293
- #
294
- # @param prepaid_balance_threshold_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration]
295
- #
296
- # @param priority [Float] Priority of the contract.
297
- #
298
- # @param professional_services [Array<MetronomeSDK::Models::ProService>] This field's availability is dependent on your client's configuration.
299
- #
300
- # @param rate_card_id [String]
301
- #
302
- # @param recurring_commits [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit>]
303
- #
304
- # @param recurring_credits [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit>]
305
- #
306
- # @param reseller_royalties [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::ResellerRoyalty>] This field's availability is dependent on your client's configuration.
307
- #
308
- # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
309
- #
310
- # @param scheduled_charges_on_usage_invoices [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledChargesOnUsageInvoices] Determines which scheduled and commit charges to consolidate onto the Contract's
311
- #
312
- # @param spend_threshold_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration]
313
- #
314
- # @param subscriptions [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription>] List of subscriptions on the contract.
315
- #
316
- # @param total_contract_value [Float]
317
- #
318
- # @param uniqueness_key [String] Prevents the creation of duplicates. If a request to create a record is made wit
319
-
320
- class Commit < MetronomeSDK::Internal::Type::BaseModel
321
- # @!attribute id
322
- #
323
- # @return [String]
324
- required :id, String
325
-
326
- # @!attribute product
327
- #
328
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Product]
329
- required :product, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Product }
330
-
331
- # @!attribute type
332
- #
333
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Type]
334
- required :type, enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Type }
335
-
336
- # @!attribute access_schedule
337
- # The schedule that the customer will gain access to the credits purposed with
338
- # this commit.
339
- #
340
- # @return [MetronomeSDK::Models::ScheduleDuration, nil]
341
- optional :access_schedule, -> { MetronomeSDK::ScheduleDuration }
342
-
343
- # @!attribute applicable_contract_ids
344
- #
345
- # @return [Array<String>, nil]
346
- optional :applicable_contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
347
-
348
- # @!attribute applicable_product_ids
349
- #
350
- # @return [Array<String>, nil]
351
- optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
352
-
353
- # @!attribute applicable_product_tags
354
- #
355
- # @return [Array<String>, nil]
356
- optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
357
-
358
- # @!attribute archived_at
359
- #
360
- # @return [Time, nil]
361
- optional :archived_at, Time
362
-
363
- # @!attribute balance
364
- # The current balance of the credit or commit. This balance reflects the amount of
365
- # credit or commit that the customer has access to use at this moment - thus,
366
- # expired and upcoming credit or commit segments contribute 0 to the balance. The
367
- # balance will match the sum of all ledger entries with the exception of the case
368
- # where the sum of negative manual ledger entries exceeds the positive amount
369
- # remaining on the credit or commit - in that case, the balance will be 0. All
370
- # manual ledger entries associated with active credit or commit segments are
371
- # included in the balance, including future-dated manual ledger entries.
372
- #
373
- # @return [Float, nil]
374
- optional :balance, Float
375
-
376
- # @!attribute contract
377
- #
378
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Contract, nil]
379
- optional :contract, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Contract }
380
-
381
- # @!attribute custom_fields
382
- #
383
- # @return [Hash{Symbol=>String}, nil]
384
- optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
385
-
386
- # @!attribute description
387
- #
388
- # @return [String, nil]
389
- optional :description, String
390
-
391
- # @!attribute hierarchy_configuration
392
- # Optional configuration for commit hierarchy access control
393
- #
394
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration, nil]
395
- optional :hierarchy_configuration,
396
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration }
397
-
398
- # @!attribute invoice_contract
399
- # The contract that this commit will be billed on.
400
- #
401
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceContract, nil]
402
- optional :invoice_contract,
403
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceContract }
404
-
405
- # @!attribute invoice_schedule
406
- # The schedule that the customer will be invoiced for this commit.
407
- #
408
- # @return [MetronomeSDK::Models::SchedulePointInTime, nil]
409
- optional :invoice_schedule, -> { MetronomeSDK::SchedulePointInTime }
410
-
411
- # @!attribute ledger
412
- # A list of ordered events that impact the balance of a commit. For example, an
413
- # invoice deduction or a rollover.
414
- #
415
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry>, nil]
416
- optional :ledger,
417
- -> { MetronomeSDK::Internal::Type::ArrayOf[union: MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger] }
418
-
419
- # @!attribute name
420
- #
421
- # @return [String, nil]
422
- optional :name, String
423
-
424
- # @!attribute netsuite_sales_order_id
425
- # This field's availability is dependent on your client's configuration.
426
- #
427
- # @return [String, nil]
428
- optional :netsuite_sales_order_id, String
429
-
430
- # @!attribute priority
431
- # If multiple credits or commits are applicable, the one with the lower priority
432
- # will apply first.
433
- #
434
- # @return [Float, nil]
435
- optional :priority, Float
436
-
437
- # @!attribute rate_type
438
- #
439
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::RateType, nil]
440
- optional :rate_type, enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::RateType }
441
-
442
- # @!attribute rolled_over_from
443
- #
444
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::RolledOverFrom, nil]
445
- optional :rolled_over_from,
446
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::RolledOverFrom }
447
-
448
- # @!attribute rollover_fraction
449
- #
450
- # @return [Float, nil]
451
- optional :rollover_fraction, Float
452
-
453
- # @!attribute salesforce_opportunity_id
454
- # This field's availability is dependent on your client's configuration.
455
- #
456
- # @return [String, nil]
457
- optional :salesforce_opportunity_id, String
458
-
459
- # @!attribute specifiers
460
- # List of filters that determine what kind of customer usage draws down a commit
461
- # or credit. A customer's usage needs to meet the condition of at least one of the
462
- # specifiers to contribute to a commit's or credit's drawdown.
463
- #
464
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Specifier>, nil]
465
- optional :specifiers,
466
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Specifier] }
467
-
468
- # @!method initialize(id:, product:, type:, access_schedule: 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)
469
- # Some parameter documentations has been truncated, see
470
- # {MetronomeSDK::Models::V2::ContractListResponse::Data::Commit} for more details.
471
- #
472
- # @param id [String]
473
- #
474
- # @param product [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Product]
475
- #
476
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Type]
477
- #
478
- # @param access_schedule [MetronomeSDK::Models::ScheduleDuration] The schedule that the customer will gain access to the credits purposed with thi
479
- #
480
- # @param applicable_contract_ids [Array<String>]
481
- #
482
- # @param applicable_product_ids [Array<String>]
483
- #
484
- # @param applicable_product_tags [Array<String>]
485
- #
486
- # @param archived_at [Time]
487
- #
488
- # @param balance [Float] The current balance of the credit or commit. This balance reflects the amount of
489
- #
490
- # @param contract [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Contract]
491
- #
492
- # @param custom_fields [Hash{Symbol=>String}]
493
- #
494
- # @param description [String]
495
- #
496
- # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration] Optional configuration for commit hierarchy access control
497
- #
498
- # @param invoice_contract [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceContract] The contract that this commit will be billed on.
499
- #
500
- # @param invoice_schedule [MetronomeSDK::Models::SchedulePointInTime] The schedule that the customer will be invoiced for this commit.
501
- #
502
- # @param ledger [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry>] A list of ordered events that impact the balance of a commit. For example, an in
503
- #
504
- # @param name [String]
505
- #
506
- # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
507
- #
508
- # @param priority [Float] If multiple credits or commits are applicable, the one with the lower priority w
509
- #
510
- # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::RateType]
511
- #
512
- # @param rolled_over_from [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::RolledOverFrom]
513
- #
514
- # @param rollover_fraction [Float]
515
- #
516
- # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
517
- #
518
- # @param specifiers [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
519
-
520
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#product
521
- class Product < MetronomeSDK::Internal::Type::BaseModel
522
- # @!attribute id
523
- #
524
- # @return [String]
525
- required :id, String
526
-
527
- # @!attribute name
528
- #
529
- # @return [String]
530
- required :name, String
531
-
532
- # @!method initialize(id:, name:)
533
- # @param id [String]
534
- # @param name [String]
535
- end
536
-
537
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#type
538
- module Type
539
- extend MetronomeSDK::Internal::Type::Enum
540
-
541
- PREPAID = :PREPAID
542
- POSTPAID = :POSTPAID
543
-
544
- # @!method self.values
545
- # @return [Array<Symbol>]
546
- end
547
-
548
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#contract
549
- class Contract < MetronomeSDK::Internal::Type::BaseModel
550
- # @!attribute id
551
- #
552
- # @return [String]
553
- required :id, String
554
-
555
- # @!method initialize(id:)
556
- # @param id [String]
557
- end
558
-
559
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#hierarchy_configuration
560
- class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
561
- # @!attribute child_access
562
- #
563
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
564
- required :child_access,
565
- union: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess }
566
-
567
- # @!method initialize(child_access:)
568
- # Optional configuration for commit hierarchy access control
569
- #
570
- # @param child_access [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
571
-
572
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration#child_access
573
- module ChildAccess
574
- extend MetronomeSDK::Internal::Type::Union
575
-
576
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
577
-
578
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
579
-
580
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
581
-
582
- class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
583
- # @!attribute type
584
- #
585
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
586
- required :type,
587
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
588
-
589
- # @!method initialize(type:)
590
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
591
-
592
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
593
- module Type
594
- extend MetronomeSDK::Internal::Type::Enum
595
-
596
- ALL = :ALL
597
-
598
- # @!method self.values
599
- # @return [Array<Symbol>]
600
- end
601
- end
602
-
603
- class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
604
- # @!attribute type
605
- #
606
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
607
- required :type,
608
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
609
-
610
- # @!method initialize(type:)
611
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
612
-
613
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
614
- module Type
615
- extend MetronomeSDK::Internal::Type::Enum
616
-
617
- NONE = :NONE
618
-
619
- # @!method self.values
620
- # @return [Array<Symbol>]
621
- end
622
- end
623
-
624
- class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
625
- # @!attribute contract_ids
626
- #
627
- # @return [Array<String>]
628
- required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
629
-
630
- # @!attribute type
631
- #
632
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
633
- required :type,
634
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
635
-
636
- # @!method initialize(contract_ids:, type:)
637
- # @param contract_ids [Array<String>]
638
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
639
-
640
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
641
- module Type
642
- extend MetronomeSDK::Internal::Type::Enum
643
-
644
- CONTRACT_IDS = :CONTRACT_IDS
645
-
646
- # @!method self.values
647
- # @return [Array<Symbol>]
648
- end
649
- end
650
-
651
- # @!method self.variants
652
- # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
653
- end
654
- end
655
-
656
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#invoice_contract
657
- class InvoiceContract < MetronomeSDK::Internal::Type::BaseModel
658
- # @!attribute id
659
- #
660
- # @return [String]
661
- required :id, String
662
-
663
- # @!method initialize(id:)
664
- # The contract that this commit will be billed on.
665
- #
666
- # @param id [String]
667
- end
668
-
669
- module Ledger
670
- extend MetronomeSDK::Internal::Type::Union
671
-
672
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry }
673
-
674
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry }
675
-
676
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry }
677
-
678
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry }
679
-
680
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry }
681
-
682
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry }
683
-
684
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry }
685
-
686
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry }
687
-
688
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry }
689
-
690
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry }
691
-
692
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry }
693
-
694
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry }
695
-
696
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry }
697
-
698
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry }
699
-
700
- class PrepaidCommitSegmentStartLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
701
- # @!attribute amount
702
- #
703
- # @return [Float]
704
- required :amount, Float
705
-
706
- # @!attribute segment_id
707
- #
708
- # @return [String]
709
- required :segment_id, String
710
-
711
- # @!attribute timestamp
712
- #
713
- # @return [Time]
714
- required :timestamp, Time
715
-
716
- # @!attribute type
717
- #
718
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type]
719
- required :type,
720
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type }
721
-
722
- # @!method initialize(amount:, segment_id:, timestamp:, type:)
723
- # @param amount [Float]
724
- # @param segment_id [String]
725
- # @param timestamp [Time]
726
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type]
727
-
728
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry#type
729
- module Type
730
- extend MetronomeSDK::Internal::Type::Enum
731
-
732
- PREPAID_COMMIT_SEGMENT_START = :PREPAID_COMMIT_SEGMENT_START
733
-
734
- # @!method self.values
735
- # @return [Array<Symbol>]
736
- end
737
- end
738
-
739
- class PrepaidCommitAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
740
- # @!attribute amount
741
- #
742
- # @return [Float]
743
- required :amount, Float
744
-
745
- # @!attribute invoice_id
746
- #
747
- # @return [String]
748
- required :invoice_id, String
749
-
750
- # @!attribute segment_id
751
- #
752
- # @return [String]
753
- required :segment_id, String
754
-
755
- # @!attribute timestamp
756
- #
757
- # @return [Time]
758
- required :timestamp, Time
759
-
760
- # @!attribute type
761
- #
762
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
763
- required :type,
764
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type }
765
-
766
- # @!attribute contract_id
767
- #
768
- # @return [String, nil]
769
- optional :contract_id, String
770
-
771
- # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:, contract_id: nil)
772
- # @param amount [Float]
773
- # @param invoice_id [String]
774
- # @param segment_id [String]
775
- # @param timestamp [Time]
776
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
777
- # @param contract_id [String]
778
-
779
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry#type
780
- module Type
781
- extend MetronomeSDK::Internal::Type::Enum
782
-
783
- PREPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION = :PREPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION
784
-
785
- # @!method self.values
786
- # @return [Array<Symbol>]
787
- end
788
- end
789
-
790
- class PrepaidCommitRolloverLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
791
- # @!attribute amount
792
- #
793
- # @return [Float]
794
- required :amount, Float
795
-
796
- # @!attribute new_contract_id
797
- #
798
- # @return [String]
799
- required :new_contract_id, String
800
-
801
- # @!attribute segment_id
802
- #
803
- # @return [String]
804
- required :segment_id, String
805
-
806
- # @!attribute timestamp
807
- #
808
- # @return [Time]
809
- required :timestamp, Time
810
-
811
- # @!attribute type
812
- #
813
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type]
814
- required :type,
815
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type }
816
-
817
- # @!method initialize(amount:, new_contract_id:, segment_id:, timestamp:, type:)
818
- # @param amount [Float]
819
- # @param new_contract_id [String]
820
- # @param segment_id [String]
821
- # @param timestamp [Time]
822
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type]
823
-
824
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry#type
825
- module Type
826
- extend MetronomeSDK::Internal::Type::Enum
827
-
828
- PREPAID_COMMIT_ROLLOVER = :PREPAID_COMMIT_ROLLOVER
829
-
830
- # @!method self.values
831
- # @return [Array<Symbol>]
832
- end
833
- end
834
-
835
- class PrepaidCommitExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
836
- # @!attribute amount
837
- #
838
- # @return [Float]
839
- required :amount, Float
840
-
841
- # @!attribute segment_id
842
- #
843
- # @return [String]
844
- required :segment_id, String
845
-
846
- # @!attribute timestamp
847
- #
848
- # @return [Time]
849
- required :timestamp, Time
850
-
851
- # @!attribute type
852
- #
853
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type]
854
- required :type,
855
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type }
856
-
857
- # @!method initialize(amount:, segment_id:, timestamp:, type:)
858
- # @param amount [Float]
859
- # @param segment_id [String]
860
- # @param timestamp [Time]
861
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type]
862
-
863
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry#type
864
- module Type
865
- extend MetronomeSDK::Internal::Type::Enum
866
-
867
- PREPAID_COMMIT_EXPIRATION = :PREPAID_COMMIT_EXPIRATION
868
-
869
- # @!method self.values
870
- # @return [Array<Symbol>]
871
- end
872
- end
873
-
874
- class PrepaidCommitCanceledLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
875
- # @!attribute amount
876
- #
877
- # @return [Float]
878
- required :amount, Float
879
-
880
- # @!attribute invoice_id
881
- #
882
- # @return [String]
883
- required :invoice_id, String
884
-
885
- # @!attribute segment_id
886
- #
887
- # @return [String]
888
- required :segment_id, String
889
-
890
- # @!attribute timestamp
891
- #
892
- # @return [Time]
893
- required :timestamp, Time
894
-
895
- # @!attribute type
896
- #
897
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type]
898
- required :type,
899
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type }
900
-
901
- # @!attribute contract_id
902
- #
903
- # @return [String, nil]
904
- optional :contract_id, String
905
-
906
- # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:, contract_id: nil)
907
- # @param amount [Float]
908
- # @param invoice_id [String]
909
- # @param segment_id [String]
910
- # @param timestamp [Time]
911
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type]
912
- # @param contract_id [String]
913
-
914
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry#type
915
- module Type
916
- extend MetronomeSDK::Internal::Type::Enum
917
-
918
- PREPAID_COMMIT_CANCELED = :PREPAID_COMMIT_CANCELED
919
-
920
- # @!method self.values
921
- # @return [Array<Symbol>]
922
- end
923
- end
924
-
925
- class PrepaidCommitCreditedLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
926
- # @!attribute amount
927
- #
928
- # @return [Float]
929
- required :amount, Float
930
-
931
- # @!attribute invoice_id
932
- #
933
- # @return [String]
934
- required :invoice_id, String
935
-
936
- # @!attribute segment_id
937
- #
938
- # @return [String]
939
- required :segment_id, String
940
-
941
- # @!attribute timestamp
942
- #
943
- # @return [Time]
944
- required :timestamp, Time
945
-
946
- # @!attribute type
947
- #
948
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type]
949
- required :type,
950
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type }
951
-
952
- # @!attribute contract_id
953
- #
954
- # @return [String, nil]
955
- optional :contract_id, String
956
-
957
- # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:, contract_id: nil)
958
- # @param amount [Float]
959
- # @param invoice_id [String]
960
- # @param segment_id [String]
961
- # @param timestamp [Time]
962
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type]
963
- # @param contract_id [String]
964
-
965
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry#type
966
- module Type
967
- extend MetronomeSDK::Internal::Type::Enum
968
-
969
- PREPAID_COMMIT_CREDITED = :PREPAID_COMMIT_CREDITED
970
-
971
- # @!method self.values
972
- # @return [Array<Symbol>]
973
- end
974
- end
975
-
976
- class PrepaidCommitSeatBasedAdjustmentLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
977
- # @!attribute amount
978
- #
979
- # @return [Float]
980
- required :amount, Float
981
-
982
- # @!attribute segment_id
983
- #
984
- # @return [String]
985
- required :segment_id, String
986
-
987
- # @!attribute timestamp
988
- #
989
- # @return [Time]
990
- required :timestamp, Time
991
-
992
- # @!attribute type
993
- #
994
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::Type]
995
- required :type,
996
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::Type }
997
-
998
- # @!method initialize(amount:, segment_id:, timestamp:, type:)
999
- # @param amount [Float]
1000
- # @param segment_id [String]
1001
- # @param timestamp [Time]
1002
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry::Type]
1003
-
1004
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry#type
1005
- module Type
1006
- extend MetronomeSDK::Internal::Type::Enum
1007
-
1008
- PREPAID_COMMIT_SEAT_BASED_ADJUSTMENT = :PREPAID_COMMIT_SEAT_BASED_ADJUSTMENT
1009
-
1010
- # @!method self.values
1011
- # @return [Array<Symbol>]
1012
- end
1013
- end
1014
-
1015
- class PostpaidCommitInitialBalanceLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1016
- # @!attribute amount
1017
- #
1018
- # @return [Float]
1019
- required :amount, Float
1020
-
1021
- # @!attribute timestamp
1022
- #
1023
- # @return [Time]
1024
- required :timestamp, Time
1025
-
1026
- # @!attribute type
1027
- #
1028
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type]
1029
- required :type,
1030
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type }
1031
-
1032
- # @!method initialize(amount:, timestamp:, type:)
1033
- # @param amount [Float]
1034
- # @param timestamp [Time]
1035
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type]
1036
-
1037
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry#type
1038
- module Type
1039
- extend MetronomeSDK::Internal::Type::Enum
1040
-
1041
- POSTPAID_COMMIT_INITIAL_BALANCE = :POSTPAID_COMMIT_INITIAL_BALANCE
1042
-
1043
- # @!method self.values
1044
- # @return [Array<Symbol>]
1045
- end
1046
- end
1047
-
1048
- class PostpaidCommitAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1049
- # @!attribute amount
1050
- #
1051
- # @return [Float]
1052
- required :amount, Float
1053
-
1054
- # @!attribute invoice_id
1055
- #
1056
- # @return [String]
1057
- required :invoice_id, String
1058
-
1059
- # @!attribute segment_id
1060
- #
1061
- # @return [String]
1062
- required :segment_id, String
1063
-
1064
- # @!attribute timestamp
1065
- #
1066
- # @return [Time]
1067
- required :timestamp, Time
1068
-
1069
- # @!attribute type
1070
- #
1071
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
1072
- required :type,
1073
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type }
1074
-
1075
- # @!attribute contract_id
1076
- #
1077
- # @return [String, nil]
1078
- optional :contract_id, String
1079
-
1080
- # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:, contract_id: nil)
1081
- # @param amount [Float]
1082
- # @param invoice_id [String]
1083
- # @param segment_id [String]
1084
- # @param timestamp [Time]
1085
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
1086
- # @param contract_id [String]
1087
-
1088
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry#type
1089
- module Type
1090
- extend MetronomeSDK::Internal::Type::Enum
1091
-
1092
- POSTPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION = :POSTPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION
1093
-
1094
- # @!method self.values
1095
- # @return [Array<Symbol>]
1096
- end
1097
- end
1098
-
1099
- class PostpaidCommitRolloverLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1100
- # @!attribute amount
1101
- #
1102
- # @return [Float]
1103
- required :amount, Float
1104
-
1105
- # @!attribute new_contract_id
1106
- #
1107
- # @return [String]
1108
- required :new_contract_id, String
1109
-
1110
- # @!attribute segment_id
1111
- #
1112
- # @return [String]
1113
- required :segment_id, String
1114
-
1115
- # @!attribute timestamp
1116
- #
1117
- # @return [Time]
1118
- required :timestamp, Time
1119
-
1120
- # @!attribute type
1121
- #
1122
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type]
1123
- required :type,
1124
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type }
1125
-
1126
- # @!method initialize(amount:, new_contract_id:, segment_id:, timestamp:, type:)
1127
- # @param amount [Float]
1128
- # @param new_contract_id [String]
1129
- # @param segment_id [String]
1130
- # @param timestamp [Time]
1131
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type]
1132
-
1133
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry#type
1134
- module Type
1135
- extend MetronomeSDK::Internal::Type::Enum
1136
-
1137
- POSTPAID_COMMIT_ROLLOVER = :POSTPAID_COMMIT_ROLLOVER
1138
-
1139
- # @!method self.values
1140
- # @return [Array<Symbol>]
1141
- end
1142
- end
1143
-
1144
- class PostpaidCommitTrueupLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1145
- # @!attribute amount
1146
- #
1147
- # @return [Float]
1148
- required :amount, Float
1149
-
1150
- # @!attribute invoice_id
1151
- #
1152
- # @return [String]
1153
- required :invoice_id, String
1154
-
1155
- # @!attribute timestamp
1156
- #
1157
- # @return [Time]
1158
- required :timestamp, Time
1159
-
1160
- # @!attribute type
1161
- #
1162
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type]
1163
- required :type,
1164
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type }
1165
-
1166
- # @!attribute contract_id
1167
- #
1168
- # @return [String, nil]
1169
- optional :contract_id, String
1170
-
1171
- # @!method initialize(amount:, invoice_id:, timestamp:, type:, contract_id: nil)
1172
- # @param amount [Float]
1173
- # @param invoice_id [String]
1174
- # @param timestamp [Time]
1175
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type]
1176
- # @param contract_id [String]
1177
-
1178
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry#type
1179
- module Type
1180
- extend MetronomeSDK::Internal::Type::Enum
1181
-
1182
- POSTPAID_COMMIT_TRUEUP = :POSTPAID_COMMIT_TRUEUP
1183
-
1184
- # @!method self.values
1185
- # @return [Array<Symbol>]
1186
- end
1187
- end
1188
-
1189
- class PrepaidCommitManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1190
- # @!attribute amount
1191
- #
1192
- # @return [Float]
1193
- required :amount, Float
1194
-
1195
- # @!attribute reason
1196
- #
1197
- # @return [String]
1198
- required :reason, String
1199
-
1200
- # @!attribute timestamp
1201
- #
1202
- # @return [Time]
1203
- required :timestamp, Time
1204
-
1205
- # @!attribute type
1206
- #
1207
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type]
1208
- required :type,
1209
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type }
1210
-
1211
- # @!method initialize(amount:, reason:, timestamp:, type:)
1212
- # @param amount [Float]
1213
- # @param reason [String]
1214
- # @param timestamp [Time]
1215
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type]
1216
-
1217
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry#type
1218
- module Type
1219
- extend MetronomeSDK::Internal::Type::Enum
1220
-
1221
- PREPAID_COMMIT_MANUAL = :PREPAID_COMMIT_MANUAL
1222
-
1223
- # @!method self.values
1224
- # @return [Array<Symbol>]
1225
- end
1226
- end
1227
-
1228
- class PostpaidCommitManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1229
- # @!attribute amount
1230
- #
1231
- # @return [Float]
1232
- required :amount, Float
1233
-
1234
- # @!attribute reason
1235
- #
1236
- # @return [String]
1237
- required :reason, String
1238
-
1239
- # @!attribute timestamp
1240
- #
1241
- # @return [Time]
1242
- required :timestamp, Time
1243
-
1244
- # @!attribute type
1245
- #
1246
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type]
1247
- required :type,
1248
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type }
1249
-
1250
- # @!method initialize(amount:, reason:, timestamp:, type:)
1251
- # @param amount [Float]
1252
- # @param reason [String]
1253
- # @param timestamp [Time]
1254
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type]
1255
-
1256
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry#type
1257
- module Type
1258
- extend MetronomeSDK::Internal::Type::Enum
1259
-
1260
- POSTPAID_COMMIT_MANUAL = :POSTPAID_COMMIT_MANUAL
1261
-
1262
- # @!method self.values
1263
- # @return [Array<Symbol>]
1264
- end
1265
- end
1266
-
1267
- class PostpaidCommitExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1268
- # @!attribute amount
1269
- #
1270
- # @return [Float]
1271
- required :amount, Float
1272
-
1273
- # @!attribute timestamp
1274
- #
1275
- # @return [Time]
1276
- required :timestamp, Time
1277
-
1278
- # @!attribute type
1279
- #
1280
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type]
1281
- required :type,
1282
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type }
1283
-
1284
- # @!method initialize(amount:, timestamp:, type:)
1285
- # @param amount [Float]
1286
- # @param timestamp [Time]
1287
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type]
1288
-
1289
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry#type
1290
- module Type
1291
- extend MetronomeSDK::Internal::Type::Enum
1292
-
1293
- POSTPAID_COMMIT_EXPIRATION = :POSTPAID_COMMIT_EXPIRATION
1294
-
1295
- # @!method self.values
1296
- # @return [Array<Symbol>]
1297
- end
1298
- end
1299
-
1300
- # @!method self.variants
1301
- # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSeatBasedAdjustmentLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry)]
1302
- end
1303
-
1304
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#rate_type
1305
- module RateType
1306
- extend MetronomeSDK::Internal::Type::Enum
1307
-
1308
- COMMIT_RATE = :COMMIT_RATE
1309
- LIST_RATE = :LIST_RATE
1310
-
1311
- # @!method self.values
1312
- # @return [Array<Symbol>]
1313
- end
1314
-
1315
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#rolled_over_from
1316
- class RolledOverFrom < MetronomeSDK::Internal::Type::BaseModel
1317
- # @!attribute commit_id
1318
- #
1319
- # @return [String]
1320
- required :commit_id, String
1321
-
1322
- # @!attribute contract_id
1323
- #
1324
- # @return [String]
1325
- required :contract_id, String
1326
-
1327
- # @!method initialize(commit_id:, contract_id:)
1328
- # @param commit_id [String]
1329
- # @param contract_id [String]
1330
- end
1331
-
1332
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
1333
- # @!attribute presentation_group_values
1334
- #
1335
- # @return [Hash{Symbol=>String}, nil]
1336
- optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1337
-
1338
- # @!attribute pricing_group_values
1339
- #
1340
- # @return [Hash{Symbol=>String}, nil]
1341
- optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1342
-
1343
- # @!attribute product_id
1344
- # If provided, the specifier will only apply to the product with the specified ID.
1345
- #
1346
- # @return [String, nil]
1347
- optional :product_id, String
1348
-
1349
- # @!attribute product_tags
1350
- # If provided, the specifier will only apply to products with all the specified
1351
- # tags.
1352
- #
1353
- # @return [Array<String>, nil]
1354
- optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1355
-
1356
- # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
1357
- # Some parameter documentations has been truncated, see
1358
- # {MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Specifier} for
1359
- # more details.
1360
- #
1361
- # @param presentation_group_values [Hash{Symbol=>String}]
1362
- #
1363
- # @param pricing_group_values [Hash{Symbol=>String}]
1364
- #
1365
- # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
1366
- #
1367
- # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
1368
- end
1369
- end
1370
-
1371
- class Override < MetronomeSDK::Internal::Type::BaseModel
1372
- # @!attribute id
1373
- #
1374
- # @return [String]
1375
- required :id, String
1376
-
1377
- # @!attribute starting_at
1378
- #
1379
- # @return [Time]
1380
- required :starting_at, Time
1381
-
1382
- # @!attribute applicable_product_tags
1383
- #
1384
- # @return [Array<String>, nil]
1385
- optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1386
-
1387
- # @!attribute ending_before
1388
- #
1389
- # @return [Time, nil]
1390
- optional :ending_before, Time
1391
-
1392
- # @!attribute entitled
1393
- #
1394
- # @return [Boolean, nil]
1395
- optional :entitled, MetronomeSDK::Internal::Type::Boolean
1396
-
1397
- # @!attribute is_commit_specific
1398
- #
1399
- # @return [Boolean, nil]
1400
- optional :is_commit_specific, MetronomeSDK::Internal::Type::Boolean
1401
-
1402
- # @!attribute multiplier
1403
- #
1404
- # @return [Float, nil]
1405
- optional :multiplier, Float
1406
-
1407
- # @!attribute override_specifiers
1408
- #
1409
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverrideSpecifier>, nil]
1410
- optional :override_specifiers,
1411
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverrideSpecifier] }
1412
-
1413
- # @!attribute override_tiers
1414
- #
1415
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverrideTier>, nil]
1416
- optional :override_tiers,
1417
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverrideTier] }
1418
-
1419
- # @!attribute overwrite_rate
1420
- #
1421
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate, nil]
1422
- optional :overwrite_rate,
1423
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate }
1424
-
1425
- # @!attribute priority
1426
- #
1427
- # @return [Float, nil]
1428
- optional :priority, Float
1429
-
1430
- # @!attribute product
1431
- #
1432
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Override::Product, nil]
1433
- optional :product, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Override::Product }
1434
-
1435
- # @!attribute target
1436
- #
1437
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Override::Target, nil]
1438
- optional :target, enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Override::Target }
1439
-
1440
- # @!attribute type
1441
- #
1442
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Override::Type, nil]
1443
- optional :type, enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Override::Type }
1444
-
1445
- # @!method initialize(id:, starting_at:, applicable_product_tags: nil, ending_before: nil, entitled: nil, is_commit_specific: nil, multiplier: nil, override_specifiers: nil, override_tiers: nil, overwrite_rate: nil, priority: nil, product: nil, target: nil, type: nil)
1446
- # @param id [String]
1447
- # @param starting_at [Time]
1448
- # @param applicable_product_tags [Array<String>]
1449
- # @param ending_before [Time]
1450
- # @param entitled [Boolean]
1451
- # @param is_commit_specific [Boolean]
1452
- # @param multiplier [Float]
1453
- # @param override_specifiers [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverrideSpecifier>]
1454
- # @param override_tiers [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverrideTier>]
1455
- # @param overwrite_rate [MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate]
1456
- # @param priority [Float]
1457
- # @param product [MetronomeSDK::Models::V2::ContractListResponse::Data::Override::Product]
1458
- # @param target [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Override::Target]
1459
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Override::Type]
1460
-
1461
- class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
1462
- # @!attribute billing_frequency
1463
- #
1464
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverrideSpecifier::BillingFrequency, nil]
1465
- optional :billing_frequency,
1466
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverrideSpecifier::BillingFrequency }
1467
-
1468
- # @!attribute commit_ids
1469
- #
1470
- # @return [Array<String>, nil]
1471
- optional :commit_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1472
-
1473
- # @!attribute presentation_group_values
1474
- #
1475
- # @return [Hash{Symbol=>String, nil}, nil]
1476
- optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String, nil?: true]
1477
-
1478
- # @!attribute pricing_group_values
1479
- #
1480
- # @return [Hash{Symbol=>String}, nil]
1481
- optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1482
-
1483
- # @!attribute product_id
1484
- #
1485
- # @return [String, nil]
1486
- optional :product_id, String
1487
-
1488
- # @!attribute product_tags
1489
- #
1490
- # @return [Array<String>, nil]
1491
- optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1492
-
1493
- # @!attribute recurring_commit_ids
1494
- #
1495
- # @return [Array<String>, nil]
1496
- optional :recurring_commit_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1497
-
1498
- # @!attribute recurring_credit_ids
1499
- #
1500
- # @return [Array<String>, nil]
1501
- optional :recurring_credit_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1502
-
1503
- # @!method initialize(billing_frequency: nil, commit_ids: nil, presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil, recurring_commit_ids: nil, recurring_credit_ids: nil)
1504
- # @param billing_frequency [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverrideSpecifier::BillingFrequency]
1505
- # @param commit_ids [Array<String>]
1506
- # @param presentation_group_values [Hash{Symbol=>String, nil}]
1507
- # @param pricing_group_values [Hash{Symbol=>String}]
1508
- # @param product_id [String]
1509
- # @param product_tags [Array<String>]
1510
- # @param recurring_commit_ids [Array<String>]
1511
- # @param recurring_credit_ids [Array<String>]
1512
-
1513
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverrideSpecifier#billing_frequency
1514
- module BillingFrequency
1515
- extend MetronomeSDK::Internal::Type::Enum
1516
-
1517
- MONTHLY = :MONTHLY
1518
- QUARTERLY = :QUARTERLY
1519
- ANNUAL = :ANNUAL
1520
- WEEKLY = :WEEKLY
1521
-
1522
- # @!method self.values
1523
- # @return [Array<Symbol>]
1524
- end
1525
- end
1526
-
1527
- class OverrideTier < MetronomeSDK::Internal::Type::BaseModel
1528
- # @!attribute multiplier
1529
- #
1530
- # @return [Float]
1531
- required :multiplier, Float
1532
-
1533
- # @!attribute size
1534
- #
1535
- # @return [Float, nil]
1536
- optional :size, Float
1537
-
1538
- # @!method initialize(multiplier:, size: nil)
1539
- # @param multiplier [Float]
1540
- # @param size [Float]
1541
- end
1542
-
1543
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Override#overwrite_rate
1544
- class OverwriteRate < MetronomeSDK::Internal::Type::BaseModel
1545
- # @!attribute rate_type
1546
- #
1547
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::RateType]
1548
- required :rate_type,
1549
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::RateType }
1550
-
1551
- # @!attribute credit_type
1552
- #
1553
- # @return [MetronomeSDK::Models::CreditTypeData, nil]
1554
- optional :credit_type, -> { MetronomeSDK::CreditTypeData }
1555
-
1556
- # @!attribute custom_rate
1557
- # Only set for CUSTOM rate_type. This field is interpreted by custom rate
1558
- # processors.
1559
- #
1560
- # @return [Hash{Symbol=>Object}, nil]
1561
- optional :custom_rate,
1562
- MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
1563
-
1564
- # @!attribute is_prorated
1565
- # Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
1566
- # set to true.
1567
- #
1568
- # @return [Boolean, nil]
1569
- optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
1570
-
1571
- # @!attribute price
1572
- # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
1573
- # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
1574
- #
1575
- # @return [Float, nil]
1576
- optional :price, Float
1577
-
1578
- # @!attribute quantity
1579
- # Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
1580
- #
1581
- # @return [Float, nil]
1582
- optional :quantity, Float
1583
-
1584
- # @!attribute tiers
1585
- # Only set for TIERED rate_type.
1586
- #
1587
- # @return [Array<MetronomeSDK::Models::Tier>, nil]
1588
- optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
1589
-
1590
- # @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
1591
- # Some parameter documentations has been truncated, see
1592
- # {MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate}
1593
- # for more details.
1594
- #
1595
- # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::RateType]
1596
- #
1597
- # @param credit_type [MetronomeSDK::Models::CreditTypeData]
1598
- #
1599
- # @param custom_rate [Hash{Symbol=>Object}] Only set for CUSTOM rate_type. This field is interpreted by custom rate processo
1600
- #
1601
- # @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
1602
- #
1603
- # @param price [Float] Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, t
1604
- #
1605
- # @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
1606
- #
1607
- # @param tiers [Array<MetronomeSDK::Models::Tier>] Only set for TIERED rate_type.
1608
-
1609
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate#rate_type
1610
- module RateType
1611
- extend MetronomeSDK::Internal::Type::Enum
1612
-
1613
- FLAT = :FLAT
1614
- PERCENTAGE = :PERCENTAGE
1615
- SUBSCRIPTION = :SUBSCRIPTION
1616
- TIERED = :TIERED
1617
- CUSTOM = :CUSTOM
1618
-
1619
- # @!method self.values
1620
- # @return [Array<Symbol>]
1621
- end
1622
- end
1623
-
1624
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Override#product
1625
- class Product < MetronomeSDK::Internal::Type::BaseModel
1626
- # @!attribute id
1627
- #
1628
- # @return [String]
1629
- required :id, String
1630
-
1631
- # @!attribute name
1632
- #
1633
- # @return [String]
1634
- required :name, String
1635
-
1636
- # @!method initialize(id:, name:)
1637
- # @param id [String]
1638
- # @param name [String]
1639
- end
1640
-
1641
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Override#target
1642
- module Target
1643
- extend MetronomeSDK::Internal::Type::Enum
1644
-
1645
- COMMIT_RATE = :COMMIT_RATE
1646
- LIST_RATE = :LIST_RATE
1647
-
1648
- # @!method self.values
1649
- # @return [Array<Symbol>]
1650
- end
1651
-
1652
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Override#type
1653
- module Type
1654
- extend MetronomeSDK::Internal::Type::Enum
1655
-
1656
- OVERWRITE = :OVERWRITE
1657
- MULTIPLIER = :MULTIPLIER
1658
- TIERED = :TIERED
1659
-
1660
- # @!method self.values
1661
- # @return [Array<Symbol>]
1662
- end
1663
- end
1664
-
1665
- class Transition < MetronomeSDK::Internal::Type::BaseModel
1666
- # @!attribute from_contract_id
1667
- #
1668
- # @return [String]
1669
- required :from_contract_id, String
1670
-
1671
- # @!attribute to_contract_id
1672
- #
1673
- # @return [String]
1674
- required :to_contract_id, String
1675
-
1676
- # @!attribute type
1677
- #
1678
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Transition::Type]
1679
- required :type, enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Transition::Type }
1680
-
1681
- # @!method initialize(from_contract_id:, to_contract_id:, type:)
1682
- # @param from_contract_id [String]
1683
- # @param to_contract_id [String]
1684
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Transition::Type]
1685
-
1686
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Transition#type
1687
- module Type
1688
- extend MetronomeSDK::Internal::Type::Enum
1689
-
1690
- SUPERSEDE = :SUPERSEDE
1691
- RENEWAL = :RENEWAL
1692
-
1693
- # @!method self.values
1694
- # @return [Array<Symbol>]
1695
- end
1696
- end
1697
-
1698
- class UsageFilter < MetronomeSDK::Internal::Type::BaseModel
1699
- # @!attribute group_key
1700
- #
1701
- # @return [String]
1702
- required :group_key, String
1703
-
1704
- # @!attribute group_values
1705
- #
1706
- # @return [Array<String>]
1707
- required :group_values, MetronomeSDK::Internal::Type::ArrayOf[String]
1708
-
1709
- # @!attribute starting_at
1710
- # This will match contract starting_at value if usage filter is active from the
1711
- # beginning of the contract.
1712
- #
1713
- # @return [Time]
1714
- required :starting_at, Time
1715
-
1716
- # @!attribute ending_before
1717
- # This will match contract ending_before value if usage filter is active until the
1718
- # end of the contract. It will be undefined if the contract is open-ended.
1719
- #
1720
- # @return [Time, nil]
1721
- optional :ending_before, Time
1722
-
1723
- # @!method initialize(group_key:, group_values:, starting_at:, ending_before: nil)
1724
- # Some parameter documentations has been truncated, see
1725
- # {MetronomeSDK::Models::V2::ContractListResponse::Data::UsageFilter} for more
1726
- # details.
1727
- #
1728
- # @param group_key [String]
1729
- #
1730
- # @param group_values [Array<String>]
1731
- #
1732
- # @param starting_at [Time] This will match contract starting_at value if usage filter is active from the be
1733
- #
1734
- # @param ending_before [Time] This will match contract ending_before value if usage filter is active until the
1735
- end
1736
-
1737
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data#usage_statement_schedule
1738
- class UsageStatementSchedule < MetronomeSDK::Internal::Type::BaseModel
1739
- # @!attribute billing_anchor_date
1740
- # Contract usage statements follow a selected cadence based on this date.
1741
- #
1742
- # @return [Time]
1743
- required :billing_anchor_date, Time
1744
-
1745
- # @!attribute frequency
1746
- #
1747
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::UsageStatementSchedule::Frequency]
1748
- required :frequency,
1749
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::UsageStatementSchedule::Frequency }
1750
-
1751
- # @!method initialize(billing_anchor_date:, frequency:)
1752
- # @param billing_anchor_date [Time] Contract usage statements follow a selected cadence based on this date.
1753
- #
1754
- # @param frequency [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::UsageStatementSchedule::Frequency]
1755
-
1756
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::UsageStatementSchedule#frequency
1757
- module Frequency
1758
- extend MetronomeSDK::Internal::Type::Enum
1759
-
1760
- MONTHLY = :MONTHLY
1761
- QUARTERLY = :QUARTERLY
1762
- ANNUAL = :ANNUAL
1763
- WEEKLY = :WEEKLY
1764
-
1765
- # @!method self.values
1766
- # @return [Array<Symbol>]
1767
- end
1768
- end
1769
-
1770
- class Credit < MetronomeSDK::Internal::Type::BaseModel
1771
- # @!attribute id
1772
- #
1773
- # @return [String]
1774
- required :id, String
1775
-
1776
- # @!attribute product
1777
- #
1778
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Product]
1779
- required :product, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Product }
1780
-
1781
- # @!attribute type
1782
- #
1783
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Type]
1784
- required :type, enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Type }
1785
-
1786
- # @!attribute access_schedule
1787
- # The schedule that the customer will gain access to the credits.
1788
- #
1789
- # @return [MetronomeSDK::Models::ScheduleDuration, nil]
1790
- optional :access_schedule, -> { MetronomeSDK::ScheduleDuration }
1791
-
1792
- # @!attribute applicable_contract_ids
1793
- #
1794
- # @return [Array<String>, nil]
1795
- optional :applicable_contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1796
-
1797
- # @!attribute applicable_product_ids
1798
- #
1799
- # @return [Array<String>, nil]
1800
- optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1801
-
1802
- # @!attribute applicable_product_tags
1803
- #
1804
- # @return [Array<String>, nil]
1805
- optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1806
-
1807
- # @!attribute balance
1808
- # The current balance of the credit or commit. This balance reflects the amount of
1809
- # credit or commit that the customer has access to use at this moment - thus,
1810
- # expired and upcoming credit or commit segments contribute 0 to the balance. The
1811
- # balance will match the sum of all ledger entries with the exception of the case
1812
- # where the sum of negative manual ledger entries exceeds the positive amount
1813
- # remaining on the credit or commit - in that case, the balance will be 0. All
1814
- # manual ledger entries associated with active credit or commit segments are
1815
- # included in the balance, including future-dated manual ledger entries.
1816
- #
1817
- # @return [Float, nil]
1818
- optional :balance, Float
1819
-
1820
- # @!attribute contract
1821
- #
1822
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Contract, nil]
1823
- optional :contract, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Contract }
1824
-
1825
- # @!attribute custom_fields
1826
- #
1827
- # @return [Hash{Symbol=>String}, nil]
1828
- optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
1829
-
1830
- # @!attribute description
1831
- #
1832
- # @return [String, nil]
1833
- optional :description, String
1834
-
1835
- # @!attribute hierarchy_configuration
1836
- # Optional configuration for credit hierarchy access control
1837
- #
1838
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration, nil]
1839
- optional :hierarchy_configuration,
1840
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration }
1841
-
1842
- # @!attribute ledger
1843
- # A list of ordered events that impact the balance of a credit. For example, an
1844
- # invoice deduction or an expiration.
1845
- #
1846
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry>, nil]
1847
- optional :ledger,
1848
- -> { MetronomeSDK::Internal::Type::ArrayOf[union: MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger] }
1849
-
1850
- # @!attribute name
1851
- #
1852
- # @return [String, nil]
1853
- optional :name, String
1854
-
1855
- # @!attribute netsuite_sales_order_id
1856
- # This field's availability is dependent on your client's configuration.
1857
- #
1858
- # @return [String, nil]
1859
- optional :netsuite_sales_order_id, String
1860
-
1861
- # @!attribute priority
1862
- # If multiple credits or commits are applicable, the one with the lower priority
1863
- # will apply first.
1864
- #
1865
- # @return [Float, nil]
1866
- optional :priority, Float
1867
-
1868
- # @!attribute salesforce_opportunity_id
1869
- # This field's availability is dependent on your client's configuration.
1870
- #
1871
- # @return [String, nil]
1872
- optional :salesforce_opportunity_id, String
1873
-
1874
- # @!attribute specifiers
1875
- # List of filters that determine what kind of customer usage draws down a commit
1876
- # or credit. A customer's usage needs to meet the condition of at least one of the
1877
- # specifiers to contribute to a commit's or credit's drawdown.
1878
- #
1879
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Specifier>, nil]
1880
- optional :specifiers,
1881
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Specifier] }
1882
-
1883
- # @!method initialize(id:, product:, type:, access_schedule: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, balance: nil, contract: nil, custom_fields: nil, description: nil, hierarchy_configuration: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, salesforce_opportunity_id: nil, specifiers: nil)
1884
- # Some parameter documentations has been truncated, see
1885
- # {MetronomeSDK::Models::V2::ContractListResponse::Data::Credit} for more details.
1886
- #
1887
- # @param id [String]
1888
- #
1889
- # @param product [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Product]
1890
- #
1891
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Type]
1892
- #
1893
- # @param access_schedule [MetronomeSDK::Models::ScheduleDuration] The schedule that the customer will gain access to the credits.
1894
- #
1895
- # @param applicable_contract_ids [Array<String>]
1896
- #
1897
- # @param applicable_product_ids [Array<String>]
1898
- #
1899
- # @param applicable_product_tags [Array<String>]
1900
- #
1901
- # @param balance [Float] The current balance of the credit or commit. This balance reflects the amount of
1902
- #
1903
- # @param contract [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Contract]
1904
- #
1905
- # @param custom_fields [Hash{Symbol=>String}]
1906
- #
1907
- # @param description [String]
1908
- #
1909
- # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration] Optional configuration for credit hierarchy access control
1910
- #
1911
- # @param ledger [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry>] A list of ordered events that impact the balance of a credit. For example, an in
1912
- #
1913
- # @param name [String]
1914
- #
1915
- # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
1916
- #
1917
- # @param priority [Float] If multiple credits or commits are applicable, the one with the lower priority w
1918
- #
1919
- # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
1920
- #
1921
- # @param specifiers [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
1922
-
1923
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit#product
1924
- class Product < MetronomeSDK::Internal::Type::BaseModel
1925
- # @!attribute id
1926
- #
1927
- # @return [String]
1928
- required :id, String
1929
-
1930
- # @!attribute name
1931
- #
1932
- # @return [String]
1933
- required :name, String
1934
-
1935
- # @!method initialize(id:, name:)
1936
- # @param id [String]
1937
- # @param name [String]
1938
- end
1939
-
1940
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit#type
1941
- module Type
1942
- extend MetronomeSDK::Internal::Type::Enum
1943
-
1944
- CREDIT = :CREDIT
1945
-
1946
- # @!method self.values
1947
- # @return [Array<Symbol>]
1948
- end
1949
-
1950
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit#contract
1951
- class Contract < MetronomeSDK::Internal::Type::BaseModel
1952
- # @!attribute id
1953
- #
1954
- # @return [String]
1955
- required :id, String
1956
-
1957
- # @!method initialize(id:)
1958
- # @param id [String]
1959
- end
1960
-
1961
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit#hierarchy_configuration
1962
- class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
1963
- # @!attribute child_access
1964
- #
1965
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
1966
- required :child_access,
1967
- union: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess }
1968
-
1969
- # @!method initialize(child_access:)
1970
- # Optional configuration for credit hierarchy access control
1971
- #
1972
- # @param child_access [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
1973
-
1974
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration#child_access
1975
- module ChildAccess
1976
- extend MetronomeSDK::Internal::Type::Union
1977
-
1978
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
1979
-
1980
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
1981
-
1982
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
1983
-
1984
- class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
1985
- # @!attribute type
1986
- #
1987
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
1988
- required :type,
1989
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
1990
-
1991
- # @!method initialize(type:)
1992
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
1993
-
1994
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
1995
- module Type
1996
- extend MetronomeSDK::Internal::Type::Enum
1997
-
1998
- ALL = :ALL
1999
-
2000
- # @!method self.values
2001
- # @return [Array<Symbol>]
2002
- end
2003
- end
2004
-
2005
- class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
2006
- # @!attribute type
2007
- #
2008
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
2009
- required :type,
2010
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
2011
-
2012
- # @!method initialize(type:)
2013
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
2014
-
2015
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
2016
- module Type
2017
- extend MetronomeSDK::Internal::Type::Enum
2018
-
2019
- NONE = :NONE
2020
-
2021
- # @!method self.values
2022
- # @return [Array<Symbol>]
2023
- end
2024
- end
2025
-
2026
- class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
2027
- # @!attribute contract_ids
2028
- #
2029
- # @return [Array<String>]
2030
- required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
2031
-
2032
- # @!attribute type
2033
- #
2034
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
2035
- required :type,
2036
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
2037
-
2038
- # @!method initialize(contract_ids:, type:)
2039
- # @param contract_ids [Array<String>]
2040
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
2041
-
2042
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
2043
- module Type
2044
- extend MetronomeSDK::Internal::Type::Enum
2045
-
2046
- CONTRACT_IDS = :CONTRACT_IDS
2047
-
2048
- # @!method self.values
2049
- # @return [Array<Symbol>]
2050
- end
2051
- end
2052
-
2053
- # @!method self.variants
2054
- # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
2055
- end
2056
- end
2057
-
2058
- module Ledger
2059
- extend MetronomeSDK::Internal::Type::Union
2060
-
2061
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry }
2062
-
2063
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry }
2064
-
2065
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry }
2066
-
2067
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry }
2068
-
2069
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry }
2070
-
2071
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry }
2072
-
2073
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry }
2074
-
2075
- class CreditSegmentStartLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2076
- # @!attribute amount
2077
- #
2078
- # @return [Float]
2079
- required :amount, Float
2080
-
2081
- # @!attribute segment_id
2082
- #
2083
- # @return [String]
2084
- required :segment_id, String
2085
-
2086
- # @!attribute timestamp
2087
- #
2088
- # @return [Time]
2089
- required :timestamp, Time
2090
-
2091
- # @!attribute type
2092
- #
2093
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::Type]
2094
- required :type,
2095
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::Type }
2096
-
2097
- # @!method initialize(amount:, segment_id:, timestamp:, type:)
2098
- # @param amount [Float]
2099
- # @param segment_id [String]
2100
- # @param timestamp [Time]
2101
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::Type]
2102
-
2103
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry#type
2104
- module Type
2105
- extend MetronomeSDK::Internal::Type::Enum
2106
-
2107
- CREDIT_SEGMENT_START = :CREDIT_SEGMENT_START
2108
-
2109
- # @!method self.values
2110
- # @return [Array<Symbol>]
2111
- end
2112
- end
2113
-
2114
- class CreditAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2115
- # @!attribute amount
2116
- #
2117
- # @return [Float]
2118
- required :amount, Float
2119
-
2120
- # @!attribute invoice_id
2121
- #
2122
- # @return [String]
2123
- required :invoice_id, String
2124
-
2125
- # @!attribute segment_id
2126
- #
2127
- # @return [String]
2128
- required :segment_id, String
2129
-
2130
- # @!attribute timestamp
2131
- #
2132
- # @return [Time]
2133
- required :timestamp, Time
2134
-
2135
- # @!attribute type
2136
- #
2137
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type]
2138
- required :type,
2139
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type }
2140
-
2141
- # @!attribute contract_id
2142
- #
2143
- # @return [String, nil]
2144
- optional :contract_id, String
2145
-
2146
- # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:, contract_id: nil)
2147
- # @param amount [Float]
2148
- # @param invoice_id [String]
2149
- # @param segment_id [String]
2150
- # @param timestamp [Time]
2151
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type]
2152
- # @param contract_id [String]
2153
-
2154
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry#type
2155
- module Type
2156
- extend MetronomeSDK::Internal::Type::Enum
2157
-
2158
- CREDIT_AUTOMATED_INVOICE_DEDUCTION = :CREDIT_AUTOMATED_INVOICE_DEDUCTION
2159
-
2160
- # @!method self.values
2161
- # @return [Array<Symbol>]
2162
- end
2163
- end
2164
-
2165
- class CreditExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2166
- # @!attribute amount
2167
- #
2168
- # @return [Float]
2169
- required :amount, Float
2170
-
2171
- # @!attribute segment_id
2172
- #
2173
- # @return [String]
2174
- required :segment_id, String
2175
-
2176
- # @!attribute timestamp
2177
- #
2178
- # @return [Time]
2179
- required :timestamp, Time
2180
-
2181
- # @!attribute type
2182
- #
2183
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::Type]
2184
- required :type,
2185
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::Type }
2186
-
2187
- # @!method initialize(amount:, segment_id:, timestamp:, type:)
2188
- # @param amount [Float]
2189
- # @param segment_id [String]
2190
- # @param timestamp [Time]
2191
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::Type]
2192
-
2193
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry#type
2194
- module Type
2195
- extend MetronomeSDK::Internal::Type::Enum
2196
-
2197
- CREDIT_EXPIRATION = :CREDIT_EXPIRATION
2198
-
2199
- # @!method self.values
2200
- # @return [Array<Symbol>]
2201
- end
2202
- end
2203
-
2204
- class CreditCanceledLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2205
- # @!attribute amount
2206
- #
2207
- # @return [Float]
2208
- required :amount, Float
2209
-
2210
- # @!attribute invoice_id
2211
- #
2212
- # @return [String]
2213
- required :invoice_id, String
2214
-
2215
- # @!attribute segment_id
2216
- #
2217
- # @return [String]
2218
- required :segment_id, String
2219
-
2220
- # @!attribute timestamp
2221
- #
2222
- # @return [Time]
2223
- required :timestamp, Time
2224
-
2225
- # @!attribute type
2226
- #
2227
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type]
2228
- required :type,
2229
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type }
2230
-
2231
- # @!attribute contract_id
2232
- #
2233
- # @return [String, nil]
2234
- optional :contract_id, String
2235
-
2236
- # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:, contract_id: nil)
2237
- # @param amount [Float]
2238
- # @param invoice_id [String]
2239
- # @param segment_id [String]
2240
- # @param timestamp [Time]
2241
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type]
2242
- # @param contract_id [String]
2243
-
2244
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry#type
2245
- module Type
2246
- extend MetronomeSDK::Internal::Type::Enum
2247
-
2248
- CREDIT_CANCELED = :CREDIT_CANCELED
2249
-
2250
- # @!method self.values
2251
- # @return [Array<Symbol>]
2252
- end
2253
- end
2254
-
2255
- class CreditCreditedLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2256
- # @!attribute amount
2257
- #
2258
- # @return [Float]
2259
- required :amount, Float
2260
-
2261
- # @!attribute invoice_id
2262
- #
2263
- # @return [String]
2264
- required :invoice_id, String
2265
-
2266
- # @!attribute segment_id
2267
- #
2268
- # @return [String]
2269
- required :segment_id, String
2270
-
2271
- # @!attribute timestamp
2272
- #
2273
- # @return [Time]
2274
- required :timestamp, Time
2275
-
2276
- # @!attribute type
2277
- #
2278
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type]
2279
- required :type,
2280
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type }
2281
-
2282
- # @!attribute contract_id
2283
- #
2284
- # @return [String, nil]
2285
- optional :contract_id, String
2286
-
2287
- # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:, contract_id: nil)
2288
- # @param amount [Float]
2289
- # @param invoice_id [String]
2290
- # @param segment_id [String]
2291
- # @param timestamp [Time]
2292
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type]
2293
- # @param contract_id [String]
2294
-
2295
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry#type
2296
- module Type
2297
- extend MetronomeSDK::Internal::Type::Enum
2298
-
2299
- CREDIT_CREDITED = :CREDIT_CREDITED
2300
-
2301
- # @!method self.values
2302
- # @return [Array<Symbol>]
2303
- end
2304
- end
2305
-
2306
- class CreditManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2307
- # @!attribute amount
2308
- #
2309
- # @return [Float]
2310
- required :amount, Float
2311
-
2312
- # @!attribute reason
2313
- #
2314
- # @return [String]
2315
- required :reason, String
2316
-
2317
- # @!attribute timestamp
2318
- #
2319
- # @return [Time]
2320
- required :timestamp, Time
2321
-
2322
- # @!attribute type
2323
- #
2324
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry::Type]
2325
- required :type,
2326
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry::Type }
2327
-
2328
- # @!method initialize(amount:, reason:, timestamp:, type:)
2329
- # @param amount [Float]
2330
- # @param reason [String]
2331
- # @param timestamp [Time]
2332
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry::Type]
2333
-
2334
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry#type
2335
- module Type
2336
- extend MetronomeSDK::Internal::Type::Enum
2337
-
2338
- CREDIT_MANUAL = :CREDIT_MANUAL
2339
-
2340
- # @!method self.values
2341
- # @return [Array<Symbol>]
2342
- end
2343
- end
2344
-
2345
- class CreditSeatBasedAdjustmentLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2346
- # @!attribute amount
2347
- #
2348
- # @return [Float]
2349
- required :amount, Float
2350
-
2351
- # @!attribute segment_id
2352
- #
2353
- # @return [String]
2354
- required :segment_id, String
2355
-
2356
- # @!attribute timestamp
2357
- #
2358
- # @return [Time]
2359
- required :timestamp, Time
2360
-
2361
- # @!attribute type
2362
- #
2363
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type]
2364
- required :type,
2365
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type }
2366
-
2367
- # @!method initialize(amount:, segment_id:, timestamp:, type:)
2368
- # @param amount [Float]
2369
- # @param segment_id [String]
2370
- # @param timestamp [Time]
2371
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type]
2372
-
2373
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry#type
2374
- module Type
2375
- extend MetronomeSDK::Internal::Type::Enum
2376
-
2377
- CREDIT_SEAT_BASED_ADJUSTMENT = :CREDIT_SEAT_BASED_ADJUSTMENT
2378
-
2379
- # @!method self.values
2380
- # @return [Array<Symbol>]
2381
- end
2382
- end
2383
-
2384
- # @!method self.variants
2385
- # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry)]
2386
- end
2387
-
2388
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
2389
- # @!attribute presentation_group_values
2390
- #
2391
- # @return [Hash{Symbol=>String}, nil]
2392
- optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2393
-
2394
- # @!attribute pricing_group_values
2395
- #
2396
- # @return [Hash{Symbol=>String}, nil]
2397
- optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2398
-
2399
- # @!attribute product_id
2400
- # If provided, the specifier will only apply to the product with the specified ID.
2401
- #
2402
- # @return [String, nil]
2403
- optional :product_id, String
2404
-
2405
- # @!attribute product_tags
2406
- # If provided, the specifier will only apply to products with all the specified
2407
- # tags.
2408
- #
2409
- # @return [Array<String>, nil]
2410
- optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
2411
-
2412
- # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
2413
- # Some parameter documentations has been truncated, see
2414
- # {MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Specifier} for
2415
- # more details.
2416
- #
2417
- # @param presentation_group_values [Hash{Symbol=>String}]
2418
- #
2419
- # @param pricing_group_values [Hash{Symbol=>String}]
2420
- #
2421
- # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
2422
- #
2423
- # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
2424
- end
2425
- end
2426
-
2427
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data#customer_billing_provider_configuration
2428
- class CustomerBillingProviderConfiguration < MetronomeSDK::Internal::Type::BaseModel
2429
- # @!attribute id
2430
- # ID of Customer's billing provider configuration.
2431
- #
2432
- # @return [String]
2433
- required :id, String
2434
-
2435
- # @!attribute billing_provider
2436
- #
2437
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration::BillingProvider]
2438
- required :billing_provider,
2439
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration::BillingProvider }
2440
-
2441
- # @!attribute delivery_method
2442
- #
2443
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod]
2444
- required :delivery_method,
2445
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod }
2446
-
2447
- # @!method initialize(id:, billing_provider:, delivery_method:)
2448
- # This field's availability is dependent on your client's configuration.
2449
- #
2450
- # @param id [String] ID of Customer's billing provider configuration.
2451
- #
2452
- # @param billing_provider [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration::BillingProvider]
2453
- #
2454
- # @param delivery_method [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod]
2455
-
2456
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration#billing_provider
2457
- module BillingProvider
2458
- extend MetronomeSDK::Internal::Type::Enum
2459
-
2460
- AWS_MARKETPLACE = :aws_marketplace
2461
- STRIPE = :stripe
2462
- NETSUITE = :netsuite
2463
- CUSTOM = :custom
2464
- AZURE_MARKETPLACE = :azure_marketplace
2465
- QUICKBOOKS_ONLINE = :quickbooks_online
2466
- WORKDAY = :workday
2467
- GCP_MARKETPLACE = :gcp_marketplace
2468
-
2469
- # @!method self.values
2470
- # @return [Array<Symbol>]
2471
- end
2472
-
2473
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration#delivery_method
2474
- module DeliveryMethod
2475
- extend MetronomeSDK::Internal::Type::Enum
2476
-
2477
- DIRECT_TO_BILLING_PROVIDER = :direct_to_billing_provider
2478
- AWS_SQS = :aws_sqs
2479
- TACKLE = :tackle
2480
- AWS_SNS = :aws_sns
2481
-
2482
- # @!method self.values
2483
- # @return [Array<Symbol>]
2484
- end
2485
- end
2486
-
2487
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data#has_more
2488
- class HasMore < MetronomeSDK::Internal::Type::BaseModel
2489
- # @!attribute commits
2490
- # Whether there are more commits on this contract than the limit for this
2491
- # endpoint. Use the /contracts/customerCommits/list endpoint to get the full list
2492
- # of commits.
2493
- #
2494
- # @return [Boolean]
2495
- required :commits, MetronomeSDK::Internal::Type::Boolean
2496
-
2497
- # @!attribute credits
2498
- # Whether there are more credits on this contract than the limit for this
2499
- # endpoint. Use the /contracts/customerCredits/list endpoint to get the full list
2500
- # of credits.
2501
- #
2502
- # @return [Boolean]
2503
- required :credits, MetronomeSDK::Internal::Type::Boolean
2504
-
2505
- # @!method initialize(commits:, credits:)
2506
- # Some parameter documentations has been truncated, see
2507
- # {MetronomeSDK::Models::V2::ContractListResponse::Data::HasMore} for more
2508
- # details.
2509
- #
2510
- # Indicates whether there are more items than the limit for this endpoint. Use the
2511
- # respective list endpoints to get the full lists.
2512
- #
2513
- # @param commits [Boolean] Whether there are more commits on this contract than the limit for this endpoint
2514
- #
2515
- # @param credits [Boolean] Whether there are more credits on this contract than the limit for this endpoint
2516
- end
2517
-
2518
- # Either a **parent** configuration with a list of children or a **child**
2519
- # configuration with a single parent.
2520
- #
2521
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data#hierarchy_configuration
2522
- module HierarchyConfiguration
2523
- extend MetronomeSDK::Internal::Type::Union
2524
-
2525
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration }
2526
-
2527
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration }
2528
-
2529
- class ParentHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
2530
- # @!attribute children
2531
- # List of contracts that belong to this parent.
2532
- #
2533
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration::Child>]
2534
- required :children,
2535
- -> do
2536
- MetronomeSDK::Internal::Type::ArrayOf[
2537
- MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration::Child
2538
- ]
2539
- end
2540
-
2541
- # @!method initialize(children:)
2542
- # @param children [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration::Child>] List of contracts that belong to this parent.
2543
-
2544
- class Child < MetronomeSDK::Internal::Type::BaseModel
2545
- # @!attribute contract_id
2546
- #
2547
- # @return [String]
2548
- required :contract_id, String
2549
-
2550
- # @!attribute customer_id
2551
- #
2552
- # @return [String]
2553
- required :customer_id, String
2554
-
2555
- # @!method initialize(contract_id:, customer_id:)
2556
- # @param contract_id [String]
2557
- # @param customer_id [String]
2558
- end
2559
- end
2560
-
2561
- class ChildHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
2562
- # @!attribute parent
2563
- # The single parent contract/customer for this child.
2564
- #
2565
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration::Parent]
2566
- required :parent,
2567
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration::Parent }
2568
-
2569
- # @!method initialize(parent:)
2570
- # @param parent [MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration::Parent] The single parent contract/customer for this child.
2571
-
2572
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration#parent
2573
- class Parent < MetronomeSDK::Internal::Type::BaseModel
2574
- # @!attribute contract_id
2575
- #
2576
- # @return [String]
2577
- required :contract_id, String
2578
-
2579
- # @!attribute customer_id
2580
- #
2581
- # @return [String]
2582
- required :customer_id, String
2583
-
2584
- # @!method initialize(contract_id:, customer_id:)
2585
- # The single parent contract/customer for this child.
2586
- #
2587
- # @param contract_id [String]
2588
- # @param customer_id [String]
2589
- end
2590
- end
2591
-
2592
- # @!method self.variants
2593
- # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ParentHierarchyConfiguration, MetronomeSDK::Models::V2::ContractListResponse::Data::HierarchyConfiguration::ChildHierarchyConfiguration)]
2594
- end
2595
-
2596
- # Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list
2597
- # prices automatically. EXPLICIT prioritization requires specifying priorities for
2598
- # each multiplier; the one with the lowest priority value will be prioritized
2599
- # first.
2600
- #
2601
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data#multiplier_override_prioritization
2602
- module MultiplierOverridePrioritization
2603
- extend MetronomeSDK::Internal::Type::Enum
2604
-
2605
- LOWEST_MULTIPLIER = :LOWEST_MULTIPLIER
2606
- EXPLICIT = :EXPLICIT
2607
-
2608
- # @!method self.values
2609
- # @return [Array<Symbol>]
2610
- end
2611
-
2612
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data#prepaid_balance_threshold_configuration
2613
- class PrepaidBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
2614
- # @!attribute commit
2615
- #
2616
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit]
2617
- required :commit,
2618
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit }
2619
-
2620
- # @!attribute is_enabled
2621
- # When set to false, the contract will not be evaluated against the
2622
- # threshold_amount. Toggling to true will result an immediate evaluation,
2623
- # regardless of prior state.
2624
- #
2625
- # @return [Boolean]
2626
- required :is_enabled, MetronomeSDK::Internal::Type::Boolean
2627
-
2628
- # @!attribute payment_gate_config
2629
- #
2630
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig]
2631
- required :payment_gate_config,
2632
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig }
2633
-
2634
- # @!attribute recharge_to_amount
2635
- # Specify the amount the balance should be recharged to.
2636
- #
2637
- # @return [Float]
2638
- required :recharge_to_amount, Float
2639
-
2640
- # @!attribute threshold_amount
2641
- # Specify the threshold amount for the contract. Each time the contract's balance
2642
- # lowers to this amount, a threshold charge will be initiated.
2643
- #
2644
- # @return [Float]
2645
- required :threshold_amount, Float
2646
-
2647
- # @!attribute custom_credit_type_id
2648
- # If provided, the threshold, recharge-to amount, and the resulting threshold
2649
- # commit amount will be in terms of this credit type instead of the fiat currency.
2650
- #
2651
- # @return [String, nil]
2652
- optional :custom_credit_type_id, String
2653
-
2654
- # @!method initialize(commit:, is_enabled:, payment_gate_config:, recharge_to_amount:, threshold_amount:, custom_credit_type_id: nil)
2655
- # Some parameter documentations has been truncated, see
2656
- # {MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration}
2657
- # for more details.
2658
- #
2659
- # @param commit [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit]
2660
- #
2661
- # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
2662
- #
2663
- # @param payment_gate_config [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig]
2664
- #
2665
- # @param recharge_to_amount [Float] Specify the amount the balance should be recharged to.
2666
- #
2667
- # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's balance
2668
- #
2669
- # @param custom_credit_type_id [String] If provided, the threshold, recharge-to amount, and the resulting threshold comm
2670
-
2671
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration#commit
2672
- class Commit < MetronomeSDK::Internal::Type::BaseModel
2673
- # @!attribute product_id
2674
- # The commit product that will be used to generate the line item for commit
2675
- # payment.
2676
- #
2677
- # @return [String]
2678
- required :product_id, String
2679
-
2680
- # @!attribute applicable_product_ids
2681
- # Which products the threshold commit applies to. If applicable_product_ids,
2682
- # applicable_product_tags or specifiers are not provided, the commit applies to
2683
- # all products.
2684
- #
2685
- # @return [Array<String>, nil]
2686
- optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
2687
-
2688
- # @!attribute applicable_product_tags
2689
- # Which tags the threshold commit applies to. If applicable_product_ids,
2690
- # applicable_product_tags or specifiers are not provided, the commit applies to
2691
- # all products.
2692
- #
2693
- # @return [Array<String>, nil]
2694
- optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
2695
-
2696
- # @!attribute description
2697
- #
2698
- # @return [String, nil]
2699
- optional :description, String
2700
-
2701
- # @!attribute name
2702
- # Specify the name of the line item for the threshold charge. If left blank, it
2703
- # will default to the commit product name.
2704
- #
2705
- # @return [String, nil]
2706
- optional :name, String
2707
-
2708
- # @!attribute specifiers
2709
- # List of filters that determine what kind of customer usage draws down a commit
2710
- # or credit. A customer's usage needs to meet the condition of at least one of the
2711
- # specifiers to contribute to a commit's or credit's drawdown. This field cannot
2712
- # be used together with `applicable_product_ids` or `applicable_product_tags`.
2713
- # Instead, to target usage by product or product tag, pass those values in the
2714
- # body of `specifiers`.
2715
- #
2716
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier>, nil]
2717
- optional :specifiers,
2718
- -> do
2719
- MetronomeSDK::Internal::Type::ArrayOf[
2720
- MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier
2721
- ]
2722
- end
2723
-
2724
- # @!method initialize(product_id:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil, specifiers: nil)
2725
- # Some parameter documentations has been truncated, see
2726
- # {MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit}
2727
- # for more details.
2728
- #
2729
- # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
2730
- #
2731
- # @param applicable_product_ids [Array<String>] Which products the threshold commit applies to. If applicable_product_ids, appli
2732
- #
2733
- # @param applicable_product_tags [Array<String>] Which tags the threshold commit applies to. If applicable_product_ids, applicabl
2734
- #
2735
- # @param description [String]
2736
- #
2737
- # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
2738
- #
2739
- # @param specifiers [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
2740
-
2741
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
2742
- # @!attribute presentation_group_values
2743
- #
2744
- # @return [Hash{Symbol=>String}, nil]
2745
- optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2746
-
2747
- # @!attribute pricing_group_values
2748
- #
2749
- # @return [Hash{Symbol=>String}, nil]
2750
- optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
2751
-
2752
- # @!attribute product_id
2753
- # If provided, the specifier will only apply to the product with the specified ID.
2754
- #
2755
- # @return [String, nil]
2756
- optional :product_id, String
2757
-
2758
- # @!attribute product_tags
2759
- # If provided, the specifier will only apply to products with all the specified
2760
- # tags.
2761
- #
2762
- # @return [Array<String>, nil]
2763
- optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
2764
-
2765
- # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
2766
- # Some parameter documentations has been truncated, see
2767
- # {MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::Specifier}
2768
- # for more details.
2769
- #
2770
- # @param presentation_group_values [Hash{Symbol=>String}]
2771
- #
2772
- # @param pricing_group_values [Hash{Symbol=>String}]
2773
- #
2774
- # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
2775
- #
2776
- # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
2777
- end
2778
- end
2779
-
2780
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration#payment_gate_config
2781
- class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
2782
- # @!attribute payment_gate_type
2783
- # Gate access to the commit balance based on successful collection of payment.
2784
- # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
2785
- # facilitate payment using your own payment integration. Select NONE if you do not
2786
- # wish to payment gate the commit balance.
2787
- #
2788
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType]
2789
- required :payment_gate_type,
2790
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType }
2791
-
2792
- # @!attribute precalculated_tax_config
2793
- # Only applicable if using PRECALCULATED as your tax type.
2794
- #
2795
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig, nil]
2796
- optional :precalculated_tax_config,
2797
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig }
2798
-
2799
- # @!attribute stripe_config
2800
- # Only applicable if using STRIPE as your payment gateway type.
2801
- #
2802
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
2803
- optional :stripe_config,
2804
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig }
2805
-
2806
- # @!attribute tax_type
2807
- # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
2808
- # not wish Metronome to calculate tax on your behalf. Leaving this field blank
2809
- # will default to NONE.
2810
- #
2811
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType, nil]
2812
- optional :tax_type,
2813
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType }
2814
-
2815
- # @!method initialize(payment_gate_type:, precalculated_tax_config: nil, stripe_config: nil, tax_type: nil)
2816
- # Some parameter documentations has been truncated, see
2817
- # {MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig}
2818
- # for more details.
2819
- #
2820
- # @param payment_gate_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
2821
- #
2822
- # @param precalculated_tax_config [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig] Only applicable if using PRECALCULATED as your tax type.
2823
- #
2824
- # @param stripe_config [MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using STRIPE as your payment gateway type.
2825
- #
2826
- # @param tax_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
2827
-
2828
- # Gate access to the commit balance based on successful collection of payment.
2829
- # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
2830
- # facilitate payment using your own payment integration. Select NONE if you do not
2831
- # wish to payment gate the commit balance.
2832
- #
2833
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#payment_gate_type
2834
- module PaymentGateType
2835
- extend MetronomeSDK::Internal::Type::Enum
2836
-
2837
- NONE = :NONE
2838
- STRIPE = :STRIPE
2839
- EXTERNAL = :EXTERNAL
2840
-
2841
- # @!method self.values
2842
- # @return [Array<Symbol>]
2843
- end
2844
-
2845
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#precalculated_tax_config
2846
- class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
2847
- # @!attribute tax_amount
2848
- # Amount of tax to be applied. This should be in the same currency and
2849
- # denomination as the commit's invoice schedule
2850
- #
2851
- # @return [Float]
2852
- required :tax_amount, Float
2853
-
2854
- # @!attribute tax_name
2855
- # Name of the tax to be applied. This may be used in an invoice line item
2856
- # description.
2857
- #
2858
- # @return [String, nil]
2859
- optional :tax_name, String
2860
-
2861
- # @!method initialize(tax_amount:, tax_name: nil)
2862
- # Some parameter documentations has been truncated, see
2863
- # {MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig}
2864
- # for more details.
2865
- #
2866
- # Only applicable if using PRECALCULATED as your tax type.
2867
- #
2868
- # @param tax_amount [Float] Amount of tax to be applied. This should be in the same currency and denominatio
2869
- #
2870
- # @param tax_name [String] Name of the tax to be applied. This may be used in an invoice line item descript
2871
- end
2872
-
2873
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#stripe_config
2874
- class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
2875
- # @!attribute payment_type
2876
- # If left blank, will default to INVOICE
2877
- #
2878
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
2879
- required :payment_type,
2880
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType }
2881
-
2882
- # @!attribute invoice_metadata
2883
- # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
2884
- # your payment type.
2885
- #
2886
- # @return [Hash{Symbol=>String}, nil]
2887
- optional :invoice_metadata, MetronomeSDK::Internal::Type::HashOf[String]
2888
-
2889
- # @!method initialize(payment_type:, invoice_metadata: nil)
2890
- # Some parameter documentations has been truncated, see
2891
- # {MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig}
2892
- # for more details.
2893
- #
2894
- # Only applicable if using STRIPE as your payment gateway type.
2895
- #
2896
- # @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
2897
- #
2898
- # @param invoice_metadata [Hash{Symbol=>String}] Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
2899
-
2900
- # If left blank, will default to INVOICE
2901
- #
2902
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
2903
- module PaymentType
2904
- extend MetronomeSDK::Internal::Type::Enum
2905
-
2906
- INVOICE = :INVOICE
2907
- PAYMENT_INTENT = :PAYMENT_INTENT
2908
-
2909
- # @!method self.values
2910
- # @return [Array<Symbol>]
2911
- end
2912
- end
2913
-
2914
- # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
2915
- # not wish Metronome to calculate tax on your behalf. Leaving this field blank
2916
- # will default to NONE.
2917
- #
2918
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig#tax_type
2919
- module TaxType
2920
- extend MetronomeSDK::Internal::Type::Enum
2921
-
2922
- NONE = :NONE
2923
- STRIPE = :STRIPE
2924
- ANROK = :ANROK
2925
- PRECALCULATED = :PRECALCULATED
2926
-
2927
- # @!method self.values
2928
- # @return [Array<Symbol>]
2929
- end
2930
- end
2931
- end
2932
-
2933
- class RecurringCommit < MetronomeSDK::Internal::Type::BaseModel
2934
- # @!attribute id
2935
- #
2936
- # @return [String]
2937
- required :id, String
2938
-
2939
- # @!attribute access_amount
2940
- # The amount of commit to grant.
2941
- #
2942
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::AccessAmount]
2943
- required :access_amount,
2944
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::AccessAmount }
2945
-
2946
- # @!attribute commit_duration
2947
- # The amount of time the created commits will be valid for
2948
- #
2949
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::CommitDuration]
2950
- required :commit_duration,
2951
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::CommitDuration }
2952
-
2953
- # @!attribute priority
2954
- # Will be passed down to the individual commits
2955
- #
2956
- # @return [Float]
2957
- required :priority, Float
2958
-
2959
- # @!attribute product
2960
- #
2961
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Product]
2962
- required :product, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Product }
2963
-
2964
- # @!attribute rate_type
2965
- # Whether the created commits will use the commit rate or list rate
2966
- #
2967
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::RateType]
2968
- required :rate_type,
2969
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::RateType }
2970
-
2971
- # @!attribute starting_at
2972
- # Determines the start time for the first commit
2973
- #
2974
- # @return [Time]
2975
- required :starting_at, Time
2976
-
2977
- # @!attribute applicable_product_ids
2978
- # Will be passed down to the individual commits
2979
- #
2980
- # @return [Array<String>, nil]
2981
- optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
2982
-
2983
- # @!attribute applicable_product_tags
2984
- # Will be passed down to the individual commits
2985
- #
2986
- # @return [Array<String>, nil]
2987
- optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
2988
-
2989
- # @!attribute contract
2990
- #
2991
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Contract, nil]
2992
- optional :contract, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Contract }
2993
-
2994
- # @!attribute description
2995
- # Will be passed down to the individual commits
2996
- #
2997
- # @return [String, nil]
2998
- optional :description, String
2999
-
3000
- # @!attribute ending_before
3001
- # Determines when the contract will stop creating recurring commits. Optional
3002
- #
3003
- # @return [Time, nil]
3004
- optional :ending_before, Time
3005
-
3006
- # @!attribute hierarchy_configuration
3007
- # Optional configuration for recurring credit hierarchy access control
3008
- #
3009
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration, nil]
3010
- optional :hierarchy_configuration,
3011
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration }
3012
-
3013
- # @!attribute invoice_amount
3014
- # The amount the customer should be billed for the commit. Not required.
3015
- #
3016
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::InvoiceAmount, nil]
3017
- optional :invoice_amount,
3018
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::InvoiceAmount }
3019
-
3020
- # @!attribute name
3021
- # Displayed on invoices. Will be passed through to the individual commits
3022
- #
3023
- # @return [String, nil]
3024
- optional :name, String
3025
-
3026
- # @!attribute netsuite_sales_order_id
3027
- # Will be passed down to the individual commits
3028
- #
3029
- # @return [String, nil]
3030
- optional :netsuite_sales_order_id, String
3031
-
3032
- # @!attribute proration
3033
- # Determines whether the first and last commit will be prorated. If not provided,
3034
- # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3035
- #
3036
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Proration, nil]
3037
- optional :proration,
3038
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Proration }
3039
-
3040
- # @!attribute recurrence_frequency
3041
- # The frequency at which the recurring commits will be created. If not provided: -
3042
- # The commits will be created on the usage invoice frequency. If provided: - The
3043
- # period defined in the duration will correspond to this frequency. - Commits will
3044
- # be created aligned with the recurring commit's starting_at rather than the usage
3045
- # invoice dates.
3046
- #
3047
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::RecurrenceFrequency, nil]
3048
- optional :recurrence_frequency,
3049
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::RecurrenceFrequency }
3050
-
3051
- # @!attribute rollover_fraction
3052
- # Will be passed down to the individual commits. This controls how much of an
3053
- # individual unexpired commit will roll over upon contract transition. Must be
3054
- # between 0 and 1.
3055
- #
3056
- # @return [Float, nil]
3057
- optional :rollover_fraction, Float
3058
-
3059
- # @!attribute specifiers
3060
- # List of filters that determine what kind of customer usage draws down a commit
3061
- # or credit. A customer's usage needs to meet the condition of at least one of the
3062
- # specifiers to contribute to a commit's or credit's drawdown.
3063
- #
3064
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Specifier>, nil]
3065
- optional :specifiers,
3066
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Specifier] }
3067
-
3068
- # @!attribute subscription_config
3069
- # Attach a subscription to the recurring commit/credit.
3070
- #
3071
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig, nil]
3072
- optional :subscription_config,
3073
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig }
3074
-
3075
- # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, hierarchy_configuration: nil, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, subscription_config: nil)
3076
- # Some parameter documentations has been truncated, see
3077
- # {MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit} for more
3078
- # details.
3079
- #
3080
- # @param id [String]
3081
- #
3082
- # @param access_amount [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::AccessAmount] The amount of commit to grant.
3083
- #
3084
- # @param commit_duration [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::CommitDuration] The amount of time the created commits will be valid for
3085
- #
3086
- # @param priority [Float] Will be passed down to the individual commits
3087
- #
3088
- # @param product [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Product]
3089
- #
3090
- # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::RateType] Whether the created commits will use the commit rate or list rate
3091
- #
3092
- # @param starting_at [Time] Determines the start time for the first commit
3093
- #
3094
- # @param applicable_product_ids [Array<String>] Will be passed down to the individual commits
3095
- #
3096
- # @param applicable_product_tags [Array<String>] Will be passed down to the individual commits
3097
- #
3098
- # @param contract [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Contract]
3099
- #
3100
- # @param description [String] Will be passed down to the individual commits
3101
- #
3102
- # @param ending_before [Time] Determines when the contract will stop creating recurring commits. Optional
3103
- #
3104
- # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration] Optional configuration for recurring credit hierarchy access control
3105
- #
3106
- # @param invoice_amount [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::InvoiceAmount] The amount the customer should be billed for the commit. Not required.
3107
- #
3108
- # @param name [String] Displayed on invoices. Will be passed through to the individual commits
3109
- #
3110
- # @param netsuite_sales_order_id [String] Will be passed down to the individual commits
3111
- #
3112
- # @param proration [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Proration] Determines whether the first and last commit will be prorated. If not provided,
3113
- #
3114
- # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
3115
- #
3116
- # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
3117
- #
3118
- # @param specifiers [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
3119
- #
3120
- # @param subscription_config [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig] Attach a subscription to the recurring commit/credit.
3121
-
3122
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#access_amount
3123
- class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
3124
- # @!attribute credit_type_id
3125
- #
3126
- # @return [String]
3127
- required :credit_type_id, String
3128
-
3129
- # @!attribute unit_price
3130
- #
3131
- # @return [Float]
3132
- required :unit_price, Float
3133
-
3134
- # @!attribute quantity
3135
- #
3136
- # @return [Float, nil]
3137
- optional :quantity, Float
3138
-
3139
- # @!method initialize(credit_type_id:, unit_price:, quantity: nil)
3140
- # The amount of commit to grant.
3141
- #
3142
- # @param credit_type_id [String]
3143
- # @param unit_price [Float]
3144
- # @param quantity [Float]
3145
- end
3146
-
3147
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#commit_duration
3148
- class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
3149
- # @!attribute value
3150
- #
3151
- # @return [Float]
3152
- required :value, Float
3153
-
3154
- # @!attribute unit
3155
- #
3156
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::CommitDuration::Unit, nil]
3157
- optional :unit,
3158
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::CommitDuration::Unit }
3159
-
3160
- # @!method initialize(value:, unit: nil)
3161
- # The amount of time the created commits will be valid for
3162
- #
3163
- # @param value [Float]
3164
- # @param unit [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::CommitDuration::Unit]
3165
-
3166
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::CommitDuration#unit
3167
- module Unit
3168
- extend MetronomeSDK::Internal::Type::Enum
3169
-
3170
- PERIODS = :PERIODS
3171
-
3172
- # @!method self.values
3173
- # @return [Array<Symbol>]
3174
- end
3175
- end
3176
-
3177
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#product
3178
- class Product < MetronomeSDK::Internal::Type::BaseModel
3179
- # @!attribute id
3180
- #
3181
- # @return [String]
3182
- required :id, String
3183
-
3184
- # @!attribute name
3185
- #
3186
- # @return [String]
3187
- required :name, String
3188
-
3189
- # @!method initialize(id:, name:)
3190
- # @param id [String]
3191
- # @param name [String]
3192
- end
3193
-
3194
- # Whether the created commits will use the commit rate or list rate
3195
- #
3196
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#rate_type
3197
- module RateType
3198
- extend MetronomeSDK::Internal::Type::Enum
3199
-
3200
- COMMIT_RATE = :COMMIT_RATE
3201
- LIST_RATE = :LIST_RATE
3202
-
3203
- # @!method self.values
3204
- # @return [Array<Symbol>]
3205
- end
3206
-
3207
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#contract
3208
- class Contract < MetronomeSDK::Internal::Type::BaseModel
3209
- # @!attribute id
3210
- #
3211
- # @return [String]
3212
- required :id, String
3213
-
3214
- # @!method initialize(id:)
3215
- # @param id [String]
3216
- end
3217
-
3218
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#hierarchy_configuration
3219
- class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
3220
- # @!attribute child_access
3221
- #
3222
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
3223
- required :child_access,
3224
- union: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess }
3225
-
3226
- # @!method initialize(child_access:)
3227
- # Optional configuration for recurring credit hierarchy access control
3228
- #
3229
- # @param child_access [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
3230
-
3231
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration#child_access
3232
- module ChildAccess
3233
- extend MetronomeSDK::Internal::Type::Union
3234
-
3235
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
3236
-
3237
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
3238
-
3239
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
3240
-
3241
- class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
3242
- # @!attribute type
3243
- #
3244
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3245
- required :type,
3246
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
3247
-
3248
- # @!method initialize(type:)
3249
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3250
-
3251
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
3252
- module Type
3253
- extend MetronomeSDK::Internal::Type::Enum
3254
-
3255
- ALL = :ALL
3256
-
3257
- # @!method self.values
3258
- # @return [Array<Symbol>]
3259
- end
3260
- end
3261
-
3262
- class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
3263
- # @!attribute type
3264
- #
3265
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3266
- required :type,
3267
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
3268
-
3269
- # @!method initialize(type:)
3270
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3271
-
3272
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
3273
- module Type
3274
- extend MetronomeSDK::Internal::Type::Enum
3275
-
3276
- NONE = :NONE
3277
-
3278
- # @!method self.values
3279
- # @return [Array<Symbol>]
3280
- end
3281
- end
3282
-
3283
- class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
3284
- # @!attribute contract_ids
3285
- #
3286
- # @return [Array<String>]
3287
- required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
3288
-
3289
- # @!attribute type
3290
- #
3291
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3292
- required :type,
3293
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
3294
-
3295
- # @!method initialize(contract_ids:, type:)
3296
- # @param contract_ids [Array<String>]
3297
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3298
-
3299
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
3300
- module Type
3301
- extend MetronomeSDK::Internal::Type::Enum
3302
-
3303
- CONTRACT_IDS = :CONTRACT_IDS
3304
-
3305
- # @!method self.values
3306
- # @return [Array<Symbol>]
3307
- end
3308
- end
3309
-
3310
- # @!method self.variants
3311
- # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
3312
- end
3313
- end
3314
-
3315
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#invoice_amount
3316
- class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
3317
- # @!attribute credit_type_id
3318
- #
3319
- # @return [String]
3320
- required :credit_type_id, String
3321
-
3322
- # @!attribute quantity
3323
- #
3324
- # @return [Float]
3325
- required :quantity, Float
3326
-
3327
- # @!attribute unit_price
3328
- #
3329
- # @return [Float]
3330
- required :unit_price, Float
3331
-
3332
- # @!method initialize(credit_type_id:, quantity:, unit_price:)
3333
- # The amount the customer should be billed for the commit. Not required.
3334
- #
3335
- # @param credit_type_id [String]
3336
- # @param quantity [Float]
3337
- # @param unit_price [Float]
3338
- end
3339
-
3340
- # Determines whether the first and last commit will be prorated. If not provided,
3341
- # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3342
- #
3343
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#proration
3344
- module Proration
3345
- extend MetronomeSDK::Internal::Type::Enum
3346
-
3347
- NONE = :NONE
3348
- FIRST = :FIRST
3349
- LAST = :LAST
3350
- FIRST_AND_LAST = :FIRST_AND_LAST
3351
-
3352
- # @!method self.values
3353
- # @return [Array<Symbol>]
3354
- end
3355
-
3356
- # The frequency at which the recurring commits will be created. If not provided: -
3357
- # The commits will be created on the usage invoice frequency. If provided: - The
3358
- # period defined in the duration will correspond to this frequency. - Commits will
3359
- # be created aligned with the recurring commit's starting_at rather than the usage
3360
- # invoice dates.
3361
- #
3362
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#recurrence_frequency
3363
- module RecurrenceFrequency
3364
- extend MetronomeSDK::Internal::Type::Enum
3365
-
3366
- MONTHLY = :MONTHLY
3367
- QUARTERLY = :QUARTERLY
3368
- ANNUAL = :ANNUAL
3369
- WEEKLY = :WEEKLY
3370
-
3371
- # @!method self.values
3372
- # @return [Array<Symbol>]
3373
- end
3374
-
3375
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
3376
- # @!attribute presentation_group_values
3377
- #
3378
- # @return [Hash{Symbol=>String}, nil]
3379
- optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
3380
-
3381
- # @!attribute pricing_group_values
3382
- #
3383
- # @return [Hash{Symbol=>String}, nil]
3384
- optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
3385
-
3386
- # @!attribute product_id
3387
- # If provided, the specifier will only apply to the product with the specified ID.
3388
- #
3389
- # @return [String, nil]
3390
- optional :product_id, String
3391
-
3392
- # @!attribute product_tags
3393
- # If provided, the specifier will only apply to products with all the specified
3394
- # tags.
3395
- #
3396
- # @return [Array<String>, nil]
3397
- optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
3398
-
3399
- # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
3400
- # Some parameter documentations has been truncated, see
3401
- # {MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Specifier}
3402
- # for more details.
3403
- #
3404
- # @param presentation_group_values [Hash{Symbol=>String}]
3405
- #
3406
- # @param pricing_group_values [Hash{Symbol=>String}]
3407
- #
3408
- # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
3409
- #
3410
- # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
3411
- end
3412
-
3413
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#subscription_config
3414
- class SubscriptionConfig < MetronomeSDK::Internal::Type::BaseModel
3415
- # @!attribute allocation
3416
- #
3417
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig::Allocation]
3418
- required :allocation,
3419
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig::Allocation }
3420
-
3421
- # @!attribute apply_seat_increase_config
3422
- #
3423
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig]
3424
- required :apply_seat_increase_config,
3425
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig }
3426
-
3427
- # @!attribute subscription_id
3428
- #
3429
- # @return [String]
3430
- required :subscription_id, String
3431
-
3432
- # @!method initialize(allocation:, apply_seat_increase_config:, subscription_id:)
3433
- # Attach a subscription to the recurring commit/credit.
3434
- #
3435
- # @param allocation [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig::Allocation]
3436
- # @param apply_seat_increase_config [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig::ApplySeatIncreaseConfig]
3437
- # @param subscription_id [String]
3438
-
3439
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig#allocation
3440
- module Allocation
3441
- extend MetronomeSDK::Internal::Type::Enum
3442
-
3443
- INDIVIDUAL = :INDIVIDUAL
3444
- POOLED = :POOLED
3445
-
3446
- # @!method self.values
3447
- # @return [Array<Symbol>]
3448
- end
3449
-
3450
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::SubscriptionConfig#apply_seat_increase_config
3451
- class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
3452
- # @!attribute is_prorated
3453
- # Indicates whether a mid-period seat increase should be prorated.
3454
- #
3455
- # @return [Boolean]
3456
- required :is_prorated, MetronomeSDK::Internal::Type::Boolean
3457
-
3458
- # @!method initialize(is_prorated:)
3459
- # @param is_prorated [Boolean] Indicates whether a mid-period seat increase should be prorated.
3460
- end
3461
- end
3462
- end
3463
-
3464
- class RecurringCredit < MetronomeSDK::Internal::Type::BaseModel
3465
- # @!attribute id
3466
- #
3467
- # @return [String]
3468
- required :id, String
3469
-
3470
- # @!attribute access_amount
3471
- # The amount of commit to grant.
3472
- #
3473
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::AccessAmount]
3474
- required :access_amount,
3475
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::AccessAmount }
3476
-
3477
- # @!attribute commit_duration
3478
- # The amount of time the created commits will be valid for
3479
- #
3480
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::CommitDuration]
3481
- required :commit_duration,
3482
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::CommitDuration }
3483
-
3484
- # @!attribute priority
3485
- # Will be passed down to the individual commits
3486
- #
3487
- # @return [Float]
3488
- required :priority, Float
3489
-
3490
- # @!attribute product
3491
- #
3492
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Product]
3493
- required :product, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Product }
3494
-
3495
- # @!attribute rate_type
3496
- # Whether the created commits will use the commit rate or list rate
3497
- #
3498
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::RateType]
3499
- required :rate_type,
3500
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::RateType }
3501
-
3502
- # @!attribute starting_at
3503
- # Determines the start time for the first commit
3504
- #
3505
- # @return [Time]
3506
- required :starting_at, Time
3507
-
3508
- # @!attribute applicable_product_ids
3509
- # Will be passed down to the individual commits
3510
- #
3511
- # @return [Array<String>, nil]
3512
- optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
3513
-
3514
- # @!attribute applicable_product_tags
3515
- # Will be passed down to the individual commits
3516
- #
3517
- # @return [Array<String>, nil]
3518
- optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
3519
-
3520
- # @!attribute contract
3521
- #
3522
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Contract, nil]
3523
- optional :contract, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Contract }
3524
-
3525
- # @!attribute description
3526
- # Will be passed down to the individual commits
3527
- #
3528
- # @return [String, nil]
3529
- optional :description, String
3530
-
3531
- # @!attribute ending_before
3532
- # Determines when the contract will stop creating recurring commits. Optional
3533
- #
3534
- # @return [Time, nil]
3535
- optional :ending_before, Time
3536
-
3537
- # @!attribute hierarchy_configuration
3538
- # Optional configuration for recurring credit hierarchy access control
3539
- #
3540
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration, nil]
3541
- optional :hierarchy_configuration,
3542
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration }
3543
-
3544
- # @!attribute name
3545
- # Displayed on invoices. Will be passed through to the individual commits
3546
- #
3547
- # @return [String, nil]
3548
- optional :name, String
3549
-
3550
- # @!attribute netsuite_sales_order_id
3551
- # Will be passed down to the individual commits
3552
- #
3553
- # @return [String, nil]
3554
- optional :netsuite_sales_order_id, String
3555
-
3556
- # @!attribute proration
3557
- # Determines whether the first and last commit will be prorated. If not provided,
3558
- # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3559
- #
3560
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Proration, nil]
3561
- optional :proration,
3562
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Proration }
3563
-
3564
- # @!attribute recurrence_frequency
3565
- # The frequency at which the recurring commits will be created. If not provided: -
3566
- # The commits will be created on the usage invoice frequency. If provided: - The
3567
- # period defined in the duration will correspond to this frequency. - Commits will
3568
- # be created aligned with the recurring commit's starting_at rather than the usage
3569
- # invoice dates.
3570
- #
3571
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::RecurrenceFrequency, nil]
3572
- optional :recurrence_frequency,
3573
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::RecurrenceFrequency }
3574
-
3575
- # @!attribute rollover_fraction
3576
- # Will be passed down to the individual commits. This controls how much of an
3577
- # individual unexpired commit will roll over upon contract transition. Must be
3578
- # between 0 and 1.
3579
- #
3580
- # @return [Float, nil]
3581
- optional :rollover_fraction, Float
3582
-
3583
- # @!attribute specifiers
3584
- # List of filters that determine what kind of customer usage draws down a commit
3585
- # or credit. A customer's usage needs to meet the condition of at least one of the
3586
- # specifiers to contribute to a commit's or credit's drawdown.
3587
- #
3588
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Specifier>, nil]
3589
- optional :specifiers,
3590
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Specifier] }
3591
-
3592
- # @!attribute subscription_config
3593
- # Attach a subscription to the recurring commit/credit.
3594
- #
3595
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig, nil]
3596
- optional :subscription_config,
3597
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig }
3598
-
3599
- # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, hierarchy_configuration: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil, specifiers: nil, subscription_config: nil)
3600
- # Some parameter documentations has been truncated, see
3601
- # {MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit} for more
3602
- # details.
3603
- #
3604
- # @param id [String]
3605
- #
3606
- # @param access_amount [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::AccessAmount] The amount of commit to grant.
3607
- #
3608
- # @param commit_duration [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::CommitDuration] The amount of time the created commits will be valid for
3609
- #
3610
- # @param priority [Float] Will be passed down to the individual commits
3611
- #
3612
- # @param product [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Product]
3613
- #
3614
- # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::RateType] Whether the created commits will use the commit rate or list rate
3615
- #
3616
- # @param starting_at [Time] Determines the start time for the first commit
3617
- #
3618
- # @param applicable_product_ids [Array<String>] Will be passed down to the individual commits
3619
- #
3620
- # @param applicable_product_tags [Array<String>] Will be passed down to the individual commits
3621
- #
3622
- # @param contract [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Contract]
3623
- #
3624
- # @param description [String] Will be passed down to the individual commits
3625
- #
3626
- # @param ending_before [Time] Determines when the contract will stop creating recurring commits. Optional
3627
- #
3628
- # @param hierarchy_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration] Optional configuration for recurring credit hierarchy access control
3629
- #
3630
- # @param name [String] Displayed on invoices. Will be passed through to the individual commits
3631
- #
3632
- # @param netsuite_sales_order_id [String] Will be passed down to the individual commits
3633
- #
3634
- # @param proration [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Proration] Determines whether the first and last commit will be prorated. If not provided,
3635
- #
3636
- # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
3637
- #
3638
- # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
3639
- #
3640
- # @param specifiers [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
3641
- #
3642
- # @param subscription_config [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig] Attach a subscription to the recurring commit/credit.
3643
-
3644
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#access_amount
3645
- class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
3646
- # @!attribute credit_type_id
3647
- #
3648
- # @return [String]
3649
- required :credit_type_id, String
3650
-
3651
- # @!attribute unit_price
3652
- #
3653
- # @return [Float]
3654
- required :unit_price, Float
3655
-
3656
- # @!attribute quantity
3657
- #
3658
- # @return [Float, nil]
3659
- optional :quantity, Float
3660
-
3661
- # @!method initialize(credit_type_id:, unit_price:, quantity: nil)
3662
- # The amount of commit to grant.
3663
- #
3664
- # @param credit_type_id [String]
3665
- # @param unit_price [Float]
3666
- # @param quantity [Float]
3667
- end
3668
-
3669
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#commit_duration
3670
- class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
3671
- # @!attribute value
3672
- #
3673
- # @return [Float]
3674
- required :value, Float
3675
-
3676
- # @!attribute unit
3677
- #
3678
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::CommitDuration::Unit, nil]
3679
- optional :unit,
3680
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::CommitDuration::Unit }
3681
-
3682
- # @!method initialize(value:, unit: nil)
3683
- # The amount of time the created commits will be valid for
3684
- #
3685
- # @param value [Float]
3686
- # @param unit [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::CommitDuration::Unit]
3687
-
3688
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::CommitDuration#unit
3689
- module Unit
3690
- extend MetronomeSDK::Internal::Type::Enum
3691
-
3692
- PERIODS = :PERIODS
3693
-
3694
- # @!method self.values
3695
- # @return [Array<Symbol>]
3696
- end
3697
- end
3698
-
3699
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#product
3700
- class Product < MetronomeSDK::Internal::Type::BaseModel
3701
- # @!attribute id
3702
- #
3703
- # @return [String]
3704
- required :id, String
3705
-
3706
- # @!attribute name
3707
- #
3708
- # @return [String]
3709
- required :name, String
3710
-
3711
- # @!method initialize(id:, name:)
3712
- # @param id [String]
3713
- # @param name [String]
3714
- end
3715
-
3716
- # Whether the created commits will use the commit rate or list rate
3717
- #
3718
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#rate_type
3719
- module RateType
3720
- extend MetronomeSDK::Internal::Type::Enum
3721
-
3722
- COMMIT_RATE = :COMMIT_RATE
3723
- LIST_RATE = :LIST_RATE
3724
-
3725
- # @!method self.values
3726
- # @return [Array<Symbol>]
3727
- end
3728
-
3729
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#contract
3730
- class Contract < MetronomeSDK::Internal::Type::BaseModel
3731
- # @!attribute id
3732
- #
3733
- # @return [String]
3734
- required :id, String
3735
-
3736
- # @!method initialize(id:)
3737
- # @param id [String]
3738
- end
3739
-
3740
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#hierarchy_configuration
3741
- class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
3742
- # @!attribute child_access
3743
- #
3744
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
3745
- required :child_access,
3746
- union: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess }
3747
-
3748
- # @!method initialize(child_access:)
3749
- # Optional configuration for recurring credit hierarchy access control
3750
- #
3751
- # @param child_access [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
3752
-
3753
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration#child_access
3754
- module ChildAccess
3755
- extend MetronomeSDK::Internal::Type::Union
3756
-
3757
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll }
3758
-
3759
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone }
3760
-
3761
- variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs }
3762
-
3763
- class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
3764
- # @!attribute type
3765
- #
3766
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3767
- required :type,
3768
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type }
3769
-
3770
- # @!method initialize(type:)
3771
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
3772
-
3773
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
3774
- module Type
3775
- extend MetronomeSDK::Internal::Type::Enum
3776
-
3777
- ALL = :ALL
3778
-
3779
- # @!method self.values
3780
- # @return [Array<Symbol>]
3781
- end
3782
- end
3783
-
3784
- class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
3785
- # @!attribute type
3786
- #
3787
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3788
- required :type,
3789
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type }
3790
-
3791
- # @!method initialize(type:)
3792
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
3793
-
3794
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
3795
- module Type
3796
- extend MetronomeSDK::Internal::Type::Enum
3797
-
3798
- NONE = :NONE
3799
-
3800
- # @!method self.values
3801
- # @return [Array<Symbol>]
3802
- end
3803
- end
3804
-
3805
- class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
3806
- # @!attribute contract_ids
3807
- #
3808
- # @return [Array<String>]
3809
- required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
3810
-
3811
- # @!attribute type
3812
- #
3813
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3814
- required :type,
3815
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type }
3816
-
3817
- # @!method initialize(contract_ids:, type:)
3818
- # @param contract_ids [Array<String>]
3819
- # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
3820
-
3821
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
3822
- module Type
3823
- extend MetronomeSDK::Internal::Type::Enum
3824
-
3825
- CONTRACT_IDS = :CONTRACT_IDS
3826
-
3827
- # @!method self.values
3828
- # @return [Array<Symbol>]
3829
- end
3830
- end
3831
-
3832
- # @!method self.variants
3833
- # @return [Array(MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
3834
- end
3835
- end
3836
-
3837
- # Determines whether the first and last commit will be prorated. If not provided,
3838
- # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
3839
- #
3840
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#proration
3841
- module Proration
3842
- extend MetronomeSDK::Internal::Type::Enum
3843
-
3844
- NONE = :NONE
3845
- FIRST = :FIRST
3846
- LAST = :LAST
3847
- FIRST_AND_LAST = :FIRST_AND_LAST
3848
-
3849
- # @!method self.values
3850
- # @return [Array<Symbol>]
3851
- end
3852
-
3853
- # The frequency at which the recurring commits will be created. If not provided: -
3854
- # The commits will be created on the usage invoice frequency. If provided: - The
3855
- # period defined in the duration will correspond to this frequency. - Commits will
3856
- # be created aligned with the recurring commit's starting_at rather than the usage
3857
- # invoice dates.
3858
- #
3859
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#recurrence_frequency
3860
- module RecurrenceFrequency
3861
- extend MetronomeSDK::Internal::Type::Enum
3862
-
3863
- MONTHLY = :MONTHLY
3864
- QUARTERLY = :QUARTERLY
3865
- ANNUAL = :ANNUAL
3866
- WEEKLY = :WEEKLY
3867
-
3868
- # @!method self.values
3869
- # @return [Array<Symbol>]
3870
- end
3871
-
3872
- class Specifier < MetronomeSDK::Internal::Type::BaseModel
3873
- # @!attribute presentation_group_values
3874
- #
3875
- # @return [Hash{Symbol=>String}, nil]
3876
- optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
3877
-
3878
- # @!attribute pricing_group_values
3879
- #
3880
- # @return [Hash{Symbol=>String}, nil]
3881
- optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
3882
-
3883
- # @!attribute product_id
3884
- # If provided, the specifier will only apply to the product with the specified ID.
3885
- #
3886
- # @return [String, nil]
3887
- optional :product_id, String
3888
-
3889
- # @!attribute product_tags
3890
- # If provided, the specifier will only apply to products with all the specified
3891
- # tags.
3892
- #
3893
- # @return [Array<String>, nil]
3894
- optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
3895
-
3896
- # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
3897
- # Some parameter documentations has been truncated, see
3898
- # {MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Specifier}
3899
- # for more details.
3900
- #
3901
- # @param presentation_group_values [Hash{Symbol=>String}]
3902
- #
3903
- # @param pricing_group_values [Hash{Symbol=>String}]
3904
- #
3905
- # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
3906
- #
3907
- # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
3908
- end
3909
-
3910
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#subscription_config
3911
- class SubscriptionConfig < MetronomeSDK::Internal::Type::BaseModel
3912
- # @!attribute allocation
3913
- #
3914
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig::Allocation]
3915
- required :allocation,
3916
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig::Allocation }
3917
-
3918
- # @!attribute apply_seat_increase_config
3919
- #
3920
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig]
3921
- required :apply_seat_increase_config,
3922
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig }
3923
-
3924
- # @!attribute subscription_id
3925
- #
3926
- # @return [String]
3927
- required :subscription_id, String
3928
-
3929
- # @!method initialize(allocation:, apply_seat_increase_config:, subscription_id:)
3930
- # Attach a subscription to the recurring commit/credit.
3931
- #
3932
- # @param allocation [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig::Allocation]
3933
- # @param apply_seat_increase_config [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig::ApplySeatIncreaseConfig]
3934
- # @param subscription_id [String]
3935
-
3936
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig#allocation
3937
- module Allocation
3938
- extend MetronomeSDK::Internal::Type::Enum
3939
-
3940
- INDIVIDUAL = :INDIVIDUAL
3941
- POOLED = :POOLED
3942
-
3943
- # @!method self.values
3944
- # @return [Array<Symbol>]
3945
- end
3946
-
3947
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::SubscriptionConfig#apply_seat_increase_config
3948
- class ApplySeatIncreaseConfig < MetronomeSDK::Internal::Type::BaseModel
3949
- # @!attribute is_prorated
3950
- # Indicates whether a mid-period seat increase should be prorated.
3951
- #
3952
- # @return [Boolean]
3953
- required :is_prorated, MetronomeSDK::Internal::Type::Boolean
3954
-
3955
- # @!method initialize(is_prorated:)
3956
- # @param is_prorated [Boolean] Indicates whether a mid-period seat increase should be prorated.
3957
- end
3958
- end
3959
- end
3960
-
3961
- class ResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
3962
- # @!attribute reseller_type
3963
- #
3964
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::ResellerRoyalty::ResellerType]
3965
- required :reseller_type,
3966
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::ResellerRoyalty::ResellerType }
3967
-
3968
- # @!attribute segments
3969
- #
3970
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::ResellerRoyalty::Segment>]
3971
- required :segments,
3972
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::ResellerRoyalty::Segment] }
3973
-
3974
- # @!method initialize(reseller_type:, segments:)
3975
- # @param reseller_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::ResellerRoyalty::ResellerType]
3976
- # @param segments [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::ResellerRoyalty::Segment>]
3977
-
3978
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::ResellerRoyalty#reseller_type
3979
- module ResellerType
3980
- extend MetronomeSDK::Internal::Type::Enum
3981
-
3982
- AWS = :AWS
3983
- AWS_PRO_SERVICE = :AWS_PRO_SERVICE
3984
- GCP = :GCP
3985
- GCP_PRO_SERVICE = :GCP_PRO_SERVICE
3986
-
3987
- # @!method self.values
3988
- # @return [Array<Symbol>]
3989
- end
3990
-
3991
- class Segment < MetronomeSDK::Internal::Type::BaseModel
3992
- # @!attribute fraction
3993
- #
3994
- # @return [Float]
3995
- required :fraction, Float
3996
-
3997
- # @!attribute netsuite_reseller_id
3998
- #
3999
- # @return [String]
4000
- required :netsuite_reseller_id, String
4001
-
4002
- # @!attribute reseller_type
4003
- #
4004
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::ResellerRoyalty::Segment::ResellerType]
4005
- required :reseller_type,
4006
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::ResellerRoyalty::Segment::ResellerType }
4007
-
4008
- # @!attribute starting_at
4009
- #
4010
- # @return [Time]
4011
- required :starting_at, Time
4012
-
4013
- # @!attribute applicable_product_ids
4014
- #
4015
- # @return [Array<String>, nil]
4016
- optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
4017
-
4018
- # @!attribute applicable_product_tags
4019
- #
4020
- # @return [Array<String>, nil]
4021
- optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
4022
-
4023
- # @!attribute aws_account_number
4024
- #
4025
- # @return [String, nil]
4026
- optional :aws_account_number, String
4027
-
4028
- # @!attribute aws_offer_id
4029
- #
4030
- # @return [String, nil]
4031
- optional :aws_offer_id, String
4032
-
4033
- # @!attribute aws_payer_reference_id
4034
- #
4035
- # @return [String, nil]
4036
- optional :aws_payer_reference_id, String
4037
-
4038
- # @!attribute ending_before
4039
- #
4040
- # @return [Time, nil]
4041
- optional :ending_before, Time
4042
-
4043
- # @!attribute gcp_account_id
4044
- #
4045
- # @return [String, nil]
4046
- optional :gcp_account_id, String
4047
-
4048
- # @!attribute gcp_offer_id
4049
- #
4050
- # @return [String, nil]
4051
- optional :gcp_offer_id, String
4052
-
4053
- # @!attribute reseller_contract_value
4054
- #
4055
- # @return [Float, nil]
4056
- optional :reseller_contract_value, Float
4057
-
4058
- # @!method initialize(fraction:, netsuite_reseller_id:, reseller_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, aws_account_number: nil, aws_offer_id: nil, aws_payer_reference_id: nil, ending_before: nil, gcp_account_id: nil, gcp_offer_id: nil, reseller_contract_value: nil)
4059
- # @param fraction [Float]
4060
- # @param netsuite_reseller_id [String]
4061
- # @param reseller_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::ResellerRoyalty::Segment::ResellerType]
4062
- # @param starting_at [Time]
4063
- # @param applicable_product_ids [Array<String>]
4064
- # @param applicable_product_tags [Array<String>]
4065
- # @param aws_account_number [String]
4066
- # @param aws_offer_id [String]
4067
- # @param aws_payer_reference_id [String]
4068
- # @param ending_before [Time]
4069
- # @param gcp_account_id [String]
4070
- # @param gcp_offer_id [String]
4071
- # @param reseller_contract_value [Float]
4072
-
4073
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::ResellerRoyalty::Segment#reseller_type
4074
- module ResellerType
4075
- extend MetronomeSDK::Internal::Type::Enum
4076
-
4077
- AWS = :AWS
4078
- AWS_PRO_SERVICE = :AWS_PRO_SERVICE
4079
- GCP = :GCP
4080
- GCP_PRO_SERVICE = :GCP_PRO_SERVICE
4081
-
4082
- # @!method self.values
4083
- # @return [Array<Symbol>]
4084
- end
4085
- end
4086
- end
4087
-
4088
- # Determines which scheduled and commit charges to consolidate onto the Contract's
4089
- # usage invoice. The charge's `timestamp` must match the usage invoice's
4090
- # `ending_before` date for consolidation to occur. This field cannot be modified
4091
- # after a Contract has been created. If this field is omitted, charges will appear
4092
- # on a separate invoice from usage charges.
4093
- #
4094
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data#scheduled_charges_on_usage_invoices
4095
- module ScheduledChargesOnUsageInvoices
4096
- extend MetronomeSDK::Internal::Type::Enum
4097
-
4098
- ALL = :ALL
4099
-
4100
- # @!method self.values
4101
- # @return [Array<Symbol>]
4102
- end
4103
-
4104
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data#spend_threshold_configuration
4105
- class SpendThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
4106
- # @!attribute commit
4107
- #
4108
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::Commit]
4109
- required :commit,
4110
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::Commit }
4111
-
4112
- # @!attribute is_enabled
4113
- # When set to false, the contract will not be evaluated against the
4114
- # threshold_amount. Toggling to true will result an immediate evaluation,
4115
- # regardless of prior state.
4116
- #
4117
- # @return [Boolean]
4118
- required :is_enabled, MetronomeSDK::Internal::Type::Boolean
4119
-
4120
- # @!attribute payment_gate_config
4121
- #
4122
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig]
4123
- required :payment_gate_config,
4124
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig }
4125
-
4126
- # @!attribute threshold_amount
4127
- # Specify the threshold amount for the contract. Each time the contract's usage
4128
- # hits this amount, a threshold charge will be initiated.
4129
- #
4130
- # @return [Float]
4131
- required :threshold_amount, Float
4132
-
4133
- # @!method initialize(commit:, is_enabled:, payment_gate_config:, threshold_amount:)
4134
- # Some parameter documentations has been truncated, see
4135
- # {MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration}
4136
- # for more details.
4137
- #
4138
- # @param commit [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::Commit]
4139
- #
4140
- # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
4141
- #
4142
- # @param payment_gate_config [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig]
4143
- #
4144
- # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's usage hi
4145
-
4146
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration#commit
4147
- class Commit < MetronomeSDK::Internal::Type::BaseModel
4148
- # @!attribute product_id
4149
- # The commit product that will be used to generate the line item for commit
4150
- # payment.
4151
- #
4152
- # @return [String]
4153
- required :product_id, String
4154
-
4155
- # @!attribute description
4156
- #
4157
- # @return [String, nil]
4158
- optional :description, String
4159
-
4160
- # @!attribute name
4161
- # Specify the name of the line item for the threshold charge. If left blank, it
4162
- # will default to the commit product name.
4163
- #
4164
- # @return [String, nil]
4165
- optional :name, String
4166
-
4167
- # @!method initialize(product_id:, description: nil, name: nil)
4168
- # Some parameter documentations has been truncated, see
4169
- # {MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::Commit}
4170
- # for more details.
4171
- #
4172
- # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
4173
- #
4174
- # @param description [String]
4175
- #
4176
- # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
4177
- end
4178
-
4179
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration#payment_gate_config
4180
- class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
4181
- # @!attribute payment_gate_type
4182
- # Gate access to the commit balance based on successful collection of payment.
4183
- # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
4184
- # facilitate payment using your own payment integration. Select NONE if you do not
4185
- # wish to payment gate the commit balance.
4186
- #
4187
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType]
4188
- required :payment_gate_type,
4189
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType }
4190
-
4191
- # @!attribute precalculated_tax_config
4192
- # Only applicable if using PRECALCULATED as your tax type.
4193
- #
4194
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig, nil]
4195
- optional :precalculated_tax_config,
4196
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig }
4197
-
4198
- # @!attribute stripe_config
4199
- # Only applicable if using STRIPE as your payment gateway type.
4200
- #
4201
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
4202
- optional :stripe_config,
4203
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig }
4204
-
4205
- # @!attribute tax_type
4206
- # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
4207
- # not wish Metronome to calculate tax on your behalf. Leaving this field blank
4208
- # will default to NONE.
4209
- #
4210
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType, nil]
4211
- optional :tax_type,
4212
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType }
4213
-
4214
- # @!method initialize(payment_gate_type:, precalculated_tax_config: nil, stripe_config: nil, tax_type: nil)
4215
- # Some parameter documentations has been truncated, see
4216
- # {MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig}
4217
- # for more details.
4218
- #
4219
- # @param payment_gate_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
4220
- #
4221
- # @param precalculated_tax_config [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig] Only applicable if using PRECALCULATED as your tax type.
4222
- #
4223
- # @param stripe_config [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using STRIPE as your payment gateway type.
4224
- #
4225
- # @param tax_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
4226
-
4227
- # Gate access to the commit balance based on successful collection of payment.
4228
- # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
4229
- # facilitate payment using your own payment integration. Select NONE if you do not
4230
- # wish to payment gate the commit balance.
4231
- #
4232
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig#payment_gate_type
4233
- module PaymentGateType
4234
- extend MetronomeSDK::Internal::Type::Enum
4235
-
4236
- NONE = :NONE
4237
- STRIPE = :STRIPE
4238
- EXTERNAL = :EXTERNAL
4239
-
4240
- # @!method self.values
4241
- # @return [Array<Symbol>]
4242
- end
4243
-
4244
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig#precalculated_tax_config
4245
- class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
4246
- # @!attribute tax_amount
4247
- # Amount of tax to be applied. This should be in the same currency and
4248
- # denomination as the commit's invoice schedule
4249
- #
4250
- # @return [Float]
4251
- required :tax_amount, Float
4252
-
4253
- # @!attribute tax_name
4254
- # Name of the tax to be applied. This may be used in an invoice line item
4255
- # description.
4256
- #
4257
- # @return [String, nil]
4258
- optional :tax_name, String
4259
-
4260
- # @!method initialize(tax_amount:, tax_name: nil)
4261
- # Some parameter documentations has been truncated, see
4262
- # {MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig}
4263
- # for more details.
4264
- #
4265
- # Only applicable if using PRECALCULATED as your tax type.
4266
- #
4267
- # @param tax_amount [Float] Amount of tax to be applied. This should be in the same currency and denominatio
4268
- #
4269
- # @param tax_name [String] Name of the tax to be applied. This may be used in an invoice line item descript
4270
- end
4271
-
4272
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig#stripe_config
4273
- class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
4274
- # @!attribute payment_type
4275
- # If left blank, will default to INVOICE
4276
- #
4277
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
4278
- required :payment_type,
4279
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType }
4280
-
4281
- # @!attribute invoice_metadata
4282
- # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
4283
- # your payment type.
4284
- #
4285
- # @return [Hash{Symbol=>String}, nil]
4286
- optional :invoice_metadata, MetronomeSDK::Internal::Type::HashOf[String]
4287
-
4288
- # @!method initialize(payment_type:, invoice_metadata: nil)
4289
- # Some parameter documentations has been truncated, see
4290
- # {MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig}
4291
- # for more details.
4292
- #
4293
- # Only applicable if using STRIPE as your payment gateway type.
4294
- #
4295
- # @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
4296
- #
4297
- # @param invoice_metadata [Hash{Symbol=>String}] Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
4298
-
4299
- # If left blank, will default to INVOICE
4300
- #
4301
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
4302
- module PaymentType
4303
- extend MetronomeSDK::Internal::Type::Enum
4304
-
4305
- INVOICE = :INVOICE
4306
- PAYMENT_INTENT = :PAYMENT_INTENT
4307
-
4308
- # @!method self.values
4309
- # @return [Array<Symbol>]
4310
- end
4311
- end
4312
-
4313
- # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
4314
- # not wish Metronome to calculate tax on your behalf. Leaving this field blank
4315
- # will default to NONE.
4316
- #
4317
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig#tax_type
4318
- module TaxType
4319
- extend MetronomeSDK::Internal::Type::Enum
4320
-
4321
- NONE = :NONE
4322
- STRIPE = :STRIPE
4323
- ANROK = :ANROK
4324
- PRECALCULATED = :PRECALCULATED
4325
-
4326
- # @!method self.values
4327
- # @return [Array<Symbol>]
4328
- end
4329
- end
4330
- end
4331
-
4332
- class Subscription < MetronomeSDK::Internal::Type::BaseModel
4333
- # @!attribute collection_schedule
4334
- #
4335
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::CollectionSchedule]
4336
- required :collection_schedule,
4337
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::CollectionSchedule }
4338
-
4339
- # @!attribute proration
4340
- #
4341
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::Proration]
4342
- required :proration, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::Proration }
4343
-
4344
- # @!attribute quantity_schedule
4345
- # List of quantity schedule items for the subscription. Only includes the current
4346
- # quantity and future quantity changes.
4347
- #
4348
- # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::QuantitySchedule>]
4349
- required :quantity_schedule,
4350
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::QuantitySchedule] }
4351
-
4352
- # @!attribute starting_at
4353
- #
4354
- # @return [Time]
4355
- required :starting_at, Time
4356
-
4357
- # @!attribute subscription_rate
4358
- #
4359
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate]
4360
- required :subscription_rate,
4361
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate }
4362
-
4363
- # @!attribute id
4364
- #
4365
- # @return [String, nil]
4366
- optional :id, String
4367
-
4368
- # @!attribute custom_fields
4369
- #
4370
- # @return [Hash{Symbol=>String}, nil]
4371
- optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
4372
-
4373
- # @!attribute description
4374
- #
4375
- # @return [String, nil]
4376
- optional :description, String
4377
-
4378
- # @!attribute ending_before
4379
- #
4380
- # @return [Time, nil]
4381
- optional :ending_before, Time
4382
-
4383
- # @!attribute fiat_credit_type_id
4384
- #
4385
- # @return [String, nil]
4386
- optional :fiat_credit_type_id, String
4387
-
4388
- # @!attribute name
4389
- #
4390
- # @return [String, nil]
4391
- optional :name, String
4392
-
4393
- # @!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)
4394
- # Some parameter documentations has been truncated, see
4395
- # {MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription} for more
4396
- # details.
4397
- #
4398
- # @param collection_schedule [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::CollectionSchedule]
4399
- #
4400
- # @param proration [MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::Proration]
4401
- #
4402
- # @param quantity_schedule [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::QuantitySchedule>] List of quantity schedule items for the subscription. Only includes the current
4403
- #
4404
- # @param starting_at [Time]
4405
- #
4406
- # @param subscription_rate [MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate]
4407
- #
4408
- # @param id [String]
4409
- #
4410
- # @param custom_fields [Hash{Symbol=>String}]
4411
- #
4412
- # @param description [String]
4413
- #
4414
- # @param ending_before [Time]
4415
- #
4416
- # @param fiat_credit_type_id [String]
4417
- #
4418
- # @param name [String]
4419
-
4420
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription#collection_schedule
4421
- module CollectionSchedule
4422
- extend MetronomeSDK::Internal::Type::Enum
4423
-
4424
- ADVANCE = :ADVANCE
4425
- ARREARS = :ARREARS
4426
-
4427
- # @!method self.values
4428
- # @return [Array<Symbol>]
4429
- end
4430
-
4431
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription#proration
4432
- class Proration < MetronomeSDK::Internal::Type::BaseModel
4433
- # @!attribute invoice_behavior
4434
- #
4435
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::Proration::InvoiceBehavior]
4436
- required :invoice_behavior,
4437
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::Proration::InvoiceBehavior }
4438
-
4439
- # @!attribute is_prorated
4440
- #
4441
- # @return [Boolean]
4442
- required :is_prorated, MetronomeSDK::Internal::Type::Boolean
4443
-
4444
- # @!method initialize(invoice_behavior:, is_prorated:)
4445
- # @param invoice_behavior [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::Proration::InvoiceBehavior]
4446
- # @param is_prorated [Boolean]
4447
-
4448
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::Proration#invoice_behavior
4449
- module InvoiceBehavior
4450
- extend MetronomeSDK::Internal::Type::Enum
4451
-
4452
- BILL_IMMEDIATELY = :BILL_IMMEDIATELY
4453
- BILL_ON_NEXT_COLLECTION_DATE = :BILL_ON_NEXT_COLLECTION_DATE
4454
-
4455
- # @!method self.values
4456
- # @return [Array<Symbol>]
4457
- end
4458
- end
4459
-
4460
- class QuantitySchedule < MetronomeSDK::Internal::Type::BaseModel
4461
- # @!attribute quantity
4462
- #
4463
- # @return [Float]
4464
- required :quantity, Float
4465
-
4466
- # @!attribute starting_at
4467
- #
4468
- # @return [Time]
4469
- required :starting_at, Time
4470
-
4471
- # @!attribute ending_before
4472
- #
4473
- # @return [Time, nil]
4474
- optional :ending_before, Time
4475
-
4476
- # @!method initialize(quantity:, starting_at:, ending_before: nil)
4477
- # @param quantity [Float]
4478
- # @param starting_at [Time]
4479
- # @param ending_before [Time]
4480
- end
4481
-
4482
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription#subscription_rate
4483
- class SubscriptionRate < MetronomeSDK::Internal::Type::BaseModel
4484
- # @!attribute billing_frequency
4485
- #
4486
- # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate::BillingFrequency]
4487
- required :billing_frequency,
4488
- enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate::BillingFrequency }
4489
-
4490
- # @!attribute product
4491
- #
4492
- # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate::Product]
4493
- required :product,
4494
- -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate::Product }
4495
-
4496
- # @!method initialize(billing_frequency:, product:)
4497
- # @param billing_frequency [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate::BillingFrequency]
4498
- # @param product [MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate::Product]
4499
-
4500
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate#billing_frequency
4501
- module BillingFrequency
4502
- extend MetronomeSDK::Internal::Type::Enum
4503
-
4504
- MONTHLY = :MONTHLY
4505
- QUARTERLY = :QUARTERLY
4506
- ANNUAL = :ANNUAL
4507
- WEEKLY = :WEEKLY
4508
-
4509
- # @!method self.values
4510
- # @return [Array<Symbol>]
4511
- end
4512
-
4513
- # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Subscription::SubscriptionRate#product
4514
- class Product < MetronomeSDK::Internal::Type::BaseModel
4515
- # @!attribute id
4516
- #
4517
- # @return [String]
4518
- required :id, String
4519
-
4520
- # @!attribute name
4521
- #
4522
- # @return [String]
4523
- required :name, String
4524
-
4525
- # @!method initialize(id:, name:)
4526
- # @param id [String]
4527
- # @param name [String]
4528
- end
4529
- end
4530
- end
4531
- end
14
+ # @param data [Array<MetronomeSDK::Models::ContractV2>]
4532
15
  end
4533
16
  end
4534
17
  end