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