metronome-sdk 0.1.0.pre.alpha.1

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 (770) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +290 -0
  4. data/README.md +258 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/metronome_sdk/client.rb +78 -0
  7. data/lib/metronome_sdk/errors.rb +192 -0
  8. data/lib/metronome_sdk/file_part.rb +55 -0
  9. data/lib/metronome_sdk/internal/cursor_page.rb +86 -0
  10. data/lib/metronome_sdk/internal/transport/base_client.rb +486 -0
  11. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +193 -0
  12. data/lib/metronome_sdk/internal/type/array_of.rb +154 -0
  13. data/lib/metronome_sdk/internal/type/base_model.rb +443 -0
  14. data/lib/metronome_sdk/internal/type/base_page.rb +55 -0
  15. data/lib/metronome_sdk/internal/type/boolean.rb +63 -0
  16. data/lib/metronome_sdk/internal/type/converter.rb +274 -0
  17. data/lib/metronome_sdk/internal/type/enum.rb +107 -0
  18. data/lib/metronome_sdk/internal/type/file_input.rb +96 -0
  19. data/lib/metronome_sdk/internal/type/hash_of.rb +174 -0
  20. data/lib/metronome_sdk/internal/type/request_parameters.rb +48 -0
  21. data/lib/metronome_sdk/internal/type/union.rb +220 -0
  22. data/lib/metronome_sdk/internal/type/unknown.rb +67 -0
  23. data/lib/metronome_sdk/internal/util.rb +790 -0
  24. data/lib/metronome_sdk/internal.rb +11 -0
  25. data/lib/metronome_sdk/models/base_usage_filter.rb +27 -0
  26. data/lib/metronome_sdk/models/commit.rb +848 -0
  27. data/lib/metronome_sdk/models/contract_without_amendments.rb +1431 -0
  28. data/lib/metronome_sdk/models/credit.rb +476 -0
  29. data/lib/metronome_sdk/models/credit_type_data.rb +21 -0
  30. data/lib/metronome_sdk/models/discount.rb +68 -0
  31. data/lib/metronome_sdk/models/event_type_filter.rb +35 -0
  32. data/lib/metronome_sdk/models/id.rb +15 -0
  33. data/lib/metronome_sdk/models/override.rb +368 -0
  34. data/lib/metronome_sdk/models/pro_service.rb +75 -0
  35. data/lib/metronome_sdk/models/property_filter.rb +55 -0
  36. data/lib/metronome_sdk/models/rate.rb +106 -0
  37. data/lib/metronome_sdk/models/schedule_duration.rb +50 -0
  38. data/lib/metronome_sdk/models/schedule_point_in_time.rb +62 -0
  39. data/lib/metronome_sdk/models/scheduled_charge.rb +76 -0
  40. data/lib/metronome_sdk/models/tier.rb +21 -0
  41. data/lib/metronome_sdk/models/v1/alert_archive_params.rb +32 -0
  42. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +18 -0
  43. data/lib/metronome_sdk/models/v1/alert_create_params.rb +224 -0
  44. data/lib/metronome_sdk/models/v1/alert_create_response.rb +18 -0
  45. data/lib/metronome_sdk/models/v1/audit_log_list_params.rb +92 -0
  46. data/lib/metronome_sdk/models/v1/audit_log_list_response.rb +124 -0
  47. data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +16 -0
  48. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +18 -0
  49. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +111 -0
  50. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +18 -0
  51. data/lib/metronome_sdk/models/v1/billable_metric_list_params.rb +40 -0
  52. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +122 -0
  53. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_params.rb +22 -0
  54. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +134 -0
  55. data/lib/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rb +79 -0
  56. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +1778 -0
  57. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +18 -0
  58. data/lib/metronome_sdk/models/v1/contract_archive_params.rb +45 -0
  59. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +18 -0
  60. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +203 -0
  61. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +18 -0
  62. data/lib/metronome_sdk/models/v1/contract_create_params.rb +3076 -0
  63. data/lib/metronome_sdk/models/v1/contract_create_response.rb +18 -0
  64. data/lib/metronome_sdk/models/v1/contract_list_balances_params.rb +101 -0
  65. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +36 -0
  66. data/lib/metronome_sdk/models/v1/contract_list_params.rb +76 -0
  67. data/lib/metronome_sdk/models/v1/contract_list_response.rb +388 -0
  68. data/lib/metronome_sdk/models/v1/contract_retrieve_params.rb +53 -0
  69. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +117 -0
  70. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +165 -0
  71. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +388 -0
  72. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +139 -0
  73. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +18 -0
  74. data/lib/metronome_sdk/models/v1/contract_set_usage_filter_params.rb +46 -0
  75. data/lib/metronome_sdk/models/v1/contract_update_end_date_params.rb +57 -0
  76. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +18 -0
  77. data/lib/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rb +48 -0
  78. data/lib/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rb +43 -0
  79. data/lib/metronome_sdk/models/v1/contracts/named_schedule_update_params.rb +62 -0
  80. data/lib/metronome_sdk/models/v1/contracts/product_archive_params.rb +26 -0
  81. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +20 -0
  82. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +167 -0
  83. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +20 -0
  84. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +152 -0
  85. data/lib/metronome_sdk/models/v1/contracts/product_list_params.rb +55 -0
  86. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +214 -0
  87. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +18 -0
  88. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +225 -0
  89. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +176 -0
  90. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +20 -0
  91. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +57 -0
  92. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +43 -0
  93. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +112 -0
  94. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +20 -0
  95. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_params.rb +41 -0
  96. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +108 -0
  97. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +18 -0
  98. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +110 -0
  99. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +153 -0
  100. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +119 -0
  101. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +78 -0
  102. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +20 -0
  103. data/lib/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rb +58 -0
  104. data/lib/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rb +45 -0
  105. data/lib/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rb +72 -0
  106. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rb +35 -0
  107. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +22 -0
  108. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +55 -0
  109. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +22 -0
  110. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +229 -0
  111. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +23 -0
  112. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +216 -0
  113. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +183 -0
  114. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +112 -0
  115. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +137 -0
  116. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +233 -0
  117. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +18 -0
  118. data/lib/metronome_sdk/models/v1/credit_grant_edit_params.rb +48 -0
  119. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +18 -0
  120. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +69 -0
  121. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +164 -0
  122. data/lib/metronome_sdk/models/v1/credit_grant_list_params.rb +81 -0
  123. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +252 -0
  124. data/lib/metronome_sdk/models/v1/credit_grant_void_params.rb +39 -0
  125. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +18 -0
  126. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +71 -0
  127. data/lib/metronome_sdk/models/v1/custom_field_add_key_params.rb +60 -0
  128. data/lib/metronome_sdk/models/v1/custom_field_delete_values_params.rb +60 -0
  129. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +59 -0
  130. data/lib/metronome_sdk/models/v1/custom_field_list_keys_response.rb +74 -0
  131. data/lib/metronome_sdk/models/v1/custom_field_remove_key_params.rb +54 -0
  132. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +60 -0
  133. data/lib/metronome_sdk/models/v1/customer.rb +55 -0
  134. data/lib/metronome_sdk/models/v1/customer_archive_params.rb +16 -0
  135. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +18 -0
  136. data/lib/metronome_sdk/models/v1/customer_create_params.rb +259 -0
  137. data/lib/metronome_sdk/models/v1/customer_create_response.rb +18 -0
  138. data/lib/metronome_sdk/models/v1/customer_detail.rb +131 -0
  139. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_params.rb +60 -0
  140. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +153 -0
  141. data/lib/metronome_sdk/models/v1/customer_list_costs_params.rb +55 -0
  142. data/lib/metronome_sdk/models/v1/customer_list_costs_response.rb +82 -0
  143. data/lib/metronome_sdk/models/v1/customer_list_params.rb +71 -0
  144. data/lib/metronome_sdk/models/v1/customer_retrieve_params.rb +22 -0
  145. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +18 -0
  146. data/lib/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rb +28 -0
  147. data/lib/metronome_sdk/models/v1/customer_set_name_params.rb +36 -0
  148. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +18 -0
  149. data/lib/metronome_sdk/models/v1/customer_update_config_params.rb +44 -0
  150. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +59 -0
  151. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +27 -0
  152. data/lib/metronome_sdk/models/v1/customers/alert_reset_params.rb +34 -0
  153. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +34 -0
  154. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +20 -0
  155. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +129 -0
  156. data/lib/metronome_sdk/models/v1/customers/billing_config_delete_params.rb +47 -0
  157. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rb +47 -0
  158. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +164 -0
  159. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +436 -0
  160. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +20 -0
  161. data/lib/metronome_sdk/models/v1/customers/commit_list_params.rb +103 -0
  162. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +26 -0
  163. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_params.rb +59 -0
  164. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +20 -0
  165. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +198 -0
  166. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +20 -0
  167. data/lib/metronome_sdk/models/v1/customers/credit_list_params.rb +103 -0
  168. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +26 -0
  169. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_params.rb +48 -0
  170. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +20 -0
  171. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +269 -0
  172. data/lib/metronome_sdk/models/v1/customers/invoice.rb +1074 -0
  173. data/lib/metronome_sdk/models/v1/customers/invoice_add_charge_params.rb +79 -0
  174. data/lib/metronome_sdk/models/v1/customers/invoice_add_charge_response.rb +14 -0
  175. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +135 -0
  176. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +26 -0
  177. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +110 -0
  178. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_params.rb +40 -0
  179. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +20 -0
  180. data/lib/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rb +48 -0
  181. data/lib/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rb +43 -0
  182. data/lib/metronome_sdk/models/v1/customers/named_schedule_update_params.rb +62 -0
  183. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +245 -0
  184. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +20 -0
  185. data/lib/metronome_sdk/models/v1/customers/plan_end_params.rb +66 -0
  186. data/lib/metronome_sdk/models/v1/customers/plan_end_response.rb +14 -0
  187. data/lib/metronome_sdk/models/v1/customers/plan_list_params.rb +41 -0
  188. data/lib/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rb +48 -0
  189. data/lib/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rb +102 -0
  190. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +118 -0
  191. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +173 -0
  192. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rb +29 -0
  193. data/lib/metronome_sdk/models/v1/invoice_regenerate_params.rb +24 -0
  194. data/lib/metronome_sdk/models/v1/invoice_regenerate_response.rb +30 -0
  195. data/lib/metronome_sdk/models/v1/invoice_void_params.rb +24 -0
  196. data/lib/metronome_sdk/models/v1/invoice_void_response.rb +29 -0
  197. data/lib/metronome_sdk/models/v1/plan_detail.rb +200 -0
  198. data/lib/metronome_sdk/models/v1/plan_get_details_params.rb +22 -0
  199. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +18 -0
  200. data/lib/metronome_sdk/models/v1/plan_list_charges_params.rb +39 -0
  201. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +202 -0
  202. data/lib/metronome_sdk/models/v1/plan_list_customers_params.rb +79 -0
  203. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +72 -0
  204. data/lib/metronome_sdk/models/v1/plan_list_params.rb +32 -0
  205. data/lib/metronome_sdk/models/v1/plan_list_response.rb +36 -0
  206. data/lib/metronome_sdk/models/v1/pricing_unit_list_params.rb +32 -0
  207. data/lib/metronome_sdk/models/v1/pricing_unit_list_response.rb +30 -0
  208. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +38 -0
  209. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +38 -0
  210. data/lib/metronome_sdk/models/v1/service_list_params.rb +16 -0
  211. data/lib/metronome_sdk/models/v1/service_list_response.rb +52 -0
  212. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +62 -0
  213. data/lib/metronome_sdk/models/v1/usage_list_params.rb +129 -0
  214. data/lib/metronome_sdk/models/v1/usage_list_response.rb +83 -0
  215. data/lib/metronome_sdk/models/v1/usage_list_with_groups_params.rb +130 -0
  216. data/lib/metronome_sdk/models/v1/usage_list_with_groups_response.rb +42 -0
  217. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +266 -0
  218. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +18 -0
  219. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +154 -0
  220. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +18 -0
  221. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +3281 -0
  222. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +18 -0
  223. data/lib/metronome_sdk/models/v2/contract_get_edit_history_params.rb +28 -0
  224. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +2394 -0
  225. data/lib/metronome_sdk/models/v2/contract_list_params.rb +74 -0
  226. data/lib/metronome_sdk/models/v2/contract_list_response.rb +3044 -0
  227. data/lib/metronome_sdk/models/v2/contract_retrieve_params.rb +63 -0
  228. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +3051 -0
  229. data/lib/metronome_sdk/request_options.rb +73 -0
  230. data/lib/metronome_sdk/resources/v1/alerts.rb +99 -0
  231. data/lib/metronome_sdk/resources/v1/audit_logs.rb +60 -0
  232. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +131 -0
  233. data/lib/metronome_sdk/resources/v1/contracts/named_schedules.rb +86 -0
  234. data/lib/metronome_sdk/resources/v1/contracts/products.rb +212 -0
  235. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rb +94 -0
  236. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +70 -0
  237. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +141 -0
  238. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +192 -0
  239. data/lib/metronome_sdk/resources/v1/contracts.rb +506 -0
  240. data/lib/metronome_sdk/resources/v1/credit_grants.rb +211 -0
  241. data/lib/metronome_sdk/resources/v1/custom_fields.rb +140 -0
  242. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +99 -0
  243. data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +126 -0
  244. data/lib/metronome_sdk/resources/v1/customers/commits.rb +165 -0
  245. data/lib/metronome_sdk/resources/v1/customers/credits.rb +151 -0
  246. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +208 -0
  247. data/lib/metronome_sdk/resources/v1/customers/named_schedules.rb +86 -0
  248. data/lib/metronome_sdk/resources/v1/customers/plans.rb +184 -0
  249. data/lib/metronome_sdk/resources/v1/customers.rb +336 -0
  250. data/lib/metronome_sdk/resources/v1/dashboards.rb +48 -0
  251. data/lib/metronome_sdk/resources/v1/invoices.rb +60 -0
  252. data/lib/metronome_sdk/resources/v1/plans.rb +133 -0
  253. data/lib/metronome_sdk/resources/v1/pricing_units.rb +41 -0
  254. data/lib/metronome_sdk/resources/v1/services.rb +37 -0
  255. data/lib/metronome_sdk/resources/v1/usage.rb +129 -0
  256. data/lib/metronome_sdk/resources/v1.rb +66 -0
  257. data/lib/metronome_sdk/resources/v2/contracts.rb +256 -0
  258. data/lib/metronome_sdk/resources/v2.rb +18 -0
  259. data/lib/metronome_sdk/version.rb +5 -0
  260. data/lib/metronome_sdk.rb +282 -0
  261. data/manifest.yaml +15 -0
  262. data/rbi/metronome_sdk/client.rbi +51 -0
  263. data/rbi/metronome_sdk/errors.rbi +143 -0
  264. data/rbi/metronome_sdk/file_part.rbi +34 -0
  265. data/rbi/metronome_sdk/internal/cursor_page.rbi +21 -0
  266. data/rbi/metronome_sdk/internal/transport/base_client.rbi +213 -0
  267. data/rbi/metronome_sdk/internal/transport/pooled_net_requester.rbi +60 -0
  268. data/rbi/metronome_sdk/internal/type/array_of.rbi +88 -0
  269. data/rbi/metronome_sdk/internal/type/base_model.rbi +220 -0
  270. data/rbi/metronome_sdk/internal/type/base_page.rbi +38 -0
  271. data/rbi/metronome_sdk/internal/type/boolean.rbi +48 -0
  272. data/rbi/metronome_sdk/internal/type/converter.rbi +120 -0
  273. data/rbi/metronome_sdk/internal/type/enum.rbi +66 -0
  274. data/rbi/metronome_sdk/internal/type/file_input.rbi +50 -0
  275. data/rbi/metronome_sdk/internal/type/hash_of.rbi +88 -0
  276. data/rbi/metronome_sdk/internal/type/request_parameters.rbi +21 -0
  277. data/rbi/metronome_sdk/internal/type/union.rbi +80 -0
  278. data/rbi/metronome_sdk/internal/type/unknown.rbi +40 -0
  279. data/rbi/metronome_sdk/internal/util.rbi +302 -0
  280. data/rbi/metronome_sdk/internal.rbi +11 -0
  281. data/rbi/metronome_sdk/models/base_usage_filter.rbi +27 -0
  282. data/rbi/metronome_sdk/models/commit.rbi +1283 -0
  283. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +2407 -0
  284. data/rbi/metronome_sdk/models/credit.rbi +697 -0
  285. data/rbi/metronome_sdk/models/credit_type_data.rbi +19 -0
  286. data/rbi/metronome_sdk/models/discount.rbi +90 -0
  287. data/rbi/metronome_sdk/models/event_type_filter.rbi +40 -0
  288. data/rbi/metronome_sdk/models/id.rbi +16 -0
  289. data/rbi/metronome_sdk/models/override.rbi +503 -0
  290. data/rbi/metronome_sdk/models/pro_service.rbi +92 -0
  291. data/rbi/metronome_sdk/models/property_filter.rbi +75 -0
  292. data/rbi/metronome_sdk/models/rate.rbi +143 -0
  293. data/rbi/metronome_sdk/models/schedule_duration.rbi +58 -0
  294. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +92 -0
  295. data/rbi/metronome_sdk/models/scheduled_charge.rbi +104 -0
  296. data/rbi/metronome_sdk/models/tier.rbi +22 -0
  297. data/rbi/metronome_sdk/models/v1/alert_archive_params.rbi +48 -0
  298. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +21 -0
  299. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +342 -0
  300. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +21 -0
  301. data/rbi/metronome_sdk/models/v1/audit_log_list_params.rbi +128 -0
  302. data/rbi/metronome_sdk/models/v1/audit_log_list_response.rbi +167 -0
  303. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +21 -0
  304. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +21 -0
  305. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +165 -0
  306. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +21 -0
  307. data/rbi/metronome_sdk/models/v1/billable_metric_list_params.rbi +64 -0
  308. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +174 -0
  309. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_params.rbi +27 -0
  310. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +217 -0
  311. data/rbi/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbi +95 -0
  312. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +2903 -0
  313. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +21 -0
  314. data/rbi/metronome_sdk/models/v1/contract_archive_params.rbi +57 -0
  315. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +21 -0
  316. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbi +346 -0
  317. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +23 -0
  318. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +5220 -0
  319. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +21 -0
  320. data/rbi/metronome_sdk/models/v1/contract_list_balances_params.rbi +138 -0
  321. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +42 -0
  322. data/rbi/metronome_sdk/models/v1/contract_list_params.rbi +104 -0
  323. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +670 -0
  324. data/rbi/metronome_sdk/models/v1/contract_retrieve_params.rbi +69 -0
  325. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbi +178 -0
  326. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +254 -0
  327. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +683 -0
  328. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rbi +192 -0
  329. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +23 -0
  330. data/rbi/metronome_sdk/models/v1/contract_set_usage_filter_params.rbi +63 -0
  331. data/rbi/metronome_sdk/models/v1/contract_update_end_date_params.rbi +77 -0
  332. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +21 -0
  333. data/rbi/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rbi +62 -0
  334. data/rbi/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rbi +55 -0
  335. data/rbi/metronome_sdk/models/v1/contracts/named_schedule_update_params.rbi +74 -0
  336. data/rbi/metronome_sdk/models/v1/contracts/product_archive_params.rbi +33 -0
  337. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +23 -0
  338. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +241 -0
  339. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +23 -0
  340. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +214 -0
  341. data/rbi/metronome_sdk/models/v1/contracts/product_list_params.rbi +90 -0
  342. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +307 -0
  343. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +23 -0
  344. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +347 -0
  345. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +248 -0
  346. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +23 -0
  347. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +80 -0
  348. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +62 -0
  349. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_params.rbi +161 -0
  350. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +23 -0
  351. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_params.rbi +64 -0
  352. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +174 -0
  353. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +23 -0
  354. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbi +171 -0
  355. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +249 -0
  356. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +216 -0
  357. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_params.rbi +104 -0
  358. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +23 -0
  359. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rbi +72 -0
  360. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rbi +59 -0
  361. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rbi +84 -0
  362. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rbi +49 -0
  363. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +25 -0
  364. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rbi +74 -0
  365. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +25 -0
  366. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +376 -0
  367. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +28 -0
  368. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +330 -0
  369. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +323 -0
  370. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbi +169 -0
  371. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +210 -0
  372. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +316 -0
  373. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +21 -0
  374. data/rbi/metronome_sdk/models/v1/credit_grant_edit_params.rbi +72 -0
  375. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +21 -0
  376. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +98 -0
  377. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +229 -0
  378. data/rbi/metronome_sdk/models/v1/credit_grant_list_params.rbi +114 -0
  379. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +298 -0
  380. data/rbi/metronome_sdk/models/v1/credit_grant_void_params.rbi +59 -0
  381. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +21 -0
  382. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +81 -0
  383. data/rbi/metronome_sdk/models/v1/custom_field_add_key_params.rbi +82 -0
  384. data/rbi/metronome_sdk/models/v1/custom_field_delete_values_params.rbi +90 -0
  385. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_params.rbi +91 -0
  386. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +123 -0
  387. data/rbi/metronome_sdk/models/v1/custom_field_remove_key_params.rbi +78 -0
  388. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +83 -0
  389. data/rbi/metronome_sdk/models/v1/customer.rbi +68 -0
  390. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +21 -0
  391. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +21 -0
  392. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +591 -0
  393. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +24 -0
  394. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +175 -0
  395. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_params.rbi +83 -0
  396. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +233 -0
  397. data/rbi/metronome_sdk/models/v1/customer_list_costs_params.rbi +75 -0
  398. data/rbi/metronome_sdk/models/v1/customer_list_costs_response.rbi +132 -0
  399. data/rbi/metronome_sdk/models/v1/customer_list_params.rbi +101 -0
  400. data/rbi/metronome_sdk/models/v1/customer_retrieve_params.rbi +27 -0
  401. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +24 -0
  402. data/rbi/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rbi +40 -0
  403. data/rbi/metronome_sdk/models/v1/customer_set_name_params.rbi +40 -0
  404. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +24 -0
  405. data/rbi/metronome_sdk/models/v1/customer_update_config_params.rbi +55 -0
  406. data/rbi/metronome_sdk/models/v1/customers/alert_list_params.rbi +90 -0
  407. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +34 -0
  408. data/rbi/metronome_sdk/models/v1/customers/alert_reset_params.rbi +48 -0
  409. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +48 -0
  410. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +29 -0
  411. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +320 -0
  412. data/rbi/metronome_sdk/models/v1/customers/billing_config_delete_params.rbi +99 -0
  413. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbi +99 -0
  414. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +403 -0
  415. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +682 -0
  416. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +23 -0
  417. data/rbi/metronome_sdk/models/v1/customers/commit_list_params.rbi +140 -0
  418. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +29 -0
  419. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_params.rbi +77 -0
  420. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +23 -0
  421. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +278 -0
  422. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +23 -0
  423. data/rbi/metronome_sdk/models/v1/customers/credit_list_params.rbi +140 -0
  424. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +29 -0
  425. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_params.rbi +59 -0
  426. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +23 -0
  427. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +445 -0
  428. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +1756 -0
  429. data/rbi/metronome_sdk/models/v1/customers/invoice_add_charge_params.rbi +89 -0
  430. data/rbi/metronome_sdk/models/v1/customers/invoice_add_charge_response.rbi +17 -0
  431. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rbi +192 -0
  432. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +25 -0
  433. data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +149 -0
  434. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_params.rbi +56 -0
  435. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +26 -0
  436. data/rbi/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rbi +62 -0
  437. data/rbi/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rbi +55 -0
  438. data/rbi/metronome_sdk/models/v1/customers/named_schedule_update_params.rbi +74 -0
  439. data/rbi/metronome_sdk/models/v1/customers/plan_add_params.rbi +384 -0
  440. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +23 -0
  441. data/rbi/metronome_sdk/models/v1/customers/plan_end_params.rbi +86 -0
  442. data/rbi/metronome_sdk/models/v1/customers/plan_end_response.rbi +17 -0
  443. data/rbi/metronome_sdk/models/v1/customers/plan_list_params.rbi +61 -0
  444. data/rbi/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rbi +67 -0
  445. data/rbi/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbi +192 -0
  446. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +162 -0
  447. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +375 -0
  448. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rbi +45 -0
  449. data/rbi/metronome_sdk/models/v1/invoice_regenerate_params.rbi +34 -0
  450. data/rbi/metronome_sdk/models/v1/invoice_regenerate_response.rbi +45 -0
  451. data/rbi/metronome_sdk/models/v1/invoice_void_params.rbi +34 -0
  452. data/rbi/metronome_sdk/models/v1/invoice_void_response.rbi +38 -0
  453. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +303 -0
  454. data/rbi/metronome_sdk/models/v1/plan_get_details_params.rbi +27 -0
  455. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +24 -0
  456. data/rbi/metronome_sdk/models/v1/plan_list_charges_params.rbi +59 -0
  457. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +284 -0
  458. data/rbi/metronome_sdk/models/v1/plan_list_customers_params.rbi +110 -0
  459. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +107 -0
  460. data/rbi/metronome_sdk/models/v1/plan_list_params.rbi +46 -0
  461. data/rbi/metronome_sdk/models/v1/plan_list_response.rbi +42 -0
  462. data/rbi/metronome_sdk/models/v1/pricing_unit_list_params.rbi +46 -0
  463. data/rbi/metronome_sdk/models/v1/pricing_unit_list_response.rbi +33 -0
  464. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +43 -0
  465. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +48 -0
  466. data/rbi/metronome_sdk/models/v1/service_list_params.rbi +21 -0
  467. data/rbi/metronome_sdk/models/v1/service_list_response.rbi +78 -0
  468. data/rbi/metronome_sdk/models/v1/usage_ingest_params.rbi +96 -0
  469. data/rbi/metronome_sdk/models/v1/usage_list_params.rbi +170 -0
  470. data/rbi/metronome_sdk/models/v1/usage_list_response.rbi +97 -0
  471. data/rbi/metronome_sdk/models/v1/usage_list_with_groups_params.rbi +167 -0
  472. data/rbi/metronome_sdk/models/v1/usage_list_with_groups_response.rbi +50 -0
  473. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +486 -0
  474. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +21 -0
  475. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +257 -0
  476. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +21 -0
  477. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +5637 -0
  478. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +21 -0
  479. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_params.rbi +39 -0
  480. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +4446 -0
  481. data/rbi/metronome_sdk/models/v2/contract_list_params.rbi +100 -0
  482. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +5176 -0
  483. data/rbi/metronome_sdk/models/v2/contract_retrieve_params.rbi +82 -0
  484. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +5265 -0
  485. data/rbi/metronome_sdk/request_options.rbi +48 -0
  486. data/rbi/metronome_sdk/resources/v1/alerts.rbi +86 -0
  487. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +50 -0
  488. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +87 -0
  489. data/rbi/metronome_sdk/resources/v1/contracts/named_schedules.rbi +61 -0
  490. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +195 -0
  491. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rbi +69 -0
  492. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +52 -0
  493. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +133 -0
  494. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +146 -0
  495. data/rbi/metronome_sdk/resources/v1/contracts.rbi +462 -0
  496. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +181 -0
  497. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +83 -0
  498. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +59 -0
  499. data/rbi/metronome_sdk/resources/v1/customers/billing_config.rbi +75 -0
  500. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +159 -0
  501. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +134 -0
  502. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +164 -0
  503. data/rbi/metronome_sdk/resources/v1/customers/named_schedules.rbi +61 -0
  504. data/rbi/metronome_sdk/resources/v1/customers/plans.rbi +146 -0
  505. data/rbi/metronome_sdk/resources/v1/customers.rbi +213 -0
  506. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +54 -0
  507. data/rbi/metronome_sdk/resources/v1/invoices.rbi +33 -0
  508. data/rbi/metronome_sdk/resources/v1/plans.rbi +82 -0
  509. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +25 -0
  510. data/rbi/metronome_sdk/resources/v1/services.rbi +20 -0
  511. data/rbi/metronome_sdk/resources/v1/usage.rbi +104 -0
  512. data/rbi/metronome_sdk/resources/v1.rbi +50 -0
  513. data/rbi/metronome_sdk/resources/v2/contracts.rbi +224 -0
  514. data/rbi/metronome_sdk/resources/v2.rbi +14 -0
  515. data/rbi/metronome_sdk/version.rbi +5 -0
  516. data/sig/metronome_sdk/client.rbs +28 -0
  517. data/sig/metronome_sdk/errors.rbs +101 -0
  518. data/sig/metronome_sdk/file_part.rbs +21 -0
  519. data/sig/metronome_sdk/internal/cursor_page.rbs +13 -0
  520. data/sig/metronome_sdk/internal/transport/base_client.rbs +116 -0
  521. data/sig/metronome_sdk/internal/transport/pooled_net_requester.rbs +41 -0
  522. data/sig/metronome_sdk/internal/type/array_of.rbs +45 -0
  523. data/sig/metronome_sdk/internal/type/base_model.rbs +96 -0
  524. data/sig/metronome_sdk/internal/type/base_page.rbs +24 -0
  525. data/sig/metronome_sdk/internal/type/boolean.rbs +23 -0
  526. data/sig/metronome_sdk/internal/type/converter.rbs +54 -0
  527. data/sig/metronome_sdk/internal/type/enum.rbs +29 -0
  528. data/sig/metronome_sdk/internal/type/file_input.rbs +23 -0
  529. data/sig/metronome_sdk/internal/type/hash_of.rbs +45 -0
  530. data/sig/metronome_sdk/internal/type/request_parameters.rbs +15 -0
  531. data/sig/metronome_sdk/internal/type/union.rbs +49 -0
  532. data/sig/metronome_sdk/internal/type/unknown.rbs +23 -0
  533. data/sig/metronome_sdk/internal/util.rbs +158 -0
  534. data/sig/metronome_sdk/internal.rbs +5 -0
  535. data/sig/metronome_sdk/models/base_usage_filter.rbs +24 -0
  536. data/sig/metronome_sdk/models/commit.rbs +750 -0
  537. data/sig/metronome_sdk/models/contract_without_amendments.rbs +1122 -0
  538. data/sig/metronome_sdk/models/credit.rbs +415 -0
  539. data/sig/metronome_sdk/models/credit_type_data.rbs +15 -0
  540. data/sig/metronome_sdk/models/discount.rbs +56 -0
  541. data/sig/metronome_sdk/models/event_type_filter.rbs +23 -0
  542. data/sig/metronome_sdk/models/id.rbs +13 -0
  543. data/sig/metronome_sdk/models/override.rbs +343 -0
  544. data/sig/metronome_sdk/models/pro_service.rbs +52 -0
  545. data/sig/metronome_sdk/models/property_filter.rbs +36 -0
  546. data/sig/metronome_sdk/models/rate.rbs +86 -0
  547. data/sig/metronome_sdk/models/schedule_duration.rbs +48 -0
  548. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +65 -0
  549. data/sig/metronome_sdk/models/scheduled_charge.rbs +62 -0
  550. data/sig/metronome_sdk/models/tier.rbs +17 -0
  551. data/sig/metronome_sdk/models/v1/alert_archive_params.rbs +28 -0
  552. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +15 -0
  553. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +181 -0
  554. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +15 -0
  555. data/sig/metronome_sdk/models/v1/audit_log_list_params.rbs +76 -0
  556. data/sig/metronome_sdk/models/v1/audit_log_list_response.rbs +114 -0
  557. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +17 -0
  558. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +15 -0
  559. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +87 -0
  560. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +15 -0
  561. data/sig/metronome_sdk/models/v1/billable_metric_list_params.rbs +35 -0
  562. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +92 -0
  563. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_params.rbs +23 -0
  564. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +107 -0
  565. data/sig/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbs +53 -0
  566. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +1398 -0
  567. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +15 -0
  568. data/sig/metronome_sdk/models/v1/contract_archive_params.rbs +29 -0
  569. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +15 -0
  570. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbs +188 -0
  571. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +18 -0
  572. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +2400 -0
  573. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +15 -0
  574. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +79 -0
  575. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +32 -0
  576. data/sig/metronome_sdk/models/v1/contract_list_params.rbs +55 -0
  577. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +333 -0
  578. data/sig/metronome_sdk/models/v1/contract_retrieve_params.rbs +41 -0
  579. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbs +94 -0
  580. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +141 -0
  581. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +333 -0
  582. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rbs +106 -0
  583. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +18 -0
  584. data/sig/metronome_sdk/models/v1/contract_set_usage_filter_params.rbs +41 -0
  585. data/sig/metronome_sdk/models/v1/contract_update_end_date_params.rbs +41 -0
  586. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +16 -0
  587. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rbs +33 -0
  588. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rbs +42 -0
  589. data/sig/metronome_sdk/models/v1/contracts/named_schedule_update_params.rbs +45 -0
  590. data/sig/metronome_sdk/models/v1/contracts/product_archive_params.rbs +25 -0
  591. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +17 -0
  592. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +120 -0
  593. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +17 -0
  594. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +104 -0
  595. data/sig/metronome_sdk/models/v1/contracts/product_list_params.rbs +55 -0
  596. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +162 -0
  597. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +19 -0
  598. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +179 -0
  599. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +105 -0
  600. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +17 -0
  601. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +43 -0
  602. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +38 -0
  603. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_params.rbs +99 -0
  604. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +17 -0
  605. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_params.rbs +37 -0
  606. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +111 -0
  607. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +19 -0
  608. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbs +90 -0
  609. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +131 -0
  610. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +129 -0
  611. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_params.rbs +69 -0
  612. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +17 -0
  613. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rbs +43 -0
  614. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rbs +44 -0
  615. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rbs +51 -0
  616. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rbs +30 -0
  617. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +19 -0
  618. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rbs +45 -0
  619. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +20 -0
  620. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +185 -0
  621. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +19 -0
  622. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +170 -0
  623. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +160 -0
  624. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbs +92 -0
  625. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +114 -0
  626. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +152 -0
  627. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +15 -0
  628. data/sig/metronome_sdk/models/v1/credit_grant_edit_params.rbs +43 -0
  629. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +15 -0
  630. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +51 -0
  631. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +120 -0
  632. data/sig/metronome_sdk/models/v1/credit_grant_list_params.rbs +63 -0
  633. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +155 -0
  634. data/sig/metronome_sdk/models/v1/credit_grant_void_params.rbs +37 -0
  635. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +15 -0
  636. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +44 -0
  637. data/sig/metronome_sdk/models/v1/custom_field_add_key_params.rbs +78 -0
  638. data/sig/metronome_sdk/models/v1/custom_field_delete_values_params.rbs +78 -0
  639. data/sig/metronome_sdk/models/v1/custom_field_list_keys_params.rbs +80 -0
  640. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +92 -0
  641. data/sig/metronome_sdk/models/v1/custom_field_remove_key_params.rbs +74 -0
  642. data/sig/metronome_sdk/models/v1/custom_field_set_values_params.rbs +78 -0
  643. data/sig/metronome_sdk/models/v1/customer.rbs +38 -0
  644. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +17 -0
  645. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +15 -0
  646. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +269 -0
  647. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +16 -0
  648. data/sig/metronome_sdk/models/v1/customer_detail.rbs +96 -0
  649. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_params.rbs +49 -0
  650. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +116 -0
  651. data/sig/metronome_sdk/models/v1/customer_list_costs_params.rbs +45 -0
  652. data/sig/metronome_sdk/models/v1/customer_list_costs_response.rbs +88 -0
  653. data/sig/metronome_sdk/models/v1/customer_list_params.rbs +57 -0
  654. data/sig/metronome_sdk/models/v1/customer_retrieve_params.rbs +23 -0
  655. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +16 -0
  656. data/sig/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rbs +26 -0
  657. data/sig/metronome_sdk/models/v1/customer_set_name_params.rbs +26 -0
  658. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +16 -0
  659. data/sig/metronome_sdk/models/v1/customer_update_config_params.rbs +33 -0
  660. data/sig/metronome_sdk/models/v1/customers/alert_list_params.rbs +53 -0
  661. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +26 -0
  662. data/sig/metronome_sdk/models/v1/customers/alert_reset_params.rbs +28 -0
  663. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +28 -0
  664. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +20 -0
  665. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +152 -0
  666. data/sig/metronome_sdk/models/v1/customers/billing_config_delete_params.rbs +56 -0
  667. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbs +56 -0
  668. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +181 -0
  669. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +317 -0
  670. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +17 -0
  671. data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +81 -0
  672. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +23 -0
  673. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_params.rbs +43 -0
  674. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +18 -0
  675. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +152 -0
  676. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +17 -0
  677. data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +81 -0
  678. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +23 -0
  679. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_params.rbs +31 -0
  680. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +18 -0
  681. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +213 -0
  682. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +995 -0
  683. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_params.rbs +51 -0
  684. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_response.rbs +15 -0
  685. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rbs +103 -0
  686. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +27 -0
  687. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +88 -0
  688. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_params.rbs +37 -0
  689. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +20 -0
  690. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rbs +33 -0
  691. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rbs +42 -0
  692. data/sig/metronome_sdk/models/v1/customers/named_schedule_update_params.rbs +45 -0
  693. data/sig/metronome_sdk/models/v1/customers/plan_add_params.rbs +183 -0
  694. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +17 -0
  695. data/sig/metronome_sdk/models/v1/customers/plan_end_params.rbs +49 -0
  696. data/sig/metronome_sdk/models/v1/customers/plan_end_response.rbs +15 -0
  697. data/sig/metronome_sdk/models/v1/customers/plan_list_params.rbs +35 -0
  698. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rbs +43 -0
  699. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbs +94 -0
  700. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +104 -0
  701. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +176 -0
  702. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rbs +32 -0
  703. data/sig/metronome_sdk/models/v1/invoice_regenerate_params.rbs +22 -0
  704. data/sig/metronome_sdk/models/v1/invoice_regenerate_response.rbs +32 -0
  705. data/sig/metronome_sdk/models/v1/invoice_void_params.rbs +22 -0
  706. data/sig/metronome_sdk/models/v1/invoice_void_response.rbs +32 -0
  707. data/sig/metronome_sdk/models/v1/plan_detail.rbs +173 -0
  708. data/sig/metronome_sdk/models/v1/plan_get_details_params.rbs +22 -0
  709. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +16 -0
  710. data/sig/metronome_sdk/models/v1/plan_list_charges_params.rbs +33 -0
  711. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +159 -0
  712. data/sig/metronome_sdk/models/v1/plan_list_customers_params.rbs +58 -0
  713. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +59 -0
  714. data/sig/metronome_sdk/models/v1/plan_list_params.rbs +30 -0
  715. data/sig/metronome_sdk/models/v1/plan_list_response.rbs +34 -0
  716. data/sig/metronome_sdk/models/v1/pricing_unit_list_params.rbs +30 -0
  717. data/sig/metronome_sdk/models/v1/pricing_unit_list_response.rbs +26 -0
  718. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +34 -0
  719. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +34 -0
  720. data/sig/metronome_sdk/models/v1/service_list_params.rbs +17 -0
  721. data/sig/metronome_sdk/models/v1/service_list_response.rbs +54 -0
  722. data/sig/metronome_sdk/models/v1/usage_ingest_params.rbs +60 -0
  723. data/sig/metronome_sdk/models/v1/usage_list_params.rbs +102 -0
  724. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +65 -0
  725. data/sig/metronome_sdk/models/v1/usage_list_with_groups_params.rbs +97 -0
  726. data/sig/metronome_sdk/models/v1/usage_list_with_groups_response.rbs +36 -0
  727. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +279 -0
  728. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +15 -0
  729. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +148 -0
  730. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +15 -0
  731. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +2726 -0
  732. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +15 -0
  733. data/sig/metronome_sdk/models/v2/contract_get_edit_history_params.rbs +26 -0
  734. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +2128 -0
  735. data/sig/metronome_sdk/models/v2/contract_list_params.rbs +55 -0
  736. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +2586 -0
  737. data/sig/metronome_sdk/models/v2/contract_retrieve_params.rbs +47 -0
  738. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +2586 -0
  739. data/sig/metronome_sdk/request_options.rbs +36 -0
  740. data/sig/metronome_sdk/resources/v1/alerts.rbs +32 -0
  741. data/sig/metronome_sdk/resources/v1/audit_logs.rbs +20 -0
  742. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +38 -0
  743. data/sig/metronome_sdk/resources/v1/contracts/named_schedules.rbs +27 -0
  744. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +65 -0
  745. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rbs +31 -0
  746. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbs +25 -0
  747. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +47 -0
  748. data/sig/metronome_sdk/resources/v1/contracts/rate_cards.rbs +57 -0
  749. data/sig/metronome_sdk/resources/v1/contracts.rbs +159 -0
  750. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +62 -0
  751. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +42 -0
  752. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +30 -0
  753. data/sig/metronome_sdk/resources/v1/customers/billing_config.rbs +33 -0
  754. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +54 -0
  755. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +50 -0
  756. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +56 -0
  757. data/sig/metronome_sdk/resources/v1/customers/named_schedules.rbs +27 -0
  758. data/sig/metronome_sdk/resources/v1/customers/plans.rbs +47 -0
  759. data/sig/metronome_sdk/resources/v1/customers.rbs +90 -0
  760. data/sig/metronome_sdk/resources/v1/dashboards.rbs +18 -0
  761. data/sig/metronome_sdk/resources/v1/invoices.rbs +19 -0
  762. data/sig/metronome_sdk/resources/v1/plans.rbs +35 -0
  763. data/sig/metronome_sdk/resources/v1/pricing_units.rbs +15 -0
  764. data/sig/metronome_sdk/resources/v1/services.rbs +13 -0
  765. data/sig/metronome_sdk/resources/v1/usage.rbs +37 -0
  766. data/sig/metronome_sdk/resources/v1.rbs +33 -0
  767. data/sig/metronome_sdk/resources/v2/contracts.rbs +80 -0
  768. data/sig/metronome_sdk/resources/v2.rbs +9 -0
  769. data/sig/metronome_sdk/version.rbs +3 -0
  770. metadata +827 -0
@@ -0,0 +1,3044 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V2
6
+ # @see MetronomeSDK::Resources::V2::Contracts#list
7
+ class ContractListResponse < MetronomeSDK::Internal::Type::BaseModel
8
+ # @!attribute data
9
+ #
10
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data>]
11
+ required :data,
12
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data] }
13
+
14
+ # @!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
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::ScheduledCharge] }
55
+
56
+ # @!attribute starting_at
57
+ #
58
+ # @return [Time]
59
+ required :starting_at, Time
60
+
61
+ # @!attribute transitions
62
+ #
63
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Transition>]
64
+ required :transitions,
65
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Transition] }
66
+
67
+ # @!attribute usage_filter
68
+ #
69
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::UsageFilter>]
70
+ required :usage_filter,
71
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::UsageFilter] }
72
+
73
+ # @!attribute usage_statement_schedule
74
+ #
75
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::UsageStatementSchedule]
76
+ required :usage_statement_schedule,
77
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::UsageStatementSchedule }
78
+
79
+ # @!attribute archived_at
80
+ #
81
+ # @return [Time, nil]
82
+ optional :archived_at, Time
83
+
84
+ # @!attribute credit_balance_threshold_configuration
85
+ #
86
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::CreditBalanceThresholdConfiguration, nil]
87
+ optional :credit_balance_threshold_configuration,
88
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::CreditBalanceThresholdConfiguration }
89
+
90
+ # @!attribute credits
91
+ #
92
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit>, nil]
93
+ optional :credits,
94
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Credit] }
95
+
96
+ # @!attribute custom_fields
97
+ #
98
+ # @return [Hash{Symbol=>String}, nil]
99
+ optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
100
+
101
+ # @!attribute customer_billing_provider_configuration
102
+ # This field's availability is dependent on your client's configuration.
103
+ #
104
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration, nil]
105
+ optional :customer_billing_provider_configuration,
106
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration }
107
+
108
+ # @!attribute discounts
109
+ # This field's availability is dependent on your client's configuration.
110
+ #
111
+ # @return [Array<MetronomeSDK::Models::Discount>, nil]
112
+ optional :discounts, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::Discount] }
113
+
114
+ # @!attribute ending_before
115
+ #
116
+ # @return [Time, nil]
117
+ optional :ending_before, Time
118
+
119
+ # @!attribute multiplier_override_prioritization
120
+ # Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list
121
+ # prices automatically. EXPLICIT prioritization requires specifying priorities for
122
+ # each multiplier; the one with the lowest priority value will be prioritized
123
+ # first.
124
+ #
125
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::MultiplierOverridePrioritization, nil]
126
+ optional :multiplier_override_prioritization,
127
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::MultiplierOverridePrioritization }
128
+
129
+ # @!attribute name
130
+ #
131
+ # @return [String, nil]
132
+ optional :name, String
133
+
134
+ # @!attribute net_payment_terms_days
135
+ #
136
+ # @return [Float, nil]
137
+ optional :net_payment_terms_days, Float
138
+
139
+ # @!attribute netsuite_sales_order_id
140
+ # This field's availability is dependent on your client's configuration.
141
+ #
142
+ # @return [String, nil]
143
+ optional :netsuite_sales_order_id, String
144
+
145
+ # @!attribute professional_services
146
+ # This field's availability is dependent on your client's configuration.
147
+ #
148
+ # @return [Array<MetronomeSDK::Models::ProService>, nil]
149
+ optional :professional_services,
150
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::ProService] }
151
+
152
+ # @!attribute rate_card_id
153
+ #
154
+ # @return [String, nil]
155
+ optional :rate_card_id, String
156
+
157
+ # @!attribute recurring_commits
158
+ #
159
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit>, nil]
160
+ optional :recurring_commits,
161
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit] }
162
+
163
+ # @!attribute recurring_credits
164
+ #
165
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit>, nil]
166
+ optional :recurring_credits,
167
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit] }
168
+
169
+ # @!attribute reseller_royalties
170
+ # This field's availability is dependent on your client's configuration.
171
+ #
172
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::ResellerRoyalty>, nil]
173
+ optional :reseller_royalties,
174
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::ResellerRoyalty] }
175
+
176
+ # @!attribute salesforce_opportunity_id
177
+ # This field's availability is dependent on your client's configuration.
178
+ #
179
+ # @return [String, nil]
180
+ optional :salesforce_opportunity_id, String
181
+
182
+ # @!attribute scheduled_charges_on_usage_invoices
183
+ # Determines which scheduled and commit charges to consolidate onto the Contract's
184
+ # usage invoice. The charge's `timestamp` must match the usage invoice's
185
+ # `ending_before` date for consolidation to occur. This field cannot be modified
186
+ # after a Contract has been created. If this field is omitted, charges will appear
187
+ # on a separate invoice from usage charges.
188
+ #
189
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledChargesOnUsageInvoices, nil]
190
+ optional :scheduled_charges_on_usage_invoices,
191
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::ScheduledChargesOnUsageInvoices }
192
+
193
+ # @!attribute spend_threshold_configuration
194
+ #
195
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration, nil]
196
+ optional :spend_threshold_configuration,
197
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration }
198
+
199
+ # @!attribute total_contract_value
200
+ #
201
+ # @return [Float, nil]
202
+ optional :total_contract_value, Float
203
+
204
+ # @!attribute uniqueness_key
205
+ # Prevents the creation of duplicates. If a request to create a record is made
206
+ # with a previously used uniqueness key, a new record will not be created and the
207
+ # request will fail with a 409 error.
208
+ #
209
+ # @return [String, nil]
210
+ optional :uniqueness_key, String
211
+
212
+ # @!method initialize(id:, commits:, created_at:, created_by:, customer_id:, overrides:, scheduled_charges:, starting_at:, transitions:, usage_filter:, usage_statement_schedule:, archived_at: nil, credit_balance_threshold_configuration: nil, credits: nil, custom_fields: nil, customer_billing_provider_configuration: nil, discounts: nil, ending_before: nil, multiplier_override_prioritization: nil, name: nil, net_payment_terms_days: nil, netsuite_sales_order_id: 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, total_contract_value: nil, uniqueness_key: nil)
213
+ # Some parameter documentations has been truncated, see
214
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data} for more details.
215
+ #
216
+ # @param id [String]
217
+ #
218
+ # @param commits [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Commit>]
219
+ #
220
+ # @param created_at [Time]
221
+ #
222
+ # @param created_by [String]
223
+ #
224
+ # @param customer_id [String]
225
+ #
226
+ # @param overrides [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Override>]
227
+ #
228
+ # @param scheduled_charges [Array<MetronomeSDK::Models::ScheduledCharge>]
229
+ #
230
+ # @param starting_at [Time]
231
+ #
232
+ # @param transitions [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Transition>]
233
+ #
234
+ # @param usage_filter [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::UsageFilter>]
235
+ #
236
+ # @param usage_statement_schedule [MetronomeSDK::Models::V2::ContractListResponse::Data::UsageStatementSchedule]
237
+ #
238
+ # @param archived_at [Time]
239
+ #
240
+ # @param credit_balance_threshold_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::CreditBalanceThresholdConfiguration]
241
+ #
242
+ # @param credits [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Credit>]
243
+ #
244
+ # @param custom_fields [Hash{Symbol=>String}]
245
+ #
246
+ # @param customer_billing_provider_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration] This field's availability is dependent on your client's configuration.
247
+ #
248
+ # @param discounts [Array<MetronomeSDK::Models::Discount>] This field's availability is dependent on your client's configuration.
249
+ #
250
+ # @param ending_before [Time]
251
+ #
252
+ # @param multiplier_override_prioritization [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::MultiplierOverridePrioritization] Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list price
253
+ # ...
254
+ #
255
+ # @param name [String]
256
+ #
257
+ # @param net_payment_terms_days [Float]
258
+ #
259
+ # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
260
+ #
261
+ # @param professional_services [Array<MetronomeSDK::Models::ProService>] This field's availability is dependent on your client's configuration.
262
+ #
263
+ # @param rate_card_id [String]
264
+ #
265
+ # @param recurring_commits [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit>]
266
+ #
267
+ # @param recurring_credits [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit>]
268
+ #
269
+ # @param reseller_royalties [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::ResellerRoyalty>] This field's availability is dependent on your client's configuration.
270
+ #
271
+ # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
272
+ #
273
+ # @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
274
+ # ...
275
+ #
276
+ # @param spend_threshold_configuration [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration]
277
+ #
278
+ # @param total_contract_value [Float]
279
+ #
280
+ # @param uniqueness_key [String] Prevents the creation of duplicates. If a request to create a record is made wit
281
+ # ...
282
+
283
+ class Commit < MetronomeSDK::Internal::Type::BaseModel
284
+ # @!attribute id
285
+ #
286
+ # @return [String]
287
+ required :id, String
288
+
289
+ # @!attribute product
290
+ #
291
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Product]
292
+ required :product, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Product }
293
+
294
+ # @!attribute type
295
+ #
296
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Type]
297
+ required :type, enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Type }
298
+
299
+ # @!attribute access_schedule
300
+ # The schedule that the customer will gain access to the credits purposed with
301
+ # this commit.
302
+ #
303
+ # @return [MetronomeSDK::Models::ScheduleDuration, nil]
304
+ optional :access_schedule, -> { MetronomeSDK::Models::ScheduleDuration }
305
+
306
+ # @!attribute applicable_contract_ids
307
+ #
308
+ # @return [Array<String>, nil]
309
+ optional :applicable_contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
310
+
311
+ # @!attribute applicable_product_ids
312
+ #
313
+ # @return [Array<String>, nil]
314
+ optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
315
+
316
+ # @!attribute applicable_product_tags
317
+ #
318
+ # @return [Array<String>, nil]
319
+ optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
320
+
321
+ # @!attribute archived_at
322
+ #
323
+ # @return [Time, nil]
324
+ optional :archived_at, Time
325
+
326
+ # @!attribute balance
327
+ # The current balance of the credit or commit. This balance reflects the amount of
328
+ # credit or commit that the customer has access to use at this moment - thus,
329
+ # expired and upcoming credit or commit segments contribute 0 to the balance. The
330
+ # balance will match the sum of all ledger entries with the exception of the case
331
+ # where the sum of negative manual ledger entries exceeds the positive amount
332
+ # remaining on the credit or commit - in that case, the balance will be 0. All
333
+ # manual ledger entries associated with active credit or commit segments are
334
+ # included in the balance, including future-dated manual ledger entries.
335
+ #
336
+ # @return [Float, nil]
337
+ optional :balance, Float
338
+
339
+ # @!attribute contract
340
+ #
341
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Contract, nil]
342
+ optional :contract, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Contract }
343
+
344
+ # @!attribute custom_fields
345
+ #
346
+ # @return [Hash{Symbol=>String}, nil]
347
+ optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
348
+
349
+ # @!attribute description
350
+ #
351
+ # @return [String, nil]
352
+ optional :description, String
353
+
354
+ # @!attribute invoice_contract
355
+ # The contract that this commit will be billed on.
356
+ #
357
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceContract, nil]
358
+ optional :invoice_contract,
359
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceContract }
360
+
361
+ # @!attribute invoice_schedule
362
+ # The schedule that the customer will be invoiced for this commit.
363
+ #
364
+ # @return [MetronomeSDK::Models::SchedulePointInTime, nil]
365
+ optional :invoice_schedule, -> { MetronomeSDK::Models::SchedulePointInTime }
366
+
367
+ # @!attribute ledger
368
+ # A list of ordered events that impact the balance of a commit. For example, an
369
+ # invoice deduction or a rollover.
370
+ #
371
+ # @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::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]
372
+ optional :ledger,
373
+ -> { MetronomeSDK::Internal::Type::ArrayOf[union: MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger] }
374
+
375
+ # @!attribute name
376
+ #
377
+ # @return [String, nil]
378
+ optional :name, String
379
+
380
+ # @!attribute netsuite_sales_order_id
381
+ # This field's availability is dependent on your client's configuration.
382
+ #
383
+ # @return [String, nil]
384
+ optional :netsuite_sales_order_id, String
385
+
386
+ # @!attribute priority
387
+ # If multiple credits or commits are applicable, the one with the lower priority
388
+ # will apply first.
389
+ #
390
+ # @return [Float, nil]
391
+ optional :priority, Float
392
+
393
+ # @!attribute rate_type
394
+ #
395
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::RateType, nil]
396
+ optional :rate_type, enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::RateType }
397
+
398
+ # @!attribute rolled_over_from
399
+ #
400
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::RolledOverFrom, nil]
401
+ optional :rolled_over_from,
402
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::RolledOverFrom }
403
+
404
+ # @!attribute rollover_fraction
405
+ #
406
+ # @return [Float, nil]
407
+ optional :rollover_fraction, Float
408
+
409
+ # @!attribute salesforce_opportunity_id
410
+ # This field's availability is dependent on your client's configuration.
411
+ #
412
+ # @return [String, nil]
413
+ optional :salesforce_opportunity_id, String
414
+
415
+ # @!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, 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)
416
+ # Some parameter documentations has been truncated, see
417
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::Commit} for more details.
418
+ #
419
+ # @param id [String]
420
+ #
421
+ # @param product [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Product]
422
+ #
423
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Type]
424
+ #
425
+ # @param access_schedule [MetronomeSDK::Models::ScheduleDuration] The schedule that the customer will gain access to the credits purposed with thi
426
+ # ...
427
+ #
428
+ # @param applicable_contract_ids [Array<String>]
429
+ #
430
+ # @param applicable_product_ids [Array<String>]
431
+ #
432
+ # @param applicable_product_tags [Array<String>]
433
+ #
434
+ # @param archived_at [Time]
435
+ #
436
+ # @param balance [Float] The current balance of the credit or commit. This balance reflects the amount of
437
+ # ...
438
+ #
439
+ # @param contract [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Contract]
440
+ #
441
+ # @param custom_fields [Hash{Symbol=>String}]
442
+ #
443
+ # @param description [String]
444
+ #
445
+ # @param invoice_contract [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::InvoiceContract] The contract that this commit will be billed on.
446
+ #
447
+ # @param invoice_schedule [MetronomeSDK::Models::SchedulePointInTime] The schedule that the customer will be invoiced for this commit.
448
+ #
449
+ # @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::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
450
+ # ...
451
+ #
452
+ # @param name [String]
453
+ #
454
+ # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
455
+ #
456
+ # @param priority [Float] If multiple credits or commits are applicable, the one with the lower priority w
457
+ # ...
458
+ #
459
+ # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::RateType]
460
+ #
461
+ # @param rolled_over_from [MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::RolledOverFrom]
462
+ #
463
+ # @param rollover_fraction [Float]
464
+ #
465
+ # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
466
+
467
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#product
468
+ class Product < MetronomeSDK::Internal::Type::BaseModel
469
+ # @!attribute id
470
+ #
471
+ # @return [String]
472
+ required :id, String
473
+
474
+ # @!attribute name
475
+ #
476
+ # @return [String]
477
+ required :name, String
478
+
479
+ # @!method initialize(id:, name:)
480
+ # @param id [String]
481
+ # @param name [String]
482
+ end
483
+
484
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#type
485
+ module Type
486
+ extend MetronomeSDK::Internal::Type::Enum
487
+
488
+ PREPAID = :PREPAID
489
+ POSTPAID = :POSTPAID
490
+
491
+ # @!method self.values
492
+ # @return [Array<Symbol>]
493
+ end
494
+
495
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#contract
496
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
497
+ # @!attribute id
498
+ #
499
+ # @return [String]
500
+ required :id, String
501
+
502
+ # @!method initialize(id:)
503
+ # @param id [String]
504
+ end
505
+
506
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#invoice_contract
507
+ class InvoiceContract < MetronomeSDK::Internal::Type::BaseModel
508
+ # @!attribute id
509
+ #
510
+ # @return [String]
511
+ required :id, String
512
+
513
+ # @!method initialize(id:)
514
+ # The contract that this commit will be billed on.
515
+ #
516
+ # @param id [String]
517
+ end
518
+
519
+ module Ledger
520
+ extend MetronomeSDK::Internal::Type::Union
521
+
522
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry }
523
+
524
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry }
525
+
526
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry }
527
+
528
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry }
529
+
530
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry }
531
+
532
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry }
533
+
534
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry }
535
+
536
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry }
537
+
538
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry }
539
+
540
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry }
541
+
542
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry }
543
+
544
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry }
545
+
546
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry }
547
+
548
+ class PrepaidCommitSegmentStartLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
549
+ # @!attribute amount
550
+ #
551
+ # @return [Float]
552
+ required :amount, Float
553
+
554
+ # @!attribute segment_id
555
+ #
556
+ # @return [String]
557
+ required :segment_id, String
558
+
559
+ # @!attribute timestamp
560
+ #
561
+ # @return [Time]
562
+ required :timestamp, Time
563
+
564
+ # @!attribute type
565
+ #
566
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type]
567
+ required :type,
568
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type }
569
+
570
+ # @!method initialize(amount:, segment_id:, timestamp:, type:)
571
+ # @param amount [Float]
572
+ # @param segment_id [String]
573
+ # @param timestamp [Time]
574
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry::Type]
575
+
576
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitSegmentStartLedgerEntry#type
577
+ module Type
578
+ extend MetronomeSDK::Internal::Type::Enum
579
+
580
+ PREPAID_COMMIT_SEGMENT_START = :PREPAID_COMMIT_SEGMENT_START
581
+
582
+ # @!method self.values
583
+ # @return [Array<Symbol>]
584
+ end
585
+ end
586
+
587
+ class PrepaidCommitAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
588
+ # @!attribute amount
589
+ #
590
+ # @return [Float]
591
+ required :amount, Float
592
+
593
+ # @!attribute invoice_id
594
+ #
595
+ # @return [String]
596
+ required :invoice_id, String
597
+
598
+ # @!attribute segment_id
599
+ #
600
+ # @return [String]
601
+ required :segment_id, String
602
+
603
+ # @!attribute timestamp
604
+ #
605
+ # @return [Time]
606
+ required :timestamp, Time
607
+
608
+ # @!attribute type
609
+ #
610
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
611
+ required :type,
612
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type }
613
+
614
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
615
+ # @param amount [Float]
616
+ # @param invoice_id [String]
617
+ # @param segment_id [String]
618
+ # @param timestamp [Time]
619
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
620
+
621
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitAutomatedInvoiceDeductionLedgerEntry#type
622
+ module Type
623
+ extend MetronomeSDK::Internal::Type::Enum
624
+
625
+ PREPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION = :PREPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION
626
+
627
+ # @!method self.values
628
+ # @return [Array<Symbol>]
629
+ end
630
+ end
631
+
632
+ class PrepaidCommitRolloverLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
633
+ # @!attribute amount
634
+ #
635
+ # @return [Float]
636
+ required :amount, Float
637
+
638
+ # @!attribute new_contract_id
639
+ #
640
+ # @return [String]
641
+ required :new_contract_id, String
642
+
643
+ # @!attribute segment_id
644
+ #
645
+ # @return [String]
646
+ required :segment_id, String
647
+
648
+ # @!attribute timestamp
649
+ #
650
+ # @return [Time]
651
+ required :timestamp, Time
652
+
653
+ # @!attribute type
654
+ #
655
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type]
656
+ required :type,
657
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type }
658
+
659
+ # @!method initialize(amount:, new_contract_id:, segment_id:, timestamp:, type:)
660
+ # @param amount [Float]
661
+ # @param new_contract_id [String]
662
+ # @param segment_id [String]
663
+ # @param timestamp [Time]
664
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry::Type]
665
+
666
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitRolloverLedgerEntry#type
667
+ module Type
668
+ extend MetronomeSDK::Internal::Type::Enum
669
+
670
+ PREPAID_COMMIT_ROLLOVER = :PREPAID_COMMIT_ROLLOVER
671
+
672
+ # @!method self.values
673
+ # @return [Array<Symbol>]
674
+ end
675
+ end
676
+
677
+ class PrepaidCommitExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
678
+ # @!attribute amount
679
+ #
680
+ # @return [Float]
681
+ required :amount, Float
682
+
683
+ # @!attribute segment_id
684
+ #
685
+ # @return [String]
686
+ required :segment_id, String
687
+
688
+ # @!attribute timestamp
689
+ #
690
+ # @return [Time]
691
+ required :timestamp, Time
692
+
693
+ # @!attribute type
694
+ #
695
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type]
696
+ required :type,
697
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type }
698
+
699
+ # @!method initialize(amount:, segment_id:, timestamp:, type:)
700
+ # @param amount [Float]
701
+ # @param segment_id [String]
702
+ # @param timestamp [Time]
703
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry::Type]
704
+
705
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitExpirationLedgerEntry#type
706
+ module Type
707
+ extend MetronomeSDK::Internal::Type::Enum
708
+
709
+ PREPAID_COMMIT_EXPIRATION = :PREPAID_COMMIT_EXPIRATION
710
+
711
+ # @!method self.values
712
+ # @return [Array<Symbol>]
713
+ end
714
+ end
715
+
716
+ class PrepaidCommitCanceledLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
717
+ # @!attribute amount
718
+ #
719
+ # @return [Float]
720
+ required :amount, Float
721
+
722
+ # @!attribute invoice_id
723
+ #
724
+ # @return [String]
725
+ required :invoice_id, String
726
+
727
+ # @!attribute segment_id
728
+ #
729
+ # @return [String]
730
+ required :segment_id, String
731
+
732
+ # @!attribute timestamp
733
+ #
734
+ # @return [Time]
735
+ required :timestamp, Time
736
+
737
+ # @!attribute type
738
+ #
739
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type]
740
+ required :type,
741
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type }
742
+
743
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
744
+ # @param amount [Float]
745
+ # @param invoice_id [String]
746
+ # @param segment_id [String]
747
+ # @param timestamp [Time]
748
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry::Type]
749
+
750
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCanceledLedgerEntry#type
751
+ module Type
752
+ extend MetronomeSDK::Internal::Type::Enum
753
+
754
+ PREPAID_COMMIT_CANCELED = :PREPAID_COMMIT_CANCELED
755
+
756
+ # @!method self.values
757
+ # @return [Array<Symbol>]
758
+ end
759
+ end
760
+
761
+ class PrepaidCommitCreditedLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
762
+ # @!attribute amount
763
+ #
764
+ # @return [Float]
765
+ required :amount, Float
766
+
767
+ # @!attribute invoice_id
768
+ #
769
+ # @return [String]
770
+ required :invoice_id, String
771
+
772
+ # @!attribute segment_id
773
+ #
774
+ # @return [String]
775
+ required :segment_id, String
776
+
777
+ # @!attribute timestamp
778
+ #
779
+ # @return [Time]
780
+ required :timestamp, Time
781
+
782
+ # @!attribute type
783
+ #
784
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type]
785
+ required :type,
786
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type }
787
+
788
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
789
+ # @param amount [Float]
790
+ # @param invoice_id [String]
791
+ # @param segment_id [String]
792
+ # @param timestamp [Time]
793
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry::Type]
794
+
795
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitCreditedLedgerEntry#type
796
+ module Type
797
+ extend MetronomeSDK::Internal::Type::Enum
798
+
799
+ PREPAID_COMMIT_CREDITED = :PREPAID_COMMIT_CREDITED
800
+
801
+ # @!method self.values
802
+ # @return [Array<Symbol>]
803
+ end
804
+ end
805
+
806
+ class PostpaidCommitInitialBalanceLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
807
+ # @!attribute amount
808
+ #
809
+ # @return [Float]
810
+ required :amount, Float
811
+
812
+ # @!attribute timestamp
813
+ #
814
+ # @return [Time]
815
+ required :timestamp, Time
816
+
817
+ # @!attribute type
818
+ #
819
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type]
820
+ required :type,
821
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type }
822
+
823
+ # @!method initialize(amount:, timestamp:, type:)
824
+ # @param amount [Float]
825
+ # @param timestamp [Time]
826
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry::Type]
827
+
828
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitInitialBalanceLedgerEntry#type
829
+ module Type
830
+ extend MetronomeSDK::Internal::Type::Enum
831
+
832
+ POSTPAID_COMMIT_INITIAL_BALANCE = :POSTPAID_COMMIT_INITIAL_BALANCE
833
+
834
+ # @!method self.values
835
+ # @return [Array<Symbol>]
836
+ end
837
+ end
838
+
839
+ class PostpaidCommitAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
840
+ # @!attribute amount
841
+ #
842
+ # @return [Float]
843
+ required :amount, Float
844
+
845
+ # @!attribute invoice_id
846
+ #
847
+ # @return [String]
848
+ required :invoice_id, String
849
+
850
+ # @!attribute segment_id
851
+ #
852
+ # @return [String]
853
+ required :segment_id, String
854
+
855
+ # @!attribute timestamp
856
+ #
857
+ # @return [Time]
858
+ required :timestamp, Time
859
+
860
+ # @!attribute type
861
+ #
862
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
863
+ required :type,
864
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type }
865
+
866
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
867
+ # @param amount [Float]
868
+ # @param invoice_id [String]
869
+ # @param segment_id [String]
870
+ # @param timestamp [Time]
871
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry::Type]
872
+
873
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitAutomatedInvoiceDeductionLedgerEntry#type
874
+ module Type
875
+ extend MetronomeSDK::Internal::Type::Enum
876
+
877
+ POSTPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION = :POSTPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION
878
+
879
+ # @!method self.values
880
+ # @return [Array<Symbol>]
881
+ end
882
+ end
883
+
884
+ class PostpaidCommitRolloverLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
885
+ # @!attribute amount
886
+ #
887
+ # @return [Float]
888
+ required :amount, Float
889
+
890
+ # @!attribute new_contract_id
891
+ #
892
+ # @return [String]
893
+ required :new_contract_id, String
894
+
895
+ # @!attribute segment_id
896
+ #
897
+ # @return [String]
898
+ required :segment_id, String
899
+
900
+ # @!attribute timestamp
901
+ #
902
+ # @return [Time]
903
+ required :timestamp, Time
904
+
905
+ # @!attribute type
906
+ #
907
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type]
908
+ required :type,
909
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type }
910
+
911
+ # @!method initialize(amount:, new_contract_id:, segment_id:, timestamp:, type:)
912
+ # @param amount [Float]
913
+ # @param new_contract_id [String]
914
+ # @param segment_id [String]
915
+ # @param timestamp [Time]
916
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry::Type]
917
+
918
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitRolloverLedgerEntry#type
919
+ module Type
920
+ extend MetronomeSDK::Internal::Type::Enum
921
+
922
+ POSTPAID_COMMIT_ROLLOVER = :POSTPAID_COMMIT_ROLLOVER
923
+
924
+ # @!method self.values
925
+ # @return [Array<Symbol>]
926
+ end
927
+ end
928
+
929
+ class PostpaidCommitTrueupLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
930
+ # @!attribute amount
931
+ #
932
+ # @return [Float]
933
+ required :amount, Float
934
+
935
+ # @!attribute invoice_id
936
+ #
937
+ # @return [String]
938
+ required :invoice_id, String
939
+
940
+ # @!attribute timestamp
941
+ #
942
+ # @return [Time]
943
+ required :timestamp, Time
944
+
945
+ # @!attribute type
946
+ #
947
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type]
948
+ required :type,
949
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type }
950
+
951
+ # @!method initialize(amount:, invoice_id:, timestamp:, type:)
952
+ # @param amount [Float]
953
+ # @param invoice_id [String]
954
+ # @param timestamp [Time]
955
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry::Type]
956
+
957
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitTrueupLedgerEntry#type
958
+ module Type
959
+ extend MetronomeSDK::Internal::Type::Enum
960
+
961
+ POSTPAID_COMMIT_TRUEUP = :POSTPAID_COMMIT_TRUEUP
962
+
963
+ # @!method self.values
964
+ # @return [Array<Symbol>]
965
+ end
966
+ end
967
+
968
+ class PrepaidCommitManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
969
+ # @!attribute amount
970
+ #
971
+ # @return [Float]
972
+ required :amount, Float
973
+
974
+ # @!attribute reason
975
+ #
976
+ # @return [String]
977
+ required :reason, String
978
+
979
+ # @!attribute timestamp
980
+ #
981
+ # @return [Time]
982
+ required :timestamp, Time
983
+
984
+ # @!attribute type
985
+ #
986
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type]
987
+ required :type,
988
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type }
989
+
990
+ # @!method initialize(amount:, reason:, timestamp:, type:)
991
+ # @param amount [Float]
992
+ # @param reason [String]
993
+ # @param timestamp [Time]
994
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry::Type]
995
+
996
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PrepaidCommitManualLedgerEntry#type
997
+ module Type
998
+ extend MetronomeSDK::Internal::Type::Enum
999
+
1000
+ PREPAID_COMMIT_MANUAL = :PREPAID_COMMIT_MANUAL
1001
+
1002
+ # @!method self.values
1003
+ # @return [Array<Symbol>]
1004
+ end
1005
+ end
1006
+
1007
+ class PostpaidCommitManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1008
+ # @!attribute amount
1009
+ #
1010
+ # @return [Float]
1011
+ required :amount, Float
1012
+
1013
+ # @!attribute reason
1014
+ #
1015
+ # @return [String]
1016
+ required :reason, String
1017
+
1018
+ # @!attribute timestamp
1019
+ #
1020
+ # @return [Time]
1021
+ required :timestamp, Time
1022
+
1023
+ # @!attribute type
1024
+ #
1025
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type]
1026
+ required :type,
1027
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type }
1028
+
1029
+ # @!method initialize(amount:, reason:, timestamp:, type:)
1030
+ # @param amount [Float]
1031
+ # @param reason [String]
1032
+ # @param timestamp [Time]
1033
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry::Type]
1034
+
1035
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitManualLedgerEntry#type
1036
+ module Type
1037
+ extend MetronomeSDK::Internal::Type::Enum
1038
+
1039
+ POSTPAID_COMMIT_MANUAL = :POSTPAID_COMMIT_MANUAL
1040
+
1041
+ # @!method self.values
1042
+ # @return [Array<Symbol>]
1043
+ end
1044
+ end
1045
+
1046
+ class PostpaidCommitExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1047
+ # @!attribute amount
1048
+ #
1049
+ # @return [Float]
1050
+ required :amount, Float
1051
+
1052
+ # @!attribute timestamp
1053
+ #
1054
+ # @return [Time]
1055
+ required :timestamp, Time
1056
+
1057
+ # @!attribute type
1058
+ #
1059
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type]
1060
+ required :type,
1061
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type }
1062
+
1063
+ # @!method initialize(amount:, timestamp:, type:)
1064
+ # @param amount [Float]
1065
+ # @param timestamp [Time]
1066
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry::Type]
1067
+
1068
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit::Ledger::PostpaidCommitExpirationLedgerEntry#type
1069
+ module Type
1070
+ extend MetronomeSDK::Internal::Type::Enum
1071
+
1072
+ POSTPAID_COMMIT_EXPIRATION = :POSTPAID_COMMIT_EXPIRATION
1073
+
1074
+ # @!method self.values
1075
+ # @return [Array<Symbol>]
1076
+ end
1077
+ end
1078
+
1079
+ # @!method self.variants
1080
+ # @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::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)]
1081
+ end
1082
+
1083
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#rate_type
1084
+ module RateType
1085
+ extend MetronomeSDK::Internal::Type::Enum
1086
+
1087
+ COMMIT_RATE = :COMMIT_RATE
1088
+ LIST_RATE = :LIST_RATE
1089
+
1090
+ # @!method self.values
1091
+ # @return [Array<Symbol>]
1092
+ end
1093
+
1094
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Commit#rolled_over_from
1095
+ class RolledOverFrom < MetronomeSDK::Internal::Type::BaseModel
1096
+ # @!attribute commit_id
1097
+ #
1098
+ # @return [String]
1099
+ required :commit_id, String
1100
+
1101
+ # @!attribute contract_id
1102
+ #
1103
+ # @return [String]
1104
+ required :contract_id, String
1105
+
1106
+ # @!method initialize(commit_id:, contract_id:)
1107
+ # @param commit_id [String]
1108
+ # @param contract_id [String]
1109
+ end
1110
+ end
1111
+
1112
+ class Override < MetronomeSDK::Internal::Type::BaseModel
1113
+ # @!attribute id
1114
+ #
1115
+ # @return [String]
1116
+ required :id, String
1117
+
1118
+ # @!attribute starting_at
1119
+ #
1120
+ # @return [Time]
1121
+ required :starting_at, Time
1122
+
1123
+ # @!attribute applicable_product_tags
1124
+ #
1125
+ # @return [Array<String>, nil]
1126
+ optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1127
+
1128
+ # @!attribute ending_before
1129
+ #
1130
+ # @return [Time, nil]
1131
+ optional :ending_before, Time
1132
+
1133
+ # @!attribute entitled
1134
+ #
1135
+ # @return [Boolean, nil]
1136
+ optional :entitled, MetronomeSDK::Internal::Type::Boolean
1137
+
1138
+ # @!attribute is_commit_specific
1139
+ #
1140
+ # @return [Boolean, nil]
1141
+ optional :is_commit_specific, MetronomeSDK::Internal::Type::Boolean
1142
+
1143
+ # @!attribute multiplier
1144
+ #
1145
+ # @return [Float, nil]
1146
+ optional :multiplier, Float
1147
+
1148
+ # @!attribute override_specifiers
1149
+ #
1150
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverrideSpecifier>, nil]
1151
+ optional :override_specifiers,
1152
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverrideSpecifier] }
1153
+
1154
+ # @!attribute override_tiers
1155
+ #
1156
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverrideTier>, nil]
1157
+ optional :override_tiers,
1158
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverrideTier] }
1159
+
1160
+ # @!attribute overwrite_rate
1161
+ #
1162
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate, nil]
1163
+ optional :overwrite_rate,
1164
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate }
1165
+
1166
+ # @!attribute priority
1167
+ #
1168
+ # @return [Float, nil]
1169
+ optional :priority, Float
1170
+
1171
+ # @!attribute product
1172
+ #
1173
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Override::Product, nil]
1174
+ optional :product, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Override::Product }
1175
+
1176
+ # @!attribute target
1177
+ #
1178
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Override::Target, nil]
1179
+ optional :target, enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Override::Target }
1180
+
1181
+ # @!attribute type
1182
+ #
1183
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Override::Type, nil]
1184
+ optional :type, enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Override::Type }
1185
+
1186
+ # @!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)
1187
+ # @param id [String]
1188
+ # @param starting_at [Time]
1189
+ # @param applicable_product_tags [Array<String>]
1190
+ # @param ending_before [Time]
1191
+ # @param entitled [Boolean]
1192
+ # @param is_commit_specific [Boolean]
1193
+ # @param multiplier [Float]
1194
+ # @param override_specifiers [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverrideSpecifier>]
1195
+ # @param override_tiers [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverrideTier>]
1196
+ # @param overwrite_rate [MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate]
1197
+ # @param priority [Float]
1198
+ # @param product [MetronomeSDK::Models::V2::ContractListResponse::Data::Override::Product]
1199
+ # @param target [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Override::Target]
1200
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Override::Type]
1201
+
1202
+ class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
1203
+ # @!attribute commit_ids
1204
+ #
1205
+ # @return [Array<String>, nil]
1206
+ optional :commit_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1207
+
1208
+ # @!attribute presentation_group_values
1209
+ #
1210
+ # @return [Hash{Symbol=>String, nil}, nil]
1211
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String, nil?: true]
1212
+
1213
+ # @!attribute pricing_group_values
1214
+ #
1215
+ # @return [Hash{Symbol=>String}, nil]
1216
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
1217
+
1218
+ # @!attribute product_id
1219
+ #
1220
+ # @return [String, nil]
1221
+ optional :product_id, String
1222
+
1223
+ # @!attribute product_tags
1224
+ #
1225
+ # @return [Array<String>, nil]
1226
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1227
+
1228
+ # @!attribute recurring_commit_ids
1229
+ #
1230
+ # @return [Array<String>, nil]
1231
+ optional :recurring_commit_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1232
+
1233
+ # @!attribute recurring_credit_ids
1234
+ #
1235
+ # @return [Array<String>, nil]
1236
+ optional :recurring_credit_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1237
+
1238
+ # @!method initialize(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)
1239
+ # @param commit_ids [Array<String>]
1240
+ # @param presentation_group_values [Hash{Symbol=>String, nil}]
1241
+ # @param pricing_group_values [Hash{Symbol=>String}]
1242
+ # @param product_id [String]
1243
+ # @param product_tags [Array<String>]
1244
+ # @param recurring_commit_ids [Array<String>]
1245
+ # @param recurring_credit_ids [Array<String>]
1246
+ end
1247
+
1248
+ class OverrideTier < MetronomeSDK::Internal::Type::BaseModel
1249
+ # @!attribute multiplier
1250
+ #
1251
+ # @return [Float]
1252
+ required :multiplier, Float
1253
+
1254
+ # @!attribute size
1255
+ #
1256
+ # @return [Float, nil]
1257
+ optional :size, Float
1258
+
1259
+ # @!method initialize(multiplier:, size: nil)
1260
+ # @param multiplier [Float]
1261
+ # @param size [Float]
1262
+ end
1263
+
1264
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Override#overwrite_rate
1265
+ class OverwriteRate < MetronomeSDK::Internal::Type::BaseModel
1266
+ # @!attribute rate_type
1267
+ #
1268
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::RateType]
1269
+ required :rate_type,
1270
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::RateType }
1271
+
1272
+ # @!attribute credit_type
1273
+ #
1274
+ # @return [MetronomeSDK::Models::CreditTypeData, nil]
1275
+ optional :credit_type, -> { MetronomeSDK::Models::CreditTypeData }
1276
+
1277
+ # @!attribute custom_rate
1278
+ # Only set for CUSTOM rate_type. This field is interpreted by custom rate
1279
+ # processors.
1280
+ #
1281
+ # @return [Hash{Symbol=>Object}, nil]
1282
+ optional :custom_rate,
1283
+ MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
1284
+
1285
+ # @!attribute is_prorated
1286
+ # Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
1287
+ # set to true.
1288
+ #
1289
+ # @return [Boolean, nil]
1290
+ optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
1291
+
1292
+ # @!attribute price
1293
+ # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
1294
+ # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
1295
+ #
1296
+ # @return [Float, nil]
1297
+ optional :price, Float
1298
+
1299
+ # @!attribute quantity
1300
+ # Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
1301
+ #
1302
+ # @return [Float, nil]
1303
+ optional :quantity, Float
1304
+
1305
+ # @!attribute tiers
1306
+ # Only set for TIERED rate_type.
1307
+ #
1308
+ # @return [Array<MetronomeSDK::Models::Tier>, nil]
1309
+ optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::Tier] }
1310
+
1311
+ # @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
1312
+ # Some parameter documentations has been truncated, see
1313
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate}
1314
+ # for more details.
1315
+ #
1316
+ # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate::RateType]
1317
+ #
1318
+ # @param credit_type [MetronomeSDK::Models::CreditTypeData]
1319
+ #
1320
+ # @param custom_rate [Hash{Symbol=>Object}] Only set for CUSTOM rate_type. This field is interpreted by custom rate processo
1321
+ # ...
1322
+ #
1323
+ # @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
1324
+ # ...
1325
+ #
1326
+ # @param price [Float] Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, t
1327
+ # ...
1328
+ #
1329
+ # @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
1330
+ #
1331
+ # @param tiers [Array<MetronomeSDK::Models::Tier>] Only set for TIERED rate_type.
1332
+
1333
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Override::OverwriteRate#rate_type
1334
+ module RateType
1335
+ extend MetronomeSDK::Internal::Type::Enum
1336
+
1337
+ FLAT = :FLAT
1338
+ PERCENTAGE = :PERCENTAGE
1339
+ SUBSCRIPTION = :SUBSCRIPTION
1340
+ TIERED = :TIERED
1341
+ CUSTOM = :CUSTOM
1342
+
1343
+ # @!method self.values
1344
+ # @return [Array<Symbol>]
1345
+ end
1346
+ end
1347
+
1348
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Override#product
1349
+ class Product < MetronomeSDK::Internal::Type::BaseModel
1350
+ # @!attribute id
1351
+ #
1352
+ # @return [String]
1353
+ required :id, String
1354
+
1355
+ # @!attribute name
1356
+ #
1357
+ # @return [String]
1358
+ required :name, String
1359
+
1360
+ # @!method initialize(id:, name:)
1361
+ # @param id [String]
1362
+ # @param name [String]
1363
+ end
1364
+
1365
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Override#target
1366
+ module Target
1367
+ extend MetronomeSDK::Internal::Type::Enum
1368
+
1369
+ COMMIT_RATE = :COMMIT_RATE
1370
+ LIST_RATE = :LIST_RATE
1371
+
1372
+ # @!method self.values
1373
+ # @return [Array<Symbol>]
1374
+ end
1375
+
1376
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Override#type
1377
+ module Type
1378
+ extend MetronomeSDK::Internal::Type::Enum
1379
+
1380
+ OVERWRITE = :OVERWRITE
1381
+ MULTIPLIER = :MULTIPLIER
1382
+ TIERED = :TIERED
1383
+
1384
+ # @!method self.values
1385
+ # @return [Array<Symbol>]
1386
+ end
1387
+ end
1388
+
1389
+ class Transition < MetronomeSDK::Internal::Type::BaseModel
1390
+ # @!attribute from_contract_id
1391
+ #
1392
+ # @return [String]
1393
+ required :from_contract_id, String
1394
+
1395
+ # @!attribute to_contract_id
1396
+ #
1397
+ # @return [String]
1398
+ required :to_contract_id, String
1399
+
1400
+ # @!attribute type
1401
+ #
1402
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Transition::Type]
1403
+ required :type, enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Transition::Type }
1404
+
1405
+ # @!method initialize(from_contract_id:, to_contract_id:, type:)
1406
+ # @param from_contract_id [String]
1407
+ # @param to_contract_id [String]
1408
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Transition::Type]
1409
+
1410
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Transition#type
1411
+ module Type
1412
+ extend MetronomeSDK::Internal::Type::Enum
1413
+
1414
+ SUPERSEDE = :SUPERSEDE
1415
+ RENEWAL = :RENEWAL
1416
+
1417
+ # @!method self.values
1418
+ # @return [Array<Symbol>]
1419
+ end
1420
+ end
1421
+
1422
+ class UsageFilter < MetronomeSDK::Internal::Type::BaseModel
1423
+ # @!attribute group_key
1424
+ #
1425
+ # @return [String]
1426
+ required :group_key, String
1427
+
1428
+ # @!attribute group_values
1429
+ #
1430
+ # @return [Array<String>]
1431
+ required :group_values, MetronomeSDK::Internal::Type::ArrayOf[String]
1432
+
1433
+ # @!attribute starting_at
1434
+ # This will match contract starting_at value if usage filter is active from the
1435
+ # beginning of the contract.
1436
+ #
1437
+ # @return [Time]
1438
+ required :starting_at, Time
1439
+
1440
+ # @!attribute ending_before
1441
+ # This will match contract ending_before value if usage filter is active until the
1442
+ # end of the contract. It will be undefined if the contract is open-ended.
1443
+ #
1444
+ # @return [Time, nil]
1445
+ optional :ending_before, Time
1446
+
1447
+ # @!method initialize(group_key:, group_values:, starting_at:, ending_before: nil)
1448
+ # Some parameter documentations has been truncated, see
1449
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::UsageFilter} for more
1450
+ # details.
1451
+ #
1452
+ # @param group_key [String]
1453
+ #
1454
+ # @param group_values [Array<String>]
1455
+ #
1456
+ # @param starting_at [Time] This will match contract starting_at value if usage filter is active from the be
1457
+ # ...
1458
+ #
1459
+ # @param ending_before [Time] This will match contract ending_before value if usage filter is active until the
1460
+ # ...
1461
+ end
1462
+
1463
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data#usage_statement_schedule
1464
+ class UsageStatementSchedule < MetronomeSDK::Internal::Type::BaseModel
1465
+ # @!attribute billing_anchor_date
1466
+ # Contract usage statements follow a selected cadence based on this date.
1467
+ #
1468
+ # @return [Time]
1469
+ required :billing_anchor_date, Time
1470
+
1471
+ # @!attribute frequency
1472
+ #
1473
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::UsageStatementSchedule::Frequency]
1474
+ required :frequency,
1475
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::UsageStatementSchedule::Frequency }
1476
+
1477
+ # @!method initialize(billing_anchor_date:, frequency:)
1478
+ # @param billing_anchor_date [Time] Contract usage statements follow a selected cadence based on this date.
1479
+ #
1480
+ # @param frequency [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::UsageStatementSchedule::Frequency]
1481
+
1482
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::UsageStatementSchedule#frequency
1483
+ module Frequency
1484
+ extend MetronomeSDK::Internal::Type::Enum
1485
+
1486
+ MONTHLY = :MONTHLY
1487
+ QUARTERLY = :QUARTERLY
1488
+ ANNUAL = :ANNUAL
1489
+ WEEKLY = :WEEKLY
1490
+
1491
+ # @!method self.values
1492
+ # @return [Array<Symbol>]
1493
+ end
1494
+ end
1495
+
1496
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data#credit_balance_threshold_configuration
1497
+ class CreditBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
1498
+ # @!attribute commit
1499
+ #
1500
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::CreditBalanceThresholdConfiguration::Commit]
1501
+ required :commit,
1502
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::CreditBalanceThresholdConfiguration::Commit }
1503
+
1504
+ # @!attribute is_enabled
1505
+ # When set to false, the contract will not be evaluated against the
1506
+ # threshold_amount. Toggling to true will result an immediate evaluation,
1507
+ # regardless of prior state.
1508
+ #
1509
+ # @return [Boolean]
1510
+ required :is_enabled, MetronomeSDK::Internal::Type::Boolean
1511
+
1512
+ # @!attribute recharge_to_amount
1513
+ # Specify the amount the balance should be recharged to.
1514
+ #
1515
+ # @return [Float]
1516
+ required :recharge_to_amount, Float
1517
+
1518
+ # @!attribute threshold_amount
1519
+ # Specify the threshold amount for the contract. Each time the contract's balance
1520
+ # lowers to this amount, a threshold charge will be initiated.
1521
+ #
1522
+ # @return [Float]
1523
+ required :threshold_amount, Float
1524
+
1525
+ # @!method initialize(commit:, is_enabled:, recharge_to_amount:, threshold_amount:)
1526
+ # Some parameter documentations has been truncated, see
1527
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::CreditBalanceThresholdConfiguration}
1528
+ # for more details.
1529
+ #
1530
+ # @param commit [MetronomeSDK::Models::V2::ContractListResponse::Data::CreditBalanceThresholdConfiguration::Commit]
1531
+ #
1532
+ # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
1533
+ # ...
1534
+ #
1535
+ # @param recharge_to_amount [Float] Specify the amount the balance should be recharged to.
1536
+ #
1537
+ # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's balance
1538
+ # ...
1539
+
1540
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::CreditBalanceThresholdConfiguration#commit
1541
+ class Commit < MetronomeSDK::Internal::Type::BaseModel
1542
+ # @!attribute product_id
1543
+ # The commit product that will be used to generate the line item for commit
1544
+ # payment.
1545
+ #
1546
+ # @return [String]
1547
+ required :product_id, String
1548
+
1549
+ # @!attribute applicable_product_ids
1550
+ # Which products the threshold commit applies to. If both applicable_product_ids
1551
+ # and applicable_product_tags are not provided, the commit applies to all
1552
+ # products.
1553
+ #
1554
+ # @return [Array<String>, nil]
1555
+ optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1556
+
1557
+ # @!attribute applicable_product_tags
1558
+ # Which tags the threshold commit applies to. If both applicable_product_ids and
1559
+ # applicable_product_tags are not provided, the commit applies to all products.
1560
+ #
1561
+ # @return [Array<String>, nil]
1562
+ optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1563
+
1564
+ # @!attribute description
1565
+ #
1566
+ # @return [String, nil]
1567
+ optional :description, String
1568
+
1569
+ # @!attribute name
1570
+ # Specify the name of the line item for the threshold charge. If left blank, it
1571
+ # will default to the commit product name.
1572
+ #
1573
+ # @return [String, nil]
1574
+ optional :name, String
1575
+
1576
+ # @!method initialize(product_id:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil)
1577
+ # Some parameter documentations has been truncated, see
1578
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::CreditBalanceThresholdConfiguration::Commit}
1579
+ # for more details.
1580
+ #
1581
+ # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
1582
+ # ...
1583
+ #
1584
+ # @param applicable_product_ids [Array<String>] Which products the threshold commit applies to. If both applicable_product_ids a
1585
+ # ...
1586
+ #
1587
+ # @param applicable_product_tags [Array<String>] Which tags the threshold commit applies to. If both applicable_product_ids and a
1588
+ # ...
1589
+ #
1590
+ # @param description [String]
1591
+ #
1592
+ # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
1593
+ # ...
1594
+ end
1595
+ end
1596
+
1597
+ class Credit < MetronomeSDK::Internal::Type::BaseModel
1598
+ # @!attribute id
1599
+ #
1600
+ # @return [String]
1601
+ required :id, String
1602
+
1603
+ # @!attribute product
1604
+ #
1605
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Product]
1606
+ required :product, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Product }
1607
+
1608
+ # @!attribute type
1609
+ #
1610
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Type]
1611
+ required :type, enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Type }
1612
+
1613
+ # @!attribute access_schedule
1614
+ # The schedule that the customer will gain access to the credits.
1615
+ #
1616
+ # @return [MetronomeSDK::Models::ScheduleDuration, nil]
1617
+ optional :access_schedule, -> { MetronomeSDK::Models::ScheduleDuration }
1618
+
1619
+ # @!attribute applicable_contract_ids
1620
+ #
1621
+ # @return [Array<String>, nil]
1622
+ optional :applicable_contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1623
+
1624
+ # @!attribute applicable_product_ids
1625
+ #
1626
+ # @return [Array<String>, nil]
1627
+ optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1628
+
1629
+ # @!attribute applicable_product_tags
1630
+ #
1631
+ # @return [Array<String>, nil]
1632
+ optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1633
+
1634
+ # @!attribute balance
1635
+ # The current balance of the credit or commit. This balance reflects the amount of
1636
+ # credit or commit that the customer has access to use at this moment - thus,
1637
+ # expired and upcoming credit or commit segments contribute 0 to the balance. The
1638
+ # balance will match the sum of all ledger entries with the exception of the case
1639
+ # where the sum of negative manual ledger entries exceeds the positive amount
1640
+ # remaining on the credit or commit - in that case, the balance will be 0. All
1641
+ # manual ledger entries associated with active credit or commit segments are
1642
+ # included in the balance, including future-dated manual ledger entries.
1643
+ #
1644
+ # @return [Float, nil]
1645
+ optional :balance, Float
1646
+
1647
+ # @!attribute contract
1648
+ #
1649
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Contract, nil]
1650
+ optional :contract, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Contract }
1651
+
1652
+ # @!attribute custom_fields
1653
+ #
1654
+ # @return [Hash{Symbol=>String}, nil]
1655
+ optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
1656
+
1657
+ # @!attribute description
1658
+ #
1659
+ # @return [String, nil]
1660
+ optional :description, String
1661
+
1662
+ # @!attribute ledger
1663
+ # A list of ordered events that impact the balance of a credit. For example, an
1664
+ # invoice deduction or an expiration.
1665
+ #
1666
+ # @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>, nil]
1667
+ optional :ledger,
1668
+ -> { MetronomeSDK::Internal::Type::ArrayOf[union: MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger] }
1669
+
1670
+ # @!attribute name
1671
+ #
1672
+ # @return [String, nil]
1673
+ optional :name, String
1674
+
1675
+ # @!attribute netsuite_sales_order_id
1676
+ # This field's availability is dependent on your client's configuration.
1677
+ #
1678
+ # @return [String, nil]
1679
+ optional :netsuite_sales_order_id, String
1680
+
1681
+ # @!attribute priority
1682
+ # If multiple credits or commits are applicable, the one with the lower priority
1683
+ # will apply first.
1684
+ #
1685
+ # @return [Float, nil]
1686
+ optional :priority, Float
1687
+
1688
+ # @!attribute salesforce_opportunity_id
1689
+ # This field's availability is dependent on your client's configuration.
1690
+ #
1691
+ # @return [String, nil]
1692
+ optional :salesforce_opportunity_id, String
1693
+
1694
+ # @!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, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, salesforce_opportunity_id: nil)
1695
+ # Some parameter documentations has been truncated, see
1696
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::Credit} for more details.
1697
+ #
1698
+ # @param id [String]
1699
+ #
1700
+ # @param product [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Product]
1701
+ #
1702
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Type]
1703
+ #
1704
+ # @param access_schedule [MetronomeSDK::Models::ScheduleDuration] The schedule that the customer will gain access to the credits.
1705
+ #
1706
+ # @param applicable_contract_ids [Array<String>]
1707
+ #
1708
+ # @param applicable_product_ids [Array<String>]
1709
+ #
1710
+ # @param applicable_product_tags [Array<String>]
1711
+ #
1712
+ # @param balance [Float] The current balance of the credit or commit. This balance reflects the amount of
1713
+ # ...
1714
+ #
1715
+ # @param contract [MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Contract]
1716
+ #
1717
+ # @param custom_fields [Hash{Symbol=>String}]
1718
+ #
1719
+ # @param description [String]
1720
+ #
1721
+ # @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>] A list of ordered events that impact the balance of a credit. For example, an in
1722
+ # ...
1723
+ #
1724
+ # @param name [String]
1725
+ #
1726
+ # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
1727
+ #
1728
+ # @param priority [Float] If multiple credits or commits are applicable, the one with the lower priority w
1729
+ # ...
1730
+ #
1731
+ # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
1732
+
1733
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit#product
1734
+ class Product < MetronomeSDK::Internal::Type::BaseModel
1735
+ # @!attribute id
1736
+ #
1737
+ # @return [String]
1738
+ required :id, String
1739
+
1740
+ # @!attribute name
1741
+ #
1742
+ # @return [String]
1743
+ required :name, String
1744
+
1745
+ # @!method initialize(id:, name:)
1746
+ # @param id [String]
1747
+ # @param name [String]
1748
+ end
1749
+
1750
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit#type
1751
+ module Type
1752
+ extend MetronomeSDK::Internal::Type::Enum
1753
+
1754
+ CREDIT = :CREDIT
1755
+
1756
+ # @!method self.values
1757
+ # @return [Array<Symbol>]
1758
+ end
1759
+
1760
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit#contract
1761
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
1762
+ # @!attribute id
1763
+ #
1764
+ # @return [String]
1765
+ required :id, String
1766
+
1767
+ # @!method initialize(id:)
1768
+ # @param id [String]
1769
+ end
1770
+
1771
+ module Ledger
1772
+ extend MetronomeSDK::Internal::Type::Union
1773
+
1774
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry }
1775
+
1776
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry }
1777
+
1778
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry }
1779
+
1780
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry }
1781
+
1782
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry }
1783
+
1784
+ variant -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry }
1785
+
1786
+ class CreditSegmentStartLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1787
+ # @!attribute amount
1788
+ #
1789
+ # @return [Float]
1790
+ required :amount, Float
1791
+
1792
+ # @!attribute segment_id
1793
+ #
1794
+ # @return [String]
1795
+ required :segment_id, String
1796
+
1797
+ # @!attribute timestamp
1798
+ #
1799
+ # @return [Time]
1800
+ required :timestamp, Time
1801
+
1802
+ # @!attribute type
1803
+ #
1804
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::Type]
1805
+ required :type,
1806
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::Type }
1807
+
1808
+ # @!method initialize(amount:, segment_id:, timestamp:, type:)
1809
+ # @param amount [Float]
1810
+ # @param segment_id [String]
1811
+ # @param timestamp [Time]
1812
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry::Type]
1813
+
1814
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditSegmentStartLedgerEntry#type
1815
+ module Type
1816
+ extend MetronomeSDK::Internal::Type::Enum
1817
+
1818
+ CREDIT_SEGMENT_START = :CREDIT_SEGMENT_START
1819
+
1820
+ # @!method self.values
1821
+ # @return [Array<Symbol>]
1822
+ end
1823
+ end
1824
+
1825
+ class CreditAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1826
+ # @!attribute amount
1827
+ #
1828
+ # @return [Float]
1829
+ required :amount, Float
1830
+
1831
+ # @!attribute invoice_id
1832
+ #
1833
+ # @return [String]
1834
+ required :invoice_id, String
1835
+
1836
+ # @!attribute segment_id
1837
+ #
1838
+ # @return [String]
1839
+ required :segment_id, String
1840
+
1841
+ # @!attribute timestamp
1842
+ #
1843
+ # @return [Time]
1844
+ required :timestamp, Time
1845
+
1846
+ # @!attribute type
1847
+ #
1848
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type]
1849
+ required :type,
1850
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type }
1851
+
1852
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
1853
+ # @param amount [Float]
1854
+ # @param invoice_id [String]
1855
+ # @param segment_id [String]
1856
+ # @param timestamp [Time]
1857
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type]
1858
+
1859
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry#type
1860
+ module Type
1861
+ extend MetronomeSDK::Internal::Type::Enum
1862
+
1863
+ CREDIT_AUTOMATED_INVOICE_DEDUCTION = :CREDIT_AUTOMATED_INVOICE_DEDUCTION
1864
+
1865
+ # @!method self.values
1866
+ # @return [Array<Symbol>]
1867
+ end
1868
+ end
1869
+
1870
+ class CreditExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1871
+ # @!attribute amount
1872
+ #
1873
+ # @return [Float]
1874
+ required :amount, Float
1875
+
1876
+ # @!attribute segment_id
1877
+ #
1878
+ # @return [String]
1879
+ required :segment_id, String
1880
+
1881
+ # @!attribute timestamp
1882
+ #
1883
+ # @return [Time]
1884
+ required :timestamp, Time
1885
+
1886
+ # @!attribute type
1887
+ #
1888
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::Type]
1889
+ required :type,
1890
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::Type }
1891
+
1892
+ # @!method initialize(amount:, segment_id:, timestamp:, type:)
1893
+ # @param amount [Float]
1894
+ # @param segment_id [String]
1895
+ # @param timestamp [Time]
1896
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry::Type]
1897
+
1898
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditExpirationLedgerEntry#type
1899
+ module Type
1900
+ extend MetronomeSDK::Internal::Type::Enum
1901
+
1902
+ CREDIT_EXPIRATION = :CREDIT_EXPIRATION
1903
+
1904
+ # @!method self.values
1905
+ # @return [Array<Symbol>]
1906
+ end
1907
+ end
1908
+
1909
+ class CreditCanceledLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1910
+ # @!attribute amount
1911
+ #
1912
+ # @return [Float]
1913
+ required :amount, Float
1914
+
1915
+ # @!attribute invoice_id
1916
+ #
1917
+ # @return [String]
1918
+ required :invoice_id, String
1919
+
1920
+ # @!attribute segment_id
1921
+ #
1922
+ # @return [String]
1923
+ required :segment_id, String
1924
+
1925
+ # @!attribute timestamp
1926
+ #
1927
+ # @return [Time]
1928
+ required :timestamp, Time
1929
+
1930
+ # @!attribute type
1931
+ #
1932
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type]
1933
+ required :type,
1934
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type }
1935
+
1936
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
1937
+ # @param amount [Float]
1938
+ # @param invoice_id [String]
1939
+ # @param segment_id [String]
1940
+ # @param timestamp [Time]
1941
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry::Type]
1942
+
1943
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCanceledLedgerEntry#type
1944
+ module Type
1945
+ extend MetronomeSDK::Internal::Type::Enum
1946
+
1947
+ CREDIT_CANCELED = :CREDIT_CANCELED
1948
+
1949
+ # @!method self.values
1950
+ # @return [Array<Symbol>]
1951
+ end
1952
+ end
1953
+
1954
+ class CreditCreditedLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1955
+ # @!attribute amount
1956
+ #
1957
+ # @return [Float]
1958
+ required :amount, Float
1959
+
1960
+ # @!attribute invoice_id
1961
+ #
1962
+ # @return [String]
1963
+ required :invoice_id, String
1964
+
1965
+ # @!attribute segment_id
1966
+ #
1967
+ # @return [String]
1968
+ required :segment_id, String
1969
+
1970
+ # @!attribute timestamp
1971
+ #
1972
+ # @return [Time]
1973
+ required :timestamp, Time
1974
+
1975
+ # @!attribute type
1976
+ #
1977
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type]
1978
+ required :type,
1979
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type }
1980
+
1981
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
1982
+ # @param amount [Float]
1983
+ # @param invoice_id [String]
1984
+ # @param segment_id [String]
1985
+ # @param timestamp [Time]
1986
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry::Type]
1987
+
1988
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditCreditedLedgerEntry#type
1989
+ module Type
1990
+ extend MetronomeSDK::Internal::Type::Enum
1991
+
1992
+ CREDIT_CREDITED = :CREDIT_CREDITED
1993
+
1994
+ # @!method self.values
1995
+ # @return [Array<Symbol>]
1996
+ end
1997
+ end
1998
+
1999
+ class CreditManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
2000
+ # @!attribute amount
2001
+ #
2002
+ # @return [Float]
2003
+ required :amount, Float
2004
+
2005
+ # @!attribute reason
2006
+ #
2007
+ # @return [String]
2008
+ required :reason, String
2009
+
2010
+ # @!attribute timestamp
2011
+ #
2012
+ # @return [Time]
2013
+ required :timestamp, Time
2014
+
2015
+ # @!attribute type
2016
+ #
2017
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry::Type]
2018
+ required :type,
2019
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry::Type }
2020
+
2021
+ # @!method initialize(amount:, reason:, timestamp:, type:)
2022
+ # @param amount [Float]
2023
+ # @param reason [String]
2024
+ # @param timestamp [Time]
2025
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry::Type]
2026
+
2027
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::Credit::Ledger::CreditManualLedgerEntry#type
2028
+ module Type
2029
+ extend MetronomeSDK::Internal::Type::Enum
2030
+
2031
+ CREDIT_MANUAL = :CREDIT_MANUAL
2032
+
2033
+ # @!method self.values
2034
+ # @return [Array<Symbol>]
2035
+ end
2036
+ end
2037
+
2038
+ # @!method self.variants
2039
+ # @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)]
2040
+ end
2041
+ end
2042
+
2043
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data#customer_billing_provider_configuration
2044
+ class CustomerBillingProviderConfiguration < MetronomeSDK::Internal::Type::BaseModel
2045
+ # @!attribute billing_provider
2046
+ #
2047
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration::BillingProvider]
2048
+ required :billing_provider,
2049
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration::BillingProvider }
2050
+
2051
+ # @!attribute delivery_method
2052
+ #
2053
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod]
2054
+ required :delivery_method,
2055
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod }
2056
+
2057
+ # @!method initialize(billing_provider:, delivery_method:)
2058
+ # This field's availability is dependent on your client's configuration.
2059
+ #
2060
+ # @param billing_provider [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration::BillingProvider]
2061
+ # @param delivery_method [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod]
2062
+
2063
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration#billing_provider
2064
+ module BillingProvider
2065
+ extend MetronomeSDK::Internal::Type::Enum
2066
+
2067
+ AWS_MARKETPLACE = :aws_marketplace
2068
+ STRIPE = :stripe
2069
+ NETSUITE = :netsuite
2070
+ CUSTOM = :custom
2071
+ AZURE_MARKETPLACE = :azure_marketplace
2072
+ QUICKBOOKS_ONLINE = :quickbooks_online
2073
+ WORKDAY = :workday
2074
+ GCP_MARKETPLACE = :gcp_marketplace
2075
+
2076
+ # @!method self.values
2077
+ # @return [Array<Symbol>]
2078
+ end
2079
+
2080
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::CustomerBillingProviderConfiguration#delivery_method
2081
+ module DeliveryMethod
2082
+ extend MetronomeSDK::Internal::Type::Enum
2083
+
2084
+ DIRECT_TO_BILLING_PROVIDER = :direct_to_billing_provider
2085
+ AWS_SQS = :aws_sqs
2086
+ TACKLE = :tackle
2087
+ AWS_SNS = :aws_sns
2088
+
2089
+ # @!method self.values
2090
+ # @return [Array<Symbol>]
2091
+ end
2092
+ end
2093
+
2094
+ # Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list
2095
+ # prices automatically. EXPLICIT prioritization requires specifying priorities for
2096
+ # each multiplier; the one with the lowest priority value will be prioritized
2097
+ # first.
2098
+ #
2099
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data#multiplier_override_prioritization
2100
+ module MultiplierOverridePrioritization
2101
+ extend MetronomeSDK::Internal::Type::Enum
2102
+
2103
+ LOWEST_MULTIPLIER = :LOWEST_MULTIPLIER
2104
+ EXPLICIT = :EXPLICIT
2105
+
2106
+ # @!method self.values
2107
+ # @return [Array<Symbol>]
2108
+ end
2109
+
2110
+ class RecurringCommit < MetronomeSDK::Internal::Type::BaseModel
2111
+ # @!attribute id
2112
+ #
2113
+ # @return [String]
2114
+ required :id, String
2115
+
2116
+ # @!attribute access_amount
2117
+ # The amount of commit to grant.
2118
+ #
2119
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::AccessAmount]
2120
+ required :access_amount,
2121
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::AccessAmount }
2122
+
2123
+ # @!attribute commit_duration
2124
+ # The amount of time the created commits will be valid for
2125
+ #
2126
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::CommitDuration]
2127
+ required :commit_duration,
2128
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::CommitDuration }
2129
+
2130
+ # @!attribute priority
2131
+ # Will be passed down to the individual commits
2132
+ #
2133
+ # @return [Float]
2134
+ required :priority, Float
2135
+
2136
+ # @!attribute product
2137
+ #
2138
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Product]
2139
+ required :product, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Product }
2140
+
2141
+ # @!attribute rate_type
2142
+ # Whether the created commits will use the commit rate or list rate
2143
+ #
2144
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::RateType]
2145
+ required :rate_type,
2146
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::RateType }
2147
+
2148
+ # @!attribute starting_at
2149
+ # Determines the start time for the first commit
2150
+ #
2151
+ # @return [Time]
2152
+ required :starting_at, Time
2153
+
2154
+ # @!attribute applicable_product_ids
2155
+ # Will be passed down to the individual commits
2156
+ #
2157
+ # @return [Array<String>, nil]
2158
+ optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
2159
+
2160
+ # @!attribute applicable_product_tags
2161
+ # Will be passed down to the individual commits
2162
+ #
2163
+ # @return [Array<String>, nil]
2164
+ optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
2165
+
2166
+ # @!attribute contract
2167
+ #
2168
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Contract, nil]
2169
+ optional :contract, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Contract }
2170
+
2171
+ # @!attribute description
2172
+ # Will be passed down to the individual commits
2173
+ #
2174
+ # @return [String, nil]
2175
+ optional :description, String
2176
+
2177
+ # @!attribute ending_before
2178
+ # Determines when the contract will stop creating recurring commits. Optional
2179
+ #
2180
+ # @return [Time, nil]
2181
+ optional :ending_before, Time
2182
+
2183
+ # @!attribute invoice_amount
2184
+ # The amount the customer should be billed for the commit. Not required.
2185
+ #
2186
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::InvoiceAmount, nil]
2187
+ optional :invoice_amount,
2188
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::InvoiceAmount }
2189
+
2190
+ # @!attribute name
2191
+ # Displayed on invoices. Will be passed through to the individual commits
2192
+ #
2193
+ # @return [String, nil]
2194
+ optional :name, String
2195
+
2196
+ # @!attribute netsuite_sales_order_id
2197
+ # Will be passed down to the individual commits
2198
+ #
2199
+ # @return [String, nil]
2200
+ optional :netsuite_sales_order_id, String
2201
+
2202
+ # @!attribute proration
2203
+ # Determines whether the first and last commit will be prorated. If not provided,
2204
+ # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
2205
+ #
2206
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Proration, nil]
2207
+ optional :proration,
2208
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Proration }
2209
+
2210
+ # @!attribute recurrence_frequency
2211
+ # The frequency at which the recurring commits will be created. If not provided: -
2212
+ # The commits will be created on the usage invoice frequency. If provided: - The
2213
+ # period defined in the duration will correspond to this frequency. - Commits will
2214
+ # be created aligned with the recurring commit's start_date rather than the usage
2215
+ # invoice dates.
2216
+ #
2217
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::RecurrenceFrequency, nil]
2218
+ optional :recurrence_frequency,
2219
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::RecurrenceFrequency }
2220
+
2221
+ # @!attribute rollover_fraction
2222
+ # Will be passed down to the individual commits. This controls how much of an
2223
+ # individual unexpired commit will roll over upon contract transition. Must be
2224
+ # between 0 and 1.
2225
+ #
2226
+ # @return [Float, nil]
2227
+ optional :rollover_fraction, Float
2228
+
2229
+ # @!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, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil)
2230
+ # Some parameter documentations has been truncated, see
2231
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit} for more
2232
+ # details.
2233
+ #
2234
+ # @param id [String]
2235
+ #
2236
+ # @param access_amount [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::AccessAmount] The amount of commit to grant.
2237
+ #
2238
+ # @param commit_duration [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::CommitDuration] The amount of time the created commits will be valid for
2239
+ #
2240
+ # @param priority [Float] Will be passed down to the individual commits
2241
+ #
2242
+ # @param product [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Product]
2243
+ #
2244
+ # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::RateType] Whether the created commits will use the commit rate or list rate
2245
+ #
2246
+ # @param starting_at [Time] Determines the start time for the first commit
2247
+ #
2248
+ # @param applicable_product_ids [Array<String>] Will be passed down to the individual commits
2249
+ #
2250
+ # @param applicable_product_tags [Array<String>] Will be passed down to the individual commits
2251
+ #
2252
+ # @param contract [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Contract]
2253
+ #
2254
+ # @param description [String] Will be passed down to the individual commits
2255
+ #
2256
+ # @param ending_before [Time] Determines when the contract will stop creating recurring commits. Optional
2257
+ #
2258
+ # @param invoice_amount [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::InvoiceAmount] The amount the customer should be billed for the commit. Not required.
2259
+ #
2260
+ # @param name [String] Displayed on invoices. Will be passed through to the individual commits
2261
+ #
2262
+ # @param netsuite_sales_order_id [String] Will be passed down to the individual commits
2263
+ #
2264
+ # @param proration [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::Proration] Determines whether the first and last commit will be prorated. If not provided,
2265
+ # ...
2266
+ #
2267
+ # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
2268
+ # ...
2269
+ #
2270
+ # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
2271
+ # ...
2272
+
2273
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#access_amount
2274
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
2275
+ # @!attribute credit_type_id
2276
+ #
2277
+ # @return [String]
2278
+ required :credit_type_id, String
2279
+
2280
+ # @!attribute quantity
2281
+ #
2282
+ # @return [Float]
2283
+ required :quantity, Float
2284
+
2285
+ # @!attribute unit_price
2286
+ #
2287
+ # @return [Float]
2288
+ required :unit_price, Float
2289
+
2290
+ # @!method initialize(credit_type_id:, quantity:, unit_price:)
2291
+ # The amount of commit to grant.
2292
+ #
2293
+ # @param credit_type_id [String]
2294
+ # @param quantity [Float]
2295
+ # @param unit_price [Float]
2296
+ end
2297
+
2298
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#commit_duration
2299
+ class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
2300
+ # @!attribute value
2301
+ #
2302
+ # @return [Float]
2303
+ required :value, Float
2304
+
2305
+ # @!attribute unit
2306
+ #
2307
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::CommitDuration::Unit, nil]
2308
+ optional :unit,
2309
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::CommitDuration::Unit }
2310
+
2311
+ # @!method initialize(value:, unit: nil)
2312
+ # The amount of time the created commits will be valid for
2313
+ #
2314
+ # @param value [Float]
2315
+ # @param unit [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::CommitDuration::Unit]
2316
+
2317
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit::CommitDuration#unit
2318
+ module Unit
2319
+ extend MetronomeSDK::Internal::Type::Enum
2320
+
2321
+ PERIODS = :PERIODS
2322
+
2323
+ # @!method self.values
2324
+ # @return [Array<Symbol>]
2325
+ end
2326
+ end
2327
+
2328
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#product
2329
+ class Product < MetronomeSDK::Internal::Type::BaseModel
2330
+ # @!attribute id
2331
+ #
2332
+ # @return [String]
2333
+ required :id, String
2334
+
2335
+ # @!attribute name
2336
+ #
2337
+ # @return [String]
2338
+ required :name, String
2339
+
2340
+ # @!method initialize(id:, name:)
2341
+ # @param id [String]
2342
+ # @param name [String]
2343
+ end
2344
+
2345
+ # Whether the created commits will use the commit rate or list rate
2346
+ #
2347
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#rate_type
2348
+ module RateType
2349
+ extend MetronomeSDK::Internal::Type::Enum
2350
+
2351
+ COMMIT_RATE = :COMMIT_RATE
2352
+ LIST_RATE = :LIST_RATE
2353
+
2354
+ # @!method self.values
2355
+ # @return [Array<Symbol>]
2356
+ end
2357
+
2358
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#contract
2359
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
2360
+ # @!attribute id
2361
+ #
2362
+ # @return [String]
2363
+ required :id, String
2364
+
2365
+ # @!method initialize(id:)
2366
+ # @param id [String]
2367
+ end
2368
+
2369
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#invoice_amount
2370
+ class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
2371
+ # @!attribute credit_type_id
2372
+ #
2373
+ # @return [String]
2374
+ required :credit_type_id, String
2375
+
2376
+ # @!attribute quantity
2377
+ #
2378
+ # @return [Float]
2379
+ required :quantity, Float
2380
+
2381
+ # @!attribute unit_price
2382
+ #
2383
+ # @return [Float]
2384
+ required :unit_price, Float
2385
+
2386
+ # @!method initialize(credit_type_id:, quantity:, unit_price:)
2387
+ # The amount the customer should be billed for the commit. Not required.
2388
+ #
2389
+ # @param credit_type_id [String]
2390
+ # @param quantity [Float]
2391
+ # @param unit_price [Float]
2392
+ end
2393
+
2394
+ # Determines whether the first and last commit will be prorated. If not provided,
2395
+ # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
2396
+ #
2397
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#proration
2398
+ module Proration
2399
+ extend MetronomeSDK::Internal::Type::Enum
2400
+
2401
+ NONE = :NONE
2402
+ FIRST = :FIRST
2403
+ LAST = :LAST
2404
+ FIRST_AND_LAST = :FIRST_AND_LAST
2405
+
2406
+ # @!method self.values
2407
+ # @return [Array<Symbol>]
2408
+ end
2409
+
2410
+ # The frequency at which the recurring commits will be created. If not provided: -
2411
+ # The commits will be created on the usage invoice frequency. If provided: - The
2412
+ # period defined in the duration will correspond to this frequency. - Commits will
2413
+ # be created aligned with the recurring commit's start_date rather than the usage
2414
+ # invoice dates.
2415
+ #
2416
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCommit#recurrence_frequency
2417
+ module RecurrenceFrequency
2418
+ extend MetronomeSDK::Internal::Type::Enum
2419
+
2420
+ MONTHLY = :MONTHLY
2421
+ QUARTERLY = :QUARTERLY
2422
+ ANNUAL = :ANNUAL
2423
+ WEEKLY = :WEEKLY
2424
+
2425
+ # @!method self.values
2426
+ # @return [Array<Symbol>]
2427
+ end
2428
+ end
2429
+
2430
+ class RecurringCredit < MetronomeSDK::Internal::Type::BaseModel
2431
+ # @!attribute id
2432
+ #
2433
+ # @return [String]
2434
+ required :id, String
2435
+
2436
+ # @!attribute access_amount
2437
+ # The amount of commit to grant.
2438
+ #
2439
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::AccessAmount]
2440
+ required :access_amount,
2441
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::AccessAmount }
2442
+
2443
+ # @!attribute commit_duration
2444
+ # The amount of time the created commits will be valid for
2445
+ #
2446
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::CommitDuration]
2447
+ required :commit_duration,
2448
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::CommitDuration }
2449
+
2450
+ # @!attribute priority
2451
+ # Will be passed down to the individual commits
2452
+ #
2453
+ # @return [Float]
2454
+ required :priority, Float
2455
+
2456
+ # @!attribute product
2457
+ #
2458
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Product]
2459
+ required :product, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Product }
2460
+
2461
+ # @!attribute rate_type
2462
+ # Whether the created commits will use the commit rate or list rate
2463
+ #
2464
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::RateType]
2465
+ required :rate_type,
2466
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::RateType }
2467
+
2468
+ # @!attribute starting_at
2469
+ # Determines the start time for the first commit
2470
+ #
2471
+ # @return [Time]
2472
+ required :starting_at, Time
2473
+
2474
+ # @!attribute applicable_product_ids
2475
+ # Will be passed down to the individual commits
2476
+ #
2477
+ # @return [Array<String>, nil]
2478
+ optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
2479
+
2480
+ # @!attribute applicable_product_tags
2481
+ # Will be passed down to the individual commits
2482
+ #
2483
+ # @return [Array<String>, nil]
2484
+ optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
2485
+
2486
+ # @!attribute contract
2487
+ #
2488
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Contract, nil]
2489
+ optional :contract, -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Contract }
2490
+
2491
+ # @!attribute description
2492
+ # Will be passed down to the individual commits
2493
+ #
2494
+ # @return [String, nil]
2495
+ optional :description, String
2496
+
2497
+ # @!attribute ending_before
2498
+ # Determines when the contract will stop creating recurring commits. Optional
2499
+ #
2500
+ # @return [Time, nil]
2501
+ optional :ending_before, Time
2502
+
2503
+ # @!attribute name
2504
+ # Displayed on invoices. Will be passed through to the individual commits
2505
+ #
2506
+ # @return [String, nil]
2507
+ optional :name, String
2508
+
2509
+ # @!attribute netsuite_sales_order_id
2510
+ # Will be passed down to the individual commits
2511
+ #
2512
+ # @return [String, nil]
2513
+ optional :netsuite_sales_order_id, String
2514
+
2515
+ # @!attribute proration
2516
+ # Determines whether the first and last commit will be prorated. If not provided,
2517
+ # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
2518
+ #
2519
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Proration, nil]
2520
+ optional :proration,
2521
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Proration }
2522
+
2523
+ # @!attribute recurrence_frequency
2524
+ # The frequency at which the recurring commits will be created. If not provided: -
2525
+ # The commits will be created on the usage invoice frequency. If provided: - The
2526
+ # period defined in the duration will correspond to this frequency. - Commits will
2527
+ # be created aligned with the recurring commit's start_date rather than the usage
2528
+ # invoice dates.
2529
+ #
2530
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::RecurrenceFrequency, nil]
2531
+ optional :recurrence_frequency,
2532
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::RecurrenceFrequency }
2533
+
2534
+ # @!attribute rollover_fraction
2535
+ # Will be passed down to the individual commits. This controls how much of an
2536
+ # individual unexpired commit will roll over upon contract transition. Must be
2537
+ # between 0 and 1.
2538
+ #
2539
+ # @return [Float, nil]
2540
+ optional :rollover_fraction, Float
2541
+
2542
+ # @!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, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil)
2543
+ # Some parameter documentations has been truncated, see
2544
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit} for more
2545
+ # details.
2546
+ #
2547
+ # @param id [String]
2548
+ #
2549
+ # @param access_amount [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::AccessAmount] The amount of commit to grant.
2550
+ #
2551
+ # @param commit_duration [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::CommitDuration] The amount of time the created commits will be valid for
2552
+ #
2553
+ # @param priority [Float] Will be passed down to the individual commits
2554
+ #
2555
+ # @param product [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Product]
2556
+ #
2557
+ # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::RateType] Whether the created commits will use the commit rate or list rate
2558
+ #
2559
+ # @param starting_at [Time] Determines the start time for the first commit
2560
+ #
2561
+ # @param applicable_product_ids [Array<String>] Will be passed down to the individual commits
2562
+ #
2563
+ # @param applicable_product_tags [Array<String>] Will be passed down to the individual commits
2564
+ #
2565
+ # @param contract [MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Contract]
2566
+ #
2567
+ # @param description [String] Will be passed down to the individual commits
2568
+ #
2569
+ # @param ending_before [Time] Determines when the contract will stop creating recurring commits. Optional
2570
+ #
2571
+ # @param name [String] Displayed on invoices. Will be passed through to the individual commits
2572
+ #
2573
+ # @param netsuite_sales_order_id [String] Will be passed down to the individual commits
2574
+ #
2575
+ # @param proration [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::Proration] Determines whether the first and last commit will be prorated. If not provided,
2576
+ # ...
2577
+ #
2578
+ # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
2579
+ # ...
2580
+ #
2581
+ # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
2582
+ # ...
2583
+
2584
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#access_amount
2585
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
2586
+ # @!attribute credit_type_id
2587
+ #
2588
+ # @return [String]
2589
+ required :credit_type_id, String
2590
+
2591
+ # @!attribute quantity
2592
+ #
2593
+ # @return [Float]
2594
+ required :quantity, Float
2595
+
2596
+ # @!attribute unit_price
2597
+ #
2598
+ # @return [Float]
2599
+ required :unit_price, Float
2600
+
2601
+ # @!method initialize(credit_type_id:, quantity:, unit_price:)
2602
+ # The amount of commit to grant.
2603
+ #
2604
+ # @param credit_type_id [String]
2605
+ # @param quantity [Float]
2606
+ # @param unit_price [Float]
2607
+ end
2608
+
2609
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#commit_duration
2610
+ class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
2611
+ # @!attribute value
2612
+ #
2613
+ # @return [Float]
2614
+ required :value, Float
2615
+
2616
+ # @!attribute unit
2617
+ #
2618
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::CommitDuration::Unit, nil]
2619
+ optional :unit,
2620
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::CommitDuration::Unit }
2621
+
2622
+ # @!method initialize(value:, unit: nil)
2623
+ # The amount of time the created commits will be valid for
2624
+ #
2625
+ # @param value [Float]
2626
+ # @param unit [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::CommitDuration::Unit]
2627
+
2628
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit::CommitDuration#unit
2629
+ module Unit
2630
+ extend MetronomeSDK::Internal::Type::Enum
2631
+
2632
+ PERIODS = :PERIODS
2633
+
2634
+ # @!method self.values
2635
+ # @return [Array<Symbol>]
2636
+ end
2637
+ end
2638
+
2639
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#product
2640
+ class Product < MetronomeSDK::Internal::Type::BaseModel
2641
+ # @!attribute id
2642
+ #
2643
+ # @return [String]
2644
+ required :id, String
2645
+
2646
+ # @!attribute name
2647
+ #
2648
+ # @return [String]
2649
+ required :name, String
2650
+
2651
+ # @!method initialize(id:, name:)
2652
+ # @param id [String]
2653
+ # @param name [String]
2654
+ end
2655
+
2656
+ # Whether the created commits will use the commit rate or list rate
2657
+ #
2658
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#rate_type
2659
+ module RateType
2660
+ extend MetronomeSDK::Internal::Type::Enum
2661
+
2662
+ COMMIT_RATE = :COMMIT_RATE
2663
+ LIST_RATE = :LIST_RATE
2664
+
2665
+ # @!method self.values
2666
+ # @return [Array<Symbol>]
2667
+ end
2668
+
2669
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#contract
2670
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
2671
+ # @!attribute id
2672
+ #
2673
+ # @return [String]
2674
+ required :id, String
2675
+
2676
+ # @!method initialize(id:)
2677
+ # @param id [String]
2678
+ end
2679
+
2680
+ # Determines whether the first and last commit will be prorated. If not provided,
2681
+ # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
2682
+ #
2683
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#proration
2684
+ module Proration
2685
+ extend MetronomeSDK::Internal::Type::Enum
2686
+
2687
+ NONE = :NONE
2688
+ FIRST = :FIRST
2689
+ LAST = :LAST
2690
+ FIRST_AND_LAST = :FIRST_AND_LAST
2691
+
2692
+ # @!method self.values
2693
+ # @return [Array<Symbol>]
2694
+ end
2695
+
2696
+ # The frequency at which the recurring commits will be created. If not provided: -
2697
+ # The commits will be created on the usage invoice frequency. If provided: - The
2698
+ # period defined in the duration will correspond to this frequency. - Commits will
2699
+ # be created aligned with the recurring commit's start_date rather than the usage
2700
+ # invoice dates.
2701
+ #
2702
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::RecurringCredit#recurrence_frequency
2703
+ module RecurrenceFrequency
2704
+ extend MetronomeSDK::Internal::Type::Enum
2705
+
2706
+ MONTHLY = :MONTHLY
2707
+ QUARTERLY = :QUARTERLY
2708
+ ANNUAL = :ANNUAL
2709
+ WEEKLY = :WEEKLY
2710
+
2711
+ # @!method self.values
2712
+ # @return [Array<Symbol>]
2713
+ end
2714
+ end
2715
+
2716
+ class ResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
2717
+ # @!attribute reseller_type
2718
+ #
2719
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::ResellerRoyalty::ResellerType]
2720
+ required :reseller_type,
2721
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::ResellerRoyalty::ResellerType }
2722
+
2723
+ # @!attribute segments
2724
+ #
2725
+ # @return [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::ResellerRoyalty::Segment>]
2726
+ required :segments,
2727
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractListResponse::Data::ResellerRoyalty::Segment] }
2728
+
2729
+ # @!method initialize(reseller_type:, segments:)
2730
+ # @param reseller_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::ResellerRoyalty::ResellerType]
2731
+ # @param segments [Array<MetronomeSDK::Models::V2::ContractListResponse::Data::ResellerRoyalty::Segment>]
2732
+
2733
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::ResellerRoyalty#reseller_type
2734
+ module ResellerType
2735
+ extend MetronomeSDK::Internal::Type::Enum
2736
+
2737
+ AWS = :AWS
2738
+ AWS_PRO_SERVICE = :AWS_PRO_SERVICE
2739
+ GCP = :GCP
2740
+ GCP_PRO_SERVICE = :GCP_PRO_SERVICE
2741
+
2742
+ # @!method self.values
2743
+ # @return [Array<Symbol>]
2744
+ end
2745
+
2746
+ class Segment < MetronomeSDK::Internal::Type::BaseModel
2747
+ # @!attribute fraction
2748
+ #
2749
+ # @return [Float]
2750
+ required :fraction, Float
2751
+
2752
+ # @!attribute netsuite_reseller_id
2753
+ #
2754
+ # @return [String]
2755
+ required :netsuite_reseller_id, String
2756
+
2757
+ # @!attribute reseller_type
2758
+ #
2759
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::ResellerRoyalty::Segment::ResellerType]
2760
+ required :reseller_type,
2761
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::ResellerRoyalty::Segment::ResellerType }
2762
+
2763
+ # @!attribute starting_at
2764
+ #
2765
+ # @return [Time]
2766
+ required :starting_at, Time
2767
+
2768
+ # @!attribute applicable_product_ids
2769
+ #
2770
+ # @return [Array<String>, nil]
2771
+ optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
2772
+
2773
+ # @!attribute applicable_product_tags
2774
+ #
2775
+ # @return [Array<String>, nil]
2776
+ optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
2777
+
2778
+ # @!attribute aws_account_number
2779
+ #
2780
+ # @return [String, nil]
2781
+ optional :aws_account_number, String
2782
+
2783
+ # @!attribute aws_offer_id
2784
+ #
2785
+ # @return [String, nil]
2786
+ optional :aws_offer_id, String
2787
+
2788
+ # @!attribute aws_payer_reference_id
2789
+ #
2790
+ # @return [String, nil]
2791
+ optional :aws_payer_reference_id, String
2792
+
2793
+ # @!attribute ending_before
2794
+ #
2795
+ # @return [Time, nil]
2796
+ optional :ending_before, Time
2797
+
2798
+ # @!attribute gcp_account_id
2799
+ #
2800
+ # @return [String, nil]
2801
+ optional :gcp_account_id, String
2802
+
2803
+ # @!attribute gcp_offer_id
2804
+ #
2805
+ # @return [String, nil]
2806
+ optional :gcp_offer_id, String
2807
+
2808
+ # @!attribute reseller_contract_value
2809
+ #
2810
+ # @return [Float, nil]
2811
+ optional :reseller_contract_value, Float
2812
+
2813
+ # @!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)
2814
+ # @param fraction [Float]
2815
+ # @param netsuite_reseller_id [String]
2816
+ # @param reseller_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::ResellerRoyalty::Segment::ResellerType]
2817
+ # @param starting_at [Time]
2818
+ # @param applicable_product_ids [Array<String>]
2819
+ # @param applicable_product_tags [Array<String>]
2820
+ # @param aws_account_number [String]
2821
+ # @param aws_offer_id [String]
2822
+ # @param aws_payer_reference_id [String]
2823
+ # @param ending_before [Time]
2824
+ # @param gcp_account_id [String]
2825
+ # @param gcp_offer_id [String]
2826
+ # @param reseller_contract_value [Float]
2827
+
2828
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::ResellerRoyalty::Segment#reseller_type
2829
+ module ResellerType
2830
+ extend MetronomeSDK::Internal::Type::Enum
2831
+
2832
+ AWS = :AWS
2833
+ AWS_PRO_SERVICE = :AWS_PRO_SERVICE
2834
+ GCP = :GCP
2835
+ GCP_PRO_SERVICE = :GCP_PRO_SERVICE
2836
+
2837
+ # @!method self.values
2838
+ # @return [Array<Symbol>]
2839
+ end
2840
+ end
2841
+ end
2842
+
2843
+ # Determines which scheduled and commit charges to consolidate onto the Contract's
2844
+ # usage invoice. The charge's `timestamp` must match the usage invoice's
2845
+ # `ending_before` date for consolidation to occur. This field cannot be modified
2846
+ # after a Contract has been created. If this field is omitted, charges will appear
2847
+ # on a separate invoice from usage charges.
2848
+ #
2849
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data#scheduled_charges_on_usage_invoices
2850
+ module ScheduledChargesOnUsageInvoices
2851
+ extend MetronomeSDK::Internal::Type::Enum
2852
+
2853
+ ALL = :ALL
2854
+
2855
+ # @!method self.values
2856
+ # @return [Array<Symbol>]
2857
+ end
2858
+
2859
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data#spend_threshold_configuration
2860
+ class SpendThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
2861
+ # @!attribute commit
2862
+ #
2863
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::Commit]
2864
+ required :commit,
2865
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::Commit }
2866
+
2867
+ # @!attribute is_enabled
2868
+ # When set to false, the contract will not be evaluated against the
2869
+ # threshold_amount. Toggling to true will result an immediate evaluation,
2870
+ # regardless of prior state.
2871
+ #
2872
+ # @return [Boolean]
2873
+ required :is_enabled, MetronomeSDK::Internal::Type::Boolean
2874
+
2875
+ # @!attribute payment_gate_config
2876
+ #
2877
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig]
2878
+ required :payment_gate_config,
2879
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig }
2880
+
2881
+ # @!attribute threshold_amount
2882
+ # Specify the threshold amount for the contract. Each time the contract's usage
2883
+ # hits this amount, a threshold charge will be initiated.
2884
+ #
2885
+ # @return [Float]
2886
+ required :threshold_amount, Float
2887
+
2888
+ # @!method initialize(commit:, is_enabled:, payment_gate_config:, threshold_amount:)
2889
+ # Some parameter documentations has been truncated, see
2890
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration}
2891
+ # for more details.
2892
+ #
2893
+ # @param commit [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::Commit]
2894
+ #
2895
+ # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
2896
+ # ...
2897
+ #
2898
+ # @param payment_gate_config [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig]
2899
+ #
2900
+ # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's usage hi
2901
+ # ...
2902
+
2903
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration#commit
2904
+ class Commit < MetronomeSDK::Internal::Type::BaseModel
2905
+ # @!attribute product_id
2906
+ # The commit product that will be used to generate the line item for commit
2907
+ # payment.
2908
+ #
2909
+ # @return [String]
2910
+ required :product_id, String
2911
+
2912
+ # @!attribute description
2913
+ #
2914
+ # @return [String, nil]
2915
+ optional :description, String
2916
+
2917
+ # @!attribute name
2918
+ # Specify the name of the line item for the threshold charge. If left blank, it
2919
+ # will default to the commit product name.
2920
+ #
2921
+ # @return [String, nil]
2922
+ optional :name, String
2923
+
2924
+ # @!method initialize(product_id:, description: nil, name: nil)
2925
+ # Some parameter documentations has been truncated, see
2926
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::Commit}
2927
+ # for more details.
2928
+ #
2929
+ # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
2930
+ # ...
2931
+ #
2932
+ # @param description [String]
2933
+ #
2934
+ # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
2935
+ # ...
2936
+ end
2937
+
2938
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration#payment_gate_config
2939
+ class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
2940
+ # @!attribute payment_gate_type
2941
+ # Gate access to the commit balance based on successful collection of payment.
2942
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
2943
+ # facilitate payment using your own payment integration. Select NONE if you do not
2944
+ # wish to payment gate the commit balance.
2945
+ #
2946
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType]
2947
+ required :payment_gate_type,
2948
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType }
2949
+
2950
+ # @!attribute stripe_config
2951
+ # Only applicable if using Stripe as your payment gateway through Metronome.
2952
+ #
2953
+ # @return [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
2954
+ optional :stripe_config,
2955
+ -> { MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig }
2956
+
2957
+ # @!attribute tax_type
2958
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
2959
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
2960
+ # will default to NONE.
2961
+ #
2962
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType, nil]
2963
+ optional :tax_type,
2964
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType }
2965
+
2966
+ # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
2967
+ # Some parameter documentations has been truncated, see
2968
+ # {MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig}
2969
+ # for more details.
2970
+ #
2971
+ # @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
2972
+ # ...
2973
+ #
2974
+ # @param stripe_config [MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
2975
+ #
2976
+ # @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
2977
+ # ...
2978
+
2979
+ # Gate access to the commit balance based on successful collection of payment.
2980
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
2981
+ # facilitate payment using your own payment integration. Select NONE if you do not
2982
+ # wish to payment gate the commit balance.
2983
+ #
2984
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig#payment_gate_type
2985
+ module PaymentGateType
2986
+ extend MetronomeSDK::Internal::Type::Enum
2987
+
2988
+ NONE = :NONE
2989
+ STRIPE = :STRIPE
2990
+ EXTERNAL = :EXTERNAL
2991
+
2992
+ # @!method self.values
2993
+ # @return [Array<Symbol>]
2994
+ end
2995
+
2996
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig#stripe_config
2997
+ class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
2998
+ # @!attribute payment_type
2999
+ # If left blank, will default to INVOICE
3000
+ #
3001
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
3002
+ required :payment_type,
3003
+ enum: -> { MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType }
3004
+
3005
+ # @!method initialize(payment_type:)
3006
+ # Only applicable if using Stripe as your payment gateway through Metronome.
3007
+ #
3008
+ # @param payment_type [Symbol, MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
3009
+
3010
+ # If left blank, will default to INVOICE
3011
+ #
3012
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
3013
+ module PaymentType
3014
+ extend MetronomeSDK::Internal::Type::Enum
3015
+
3016
+ INVOICE = :INVOICE
3017
+ PAYMENT_INTENT = :PAYMENT_INTENT
3018
+
3019
+ # @!method self.values
3020
+ # @return [Array<Symbol>]
3021
+ end
3022
+ end
3023
+
3024
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
3025
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
3026
+ # will default to NONE.
3027
+ #
3028
+ # @see MetronomeSDK::Models::V2::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig#tax_type
3029
+ module TaxType
3030
+ extend MetronomeSDK::Internal::Type::Enum
3031
+
3032
+ NONE = :NONE
3033
+ STRIPE = :STRIPE
3034
+
3035
+ # @!method self.values
3036
+ # @return [Array<Symbol>]
3037
+ end
3038
+ end
3039
+ end
3040
+ end
3041
+ end
3042
+ end
3043
+ end
3044
+ end