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,2394 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V2
6
+ # @see MetronomeSDK::Resources::V2::Contracts#get_edit_history
7
+ class ContractGetEditHistoryResponse < MetronomeSDK::Internal::Type::BaseModel
8
+ # @!attribute data
9
+ #
10
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data>]
11
+ required :data,
12
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data] }
13
+
14
+ # @!method initialize(data:)
15
+ # @param data [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data>]
16
+
17
+ class Data < MetronomeSDK::Internal::Type::BaseModel
18
+ # @!attribute id
19
+ #
20
+ # @return [String]
21
+ required :id, String
22
+
23
+ # @!attribute add_commits
24
+ #
25
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit>, nil]
26
+ optional :add_commits,
27
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit] }
28
+
29
+ # @!attribute add_credits
30
+ #
31
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit>, nil]
32
+ optional :add_credits,
33
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit] }
34
+
35
+ # @!attribute add_discounts
36
+ #
37
+ # @return [Array<MetronomeSDK::Models::Discount>, nil]
38
+ optional :add_discounts, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::Discount] }
39
+
40
+ # @!attribute add_overrides
41
+ #
42
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride>, nil]
43
+ optional :add_overrides,
44
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride] }
45
+
46
+ # @!attribute add_pro_services
47
+ #
48
+ # @return [Array<MetronomeSDK::Models::ProService>, nil]
49
+ optional :add_pro_services, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::ProService] }
50
+
51
+ # @!attribute add_recurring_commits
52
+ #
53
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit>, nil]
54
+ optional :add_recurring_commits,
55
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit] }
56
+
57
+ # @!attribute add_recurring_credits
58
+ #
59
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit>, nil]
60
+ optional :add_recurring_credits,
61
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit] }
62
+
63
+ # @!attribute add_reseller_royalties
64
+ #
65
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddResellerRoyalty>, nil]
66
+ optional :add_reseller_royalties,
67
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddResellerRoyalty] }
68
+
69
+ # @!attribute add_scheduled_charges
70
+ #
71
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge>, nil]
72
+ optional :add_scheduled_charges,
73
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge] }
74
+
75
+ # @!attribute add_usage_filters
76
+ #
77
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddUsageFilter>, nil]
78
+ optional :add_usage_filters,
79
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddUsageFilter] }
80
+
81
+ # @!attribute archive_commits
82
+ #
83
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::ArchiveCommit>, nil]
84
+ optional :archive_commits,
85
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::ArchiveCommit] }
86
+
87
+ # @!attribute archive_credits
88
+ #
89
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::ArchiveCredit>, nil]
90
+ optional :archive_credits,
91
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::ArchiveCredit] }
92
+
93
+ # @!attribute archive_scheduled_charges
94
+ #
95
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::ArchiveScheduledCharge>, nil]
96
+ optional :archive_scheduled_charges,
97
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::ArchiveScheduledCharge] }
98
+
99
+ # @!attribute remove_overrides
100
+ #
101
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::RemoveOverride>, nil]
102
+ optional :remove_overrides,
103
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::RemoveOverride] }
104
+
105
+ # @!attribute timestamp
106
+ #
107
+ # @return [Time, nil]
108
+ optional :timestamp, Time
109
+
110
+ # @!attribute update_commits
111
+ #
112
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit>, nil]
113
+ optional :update_commits,
114
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit] }
115
+
116
+ # @!attribute update_contract_end_date
117
+ #
118
+ # @return [Time, nil]
119
+ optional :update_contract_end_date, Time
120
+
121
+ # @!attribute update_credits
122
+ #
123
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit>, nil]
124
+ optional :update_credits,
125
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit] }
126
+
127
+ # @!attribute update_discounts
128
+ #
129
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount>, nil]
130
+ optional :update_discounts,
131
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount] }
132
+
133
+ # @!attribute update_refund_invoices
134
+ #
135
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRefundInvoice>, nil]
136
+ optional :update_refund_invoices,
137
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRefundInvoice] }
138
+
139
+ # @!attribute update_scheduled_charges
140
+ #
141
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateScheduledCharge>, nil]
142
+ optional :update_scheduled_charges,
143
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateScheduledCharge] }
144
+
145
+ # @!method initialize(id:, add_commits: nil, add_credits: nil, add_discounts: nil, add_overrides: nil, add_pro_services: nil, add_recurring_commits: nil, add_recurring_credits: nil, add_reseller_royalties: nil, add_scheduled_charges: nil, add_usage_filters: nil, archive_commits: nil, archive_credits: nil, archive_scheduled_charges: nil, remove_overrides: nil, timestamp: nil, update_commits: nil, update_contract_end_date: nil, update_credits: nil, update_discounts: nil, update_refund_invoices: nil, update_scheduled_charges: nil)
146
+ # @param id [String]
147
+ # @param add_commits [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit>]
148
+ # @param add_credits [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit>]
149
+ # @param add_discounts [Array<MetronomeSDK::Models::Discount>]
150
+ # @param add_overrides [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride>]
151
+ # @param add_pro_services [Array<MetronomeSDK::Models::ProService>]
152
+ # @param add_recurring_commits [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit>]
153
+ # @param add_recurring_credits [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit>]
154
+ # @param add_reseller_royalties [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddResellerRoyalty>]
155
+ # @param add_scheduled_charges [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge>]
156
+ # @param add_usage_filters [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddUsageFilter>]
157
+ # @param archive_commits [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::ArchiveCommit>]
158
+ # @param archive_credits [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::ArchiveCredit>]
159
+ # @param archive_scheduled_charges [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::ArchiveScheduledCharge>]
160
+ # @param remove_overrides [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::RemoveOverride>]
161
+ # @param timestamp [Time]
162
+ # @param update_commits [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit>]
163
+ # @param update_contract_end_date [Time]
164
+ # @param update_credits [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit>]
165
+ # @param update_discounts [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount>]
166
+ # @param update_refund_invoices [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateRefundInvoice>]
167
+ # @param update_scheduled_charges [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateScheduledCharge>]
168
+
169
+ class AddCommit < MetronomeSDK::Internal::Type::BaseModel
170
+ # @!attribute id
171
+ #
172
+ # @return [String]
173
+ required :id, String
174
+
175
+ # @!attribute product
176
+ #
177
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::Product]
178
+ required :product,
179
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::Product }
180
+
181
+ # @!attribute type
182
+ #
183
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::Type]
184
+ required :type,
185
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::Type }
186
+
187
+ # @!attribute access_schedule
188
+ # The schedule that the customer will gain access to the credits purposed with
189
+ # this commit.
190
+ #
191
+ # @return [MetronomeSDK::Models::ScheduleDuration, nil]
192
+ optional :access_schedule, -> { MetronomeSDK::Models::ScheduleDuration }
193
+
194
+ # @!attribute applicable_product_ids
195
+ #
196
+ # @return [Array<String>, nil]
197
+ optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
198
+
199
+ # @!attribute applicable_product_tags
200
+ #
201
+ # @return [Array<String>, nil]
202
+ optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
203
+
204
+ # @!attribute description
205
+ #
206
+ # @return [String, nil]
207
+ optional :description, String
208
+
209
+ # @!attribute invoice_schedule
210
+ # The schedule that the customer will be invoiced for this commit.
211
+ #
212
+ # @return [MetronomeSDK::Models::SchedulePointInTime, nil]
213
+ optional :invoice_schedule, -> { MetronomeSDK::Models::SchedulePointInTime }
214
+
215
+ # @!attribute name
216
+ #
217
+ # @return [String, nil]
218
+ optional :name, String
219
+
220
+ # @!attribute netsuite_sales_order_id
221
+ # This field's availability is dependent on your client's configuration.
222
+ #
223
+ # @return [String, nil]
224
+ optional :netsuite_sales_order_id, String
225
+
226
+ # @!attribute priority
227
+ # If multiple credits or commits are applicable, the one with the lower priority
228
+ # will apply first.
229
+ #
230
+ # @return [Float, nil]
231
+ optional :priority, Float
232
+
233
+ # @!attribute rate_type
234
+ #
235
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::RateType, nil]
236
+ optional :rate_type,
237
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::RateType }
238
+
239
+ # @!attribute rollover_fraction
240
+ #
241
+ # @return [Float, nil]
242
+ optional :rollover_fraction, Float
243
+
244
+ # @!attribute salesforce_opportunity_id
245
+ # This field's availability is dependent on your client's configuration.
246
+ #
247
+ # @return [String, nil]
248
+ optional :salesforce_opportunity_id, String
249
+
250
+ # @!method initialize(id:, product:, type:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, invoice_schedule: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, rollover_fraction: nil, salesforce_opportunity_id: nil)
251
+ # Some parameter documentations has been truncated, see
252
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit} for
253
+ # more details.
254
+ #
255
+ # @param id [String]
256
+ #
257
+ # @param product [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::Product]
258
+ #
259
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::Type]
260
+ #
261
+ # @param access_schedule [MetronomeSDK::Models::ScheduleDuration] The schedule that the customer will gain access to the credits purposed with thi
262
+ # ...
263
+ #
264
+ # @param applicable_product_ids [Array<String>]
265
+ #
266
+ # @param applicable_product_tags [Array<String>]
267
+ #
268
+ # @param description [String]
269
+ #
270
+ # @param invoice_schedule [MetronomeSDK::Models::SchedulePointInTime] The schedule that the customer will be invoiced for this commit.
271
+ #
272
+ # @param name [String]
273
+ #
274
+ # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
275
+ #
276
+ # @param priority [Float] If multiple credits or commits are applicable, the one with the lower priority w
277
+ # ...
278
+ #
279
+ # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit::RateType]
280
+ #
281
+ # @param rollover_fraction [Float]
282
+ #
283
+ # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
284
+
285
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit#product
286
+ class Product < MetronomeSDK::Internal::Type::BaseModel
287
+ # @!attribute id
288
+ #
289
+ # @return [String]
290
+ required :id, String
291
+
292
+ # @!attribute name
293
+ #
294
+ # @return [String]
295
+ required :name, String
296
+
297
+ # @!method initialize(id:, name:)
298
+ # @param id [String]
299
+ # @param name [String]
300
+ end
301
+
302
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit#type
303
+ module Type
304
+ extend MetronomeSDK::Internal::Type::Enum
305
+
306
+ PREPAID = :PREPAID
307
+ POSTPAID = :POSTPAID
308
+
309
+ # @!method self.values
310
+ # @return [Array<Symbol>]
311
+ end
312
+
313
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCommit#rate_type
314
+ module RateType
315
+ extend MetronomeSDK::Internal::Type::Enum
316
+
317
+ COMMIT_RATE = :COMMIT_RATE
318
+ LIST_RATE = :LIST_RATE
319
+
320
+ # @!method self.values
321
+ # @return [Array<Symbol>]
322
+ end
323
+ end
324
+
325
+ class AddCredit < MetronomeSDK::Internal::Type::BaseModel
326
+ # @!attribute id
327
+ #
328
+ # @return [String]
329
+ required :id, String
330
+
331
+ # @!attribute product
332
+ #
333
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::Product]
334
+ required :product,
335
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::Product }
336
+
337
+ # @!attribute type
338
+ #
339
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::Type]
340
+ required :type,
341
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::Type }
342
+
343
+ # @!attribute access_schedule
344
+ # The schedule that the customer will gain access to the credits.
345
+ #
346
+ # @return [MetronomeSDK::Models::ScheduleDuration, nil]
347
+ optional :access_schedule, -> { MetronomeSDK::Models::ScheduleDuration }
348
+
349
+ # @!attribute applicable_product_ids
350
+ #
351
+ # @return [Array<String>, nil]
352
+ optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
353
+
354
+ # @!attribute applicable_product_tags
355
+ #
356
+ # @return [Array<String>, nil]
357
+ optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
358
+
359
+ # @!attribute description
360
+ #
361
+ # @return [String, nil]
362
+ optional :description, String
363
+
364
+ # @!attribute name
365
+ #
366
+ # @return [String, nil]
367
+ optional :name, String
368
+
369
+ # @!attribute netsuite_sales_order_id
370
+ # This field's availability is dependent on your client's configuration.
371
+ #
372
+ # @return [String, nil]
373
+ optional :netsuite_sales_order_id, String
374
+
375
+ # @!attribute priority
376
+ # If multiple credits or commits are applicable, the one with the lower priority
377
+ # will apply first.
378
+ #
379
+ # @return [Float, nil]
380
+ optional :priority, Float
381
+
382
+ # @!attribute salesforce_opportunity_id
383
+ # This field's availability is dependent on your client's configuration.
384
+ #
385
+ # @return [String, nil]
386
+ optional :salesforce_opportunity_id, String
387
+
388
+ # @!method initialize(id:, product:, type:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, salesforce_opportunity_id: nil)
389
+ # Some parameter documentations has been truncated, see
390
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit} for
391
+ # more details.
392
+ #
393
+ # @param id [String]
394
+ #
395
+ # @param product [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::Product]
396
+ #
397
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit::Type]
398
+ #
399
+ # @param access_schedule [MetronomeSDK::Models::ScheduleDuration] The schedule that the customer will gain access to the credits.
400
+ #
401
+ # @param applicable_product_ids [Array<String>]
402
+ #
403
+ # @param applicable_product_tags [Array<String>]
404
+ #
405
+ # @param description [String]
406
+ #
407
+ # @param name [String]
408
+ #
409
+ # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
410
+ #
411
+ # @param priority [Float] If multiple credits or commits are applicable, the one with the lower priority w
412
+ # ...
413
+ #
414
+ # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
415
+
416
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit#product
417
+ class Product < MetronomeSDK::Internal::Type::BaseModel
418
+ # @!attribute id
419
+ #
420
+ # @return [String]
421
+ required :id, String
422
+
423
+ # @!attribute name
424
+ #
425
+ # @return [String]
426
+ required :name, String
427
+
428
+ # @!method initialize(id:, name:)
429
+ # @param id [String]
430
+ # @param name [String]
431
+ end
432
+
433
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddCredit#type
434
+ module Type
435
+ extend MetronomeSDK::Internal::Type::Enum
436
+
437
+ CREDIT = :CREDIT
438
+
439
+ # @!method self.values
440
+ # @return [Array<Symbol>]
441
+ end
442
+ end
443
+
444
+ class AddOverride < MetronomeSDK::Internal::Type::BaseModel
445
+ # @!attribute id
446
+ #
447
+ # @return [String]
448
+ required :id, String
449
+
450
+ # @!attribute starting_at
451
+ #
452
+ # @return [Time]
453
+ required :starting_at, Time
454
+
455
+ # @!attribute applicable_product_tags
456
+ #
457
+ # @return [Array<String>, nil]
458
+ optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
459
+
460
+ # @!attribute ending_before
461
+ #
462
+ # @return [Time, nil]
463
+ optional :ending_before, Time
464
+
465
+ # @!attribute entitled
466
+ #
467
+ # @return [Boolean, nil]
468
+ optional :entitled, MetronomeSDK::Internal::Type::Boolean
469
+
470
+ # @!attribute is_commit_specific
471
+ #
472
+ # @return [Boolean, nil]
473
+ optional :is_commit_specific, MetronomeSDK::Internal::Type::Boolean
474
+
475
+ # @!attribute multiplier
476
+ #
477
+ # @return [Float, nil]
478
+ optional :multiplier, Float
479
+
480
+ # @!attribute override_specifiers
481
+ #
482
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverrideSpecifier>, nil]
483
+ optional :override_specifiers,
484
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverrideSpecifier] }
485
+
486
+ # @!attribute override_tiers
487
+ #
488
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverrideTier>, nil]
489
+ optional :override_tiers,
490
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverrideTier] }
491
+
492
+ # @!attribute overwrite_rate
493
+ #
494
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate, nil]
495
+ optional :overwrite_rate,
496
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate }
497
+
498
+ # @!attribute priority
499
+ #
500
+ # @return [Float, nil]
501
+ optional :priority, Float
502
+
503
+ # @!attribute product
504
+ #
505
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::Product, nil]
506
+ optional :product,
507
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::Product }
508
+
509
+ # @!attribute target
510
+ #
511
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::Target, nil]
512
+ optional :target,
513
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::Target }
514
+
515
+ # @!attribute type
516
+ #
517
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::Type, nil]
518
+ optional :type,
519
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::Type }
520
+
521
+ # @!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)
522
+ # @param id [String]
523
+ # @param starting_at [Time]
524
+ # @param applicable_product_tags [Array<String>]
525
+ # @param ending_before [Time]
526
+ # @param entitled [Boolean]
527
+ # @param is_commit_specific [Boolean]
528
+ # @param multiplier [Float]
529
+ # @param override_specifiers [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverrideSpecifier>]
530
+ # @param override_tiers [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverrideTier>]
531
+ # @param overwrite_rate [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate]
532
+ # @param priority [Float]
533
+ # @param product [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::Product]
534
+ # @param target [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::Target]
535
+ # @param type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::Type]
536
+
537
+ class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
538
+ # @!attribute commit_ids
539
+ #
540
+ # @return [Array<String>, nil]
541
+ optional :commit_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
542
+
543
+ # @!attribute presentation_group_values
544
+ #
545
+ # @return [Hash{Symbol=>String, nil}, nil]
546
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String, nil?: true]
547
+
548
+ # @!attribute pricing_group_values
549
+ #
550
+ # @return [Hash{Symbol=>String}, nil]
551
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
552
+
553
+ # @!attribute product_id
554
+ #
555
+ # @return [String, nil]
556
+ optional :product_id, String
557
+
558
+ # @!attribute product_tags
559
+ #
560
+ # @return [Array<String>, nil]
561
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
562
+
563
+ # @!attribute recurring_commit_ids
564
+ #
565
+ # @return [Array<String>, nil]
566
+ optional :recurring_commit_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
567
+
568
+ # @!attribute recurring_credit_ids
569
+ #
570
+ # @return [Array<String>, nil]
571
+ optional :recurring_credit_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
572
+
573
+ # @!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)
574
+ # @param commit_ids [Array<String>]
575
+ # @param presentation_group_values [Hash{Symbol=>String, nil}]
576
+ # @param pricing_group_values [Hash{Symbol=>String}]
577
+ # @param product_id [String]
578
+ # @param product_tags [Array<String>]
579
+ # @param recurring_commit_ids [Array<String>]
580
+ # @param recurring_credit_ids [Array<String>]
581
+ end
582
+
583
+ class OverrideTier < MetronomeSDK::Internal::Type::BaseModel
584
+ # @!attribute multiplier
585
+ #
586
+ # @return [Float]
587
+ required :multiplier, Float
588
+
589
+ # @!attribute size
590
+ #
591
+ # @return [Float, nil]
592
+ optional :size, Float
593
+
594
+ # @!method initialize(multiplier:, size: nil)
595
+ # @param multiplier [Float]
596
+ # @param size [Float]
597
+ end
598
+
599
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride#overwrite_rate
600
+ class OverwriteRate < MetronomeSDK::Internal::Type::BaseModel
601
+ # @!attribute rate_type
602
+ #
603
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::RateType]
604
+ required :rate_type,
605
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::RateType }
606
+
607
+ # @!attribute credit_type
608
+ #
609
+ # @return [MetronomeSDK::Models::CreditTypeData, nil]
610
+ optional :credit_type, -> { MetronomeSDK::Models::CreditTypeData }
611
+
612
+ # @!attribute custom_rate
613
+ # Only set for CUSTOM rate_type. This field is interpreted by custom rate
614
+ # processors.
615
+ #
616
+ # @return [Hash{Symbol=>Object}, nil]
617
+ optional :custom_rate,
618
+ MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
619
+
620
+ # @!attribute is_prorated
621
+ # Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
622
+ # set to true.
623
+ #
624
+ # @return [Boolean, nil]
625
+ optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
626
+
627
+ # @!attribute price
628
+ # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
629
+ # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
630
+ #
631
+ # @return [Float, nil]
632
+ optional :price, Float
633
+
634
+ # @!attribute quantity
635
+ # Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
636
+ #
637
+ # @return [Float, nil]
638
+ optional :quantity, Float
639
+
640
+ # @!attribute tiers
641
+ # Only set for TIERED rate_type.
642
+ #
643
+ # @return [Array<MetronomeSDK::Models::Tier>, nil]
644
+ optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::Tier] }
645
+
646
+ # @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
647
+ # Some parameter documentations has been truncated, see
648
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate}
649
+ # for more details.
650
+ #
651
+ # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::RateType]
652
+ #
653
+ # @param credit_type [MetronomeSDK::Models::CreditTypeData]
654
+ #
655
+ # @param custom_rate [Hash{Symbol=>Object}] Only set for CUSTOM rate_type. This field is interpreted by custom rate processo
656
+ # ...
657
+ #
658
+ # @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
659
+ # ...
660
+ #
661
+ # @param price [Float] Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, t
662
+ # ...
663
+ #
664
+ # @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
665
+ #
666
+ # @param tiers [Array<MetronomeSDK::Models::Tier>] Only set for TIERED rate_type.
667
+
668
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate#rate_type
669
+ module RateType
670
+ extend MetronomeSDK::Internal::Type::Enum
671
+
672
+ FLAT = :FLAT
673
+ PERCENTAGE = :PERCENTAGE
674
+ SUBSCRIPTION = :SUBSCRIPTION
675
+ TIERED = :TIERED
676
+ CUSTOM = :CUSTOM
677
+
678
+ # @!method self.values
679
+ # @return [Array<Symbol>]
680
+ end
681
+ end
682
+
683
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride#product
684
+ class Product < MetronomeSDK::Internal::Type::BaseModel
685
+ # @!attribute id
686
+ #
687
+ # @return [String]
688
+ required :id, String
689
+
690
+ # @!attribute name
691
+ #
692
+ # @return [String]
693
+ required :name, String
694
+
695
+ # @!method initialize(id:, name:)
696
+ # @param id [String]
697
+ # @param name [String]
698
+ end
699
+
700
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride#target
701
+ module Target
702
+ extend MetronomeSDK::Internal::Type::Enum
703
+
704
+ COMMIT_RATE = :COMMIT_RATE
705
+ LIST_RATE = :LIST_RATE
706
+
707
+ # @!method self.values
708
+ # @return [Array<Symbol>]
709
+ end
710
+
711
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride#type
712
+ module Type
713
+ extend MetronomeSDK::Internal::Type::Enum
714
+
715
+ OVERWRITE = :OVERWRITE
716
+ MULTIPLIER = :MULTIPLIER
717
+ TIERED = :TIERED
718
+
719
+ # @!method self.values
720
+ # @return [Array<Symbol>]
721
+ end
722
+ end
723
+
724
+ class AddRecurringCommit < MetronomeSDK::Internal::Type::BaseModel
725
+ # @!attribute id
726
+ #
727
+ # @return [String]
728
+ required :id, String
729
+
730
+ # @!attribute access_amount
731
+ # The amount of commit to grant.
732
+ #
733
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::AccessAmount]
734
+ required :access_amount,
735
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::AccessAmount }
736
+
737
+ # @!attribute commit_duration
738
+ # The amount of time the created commits will be valid for
739
+ #
740
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::CommitDuration]
741
+ required :commit_duration,
742
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::CommitDuration }
743
+
744
+ # @!attribute priority
745
+ # Will be passed down to the individual commits
746
+ #
747
+ # @return [Float]
748
+ required :priority, Float
749
+
750
+ # @!attribute product
751
+ #
752
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Product]
753
+ required :product,
754
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Product }
755
+
756
+ # @!attribute rate_type
757
+ # Whether the created commits will use the commit rate or list rate
758
+ #
759
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::RateType]
760
+ required :rate_type,
761
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::RateType }
762
+
763
+ # @!attribute starting_at
764
+ # Determines the start time for the first commit
765
+ #
766
+ # @return [Time]
767
+ required :starting_at, Time
768
+
769
+ # @!attribute applicable_product_ids
770
+ # Will be passed down to the individual commits
771
+ #
772
+ # @return [Array<String>, nil]
773
+ optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
774
+
775
+ # @!attribute applicable_product_tags
776
+ # Will be passed down to the individual commits
777
+ #
778
+ # @return [Array<String>, nil]
779
+ optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
780
+
781
+ # @!attribute contract
782
+ #
783
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Contract, nil]
784
+ optional :contract,
785
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Contract }
786
+
787
+ # @!attribute description
788
+ # Will be passed down to the individual commits
789
+ #
790
+ # @return [String, nil]
791
+ optional :description, String
792
+
793
+ # @!attribute ending_before
794
+ # Determines when the contract will stop creating recurring commits. Optional
795
+ #
796
+ # @return [Time, nil]
797
+ optional :ending_before, Time
798
+
799
+ # @!attribute invoice_amount
800
+ # The amount the customer should be billed for the commit. Not required.
801
+ #
802
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::InvoiceAmount, nil]
803
+ optional :invoice_amount,
804
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::InvoiceAmount }
805
+
806
+ # @!attribute name
807
+ # Displayed on invoices. Will be passed through to the individual commits
808
+ #
809
+ # @return [String, nil]
810
+ optional :name, String
811
+
812
+ # @!attribute netsuite_sales_order_id
813
+ # Will be passed down to the individual commits
814
+ #
815
+ # @return [String, nil]
816
+ optional :netsuite_sales_order_id, String
817
+
818
+ # @!attribute proration
819
+ # Determines whether the first and last commit will be prorated. If not provided,
820
+ # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
821
+ #
822
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Proration, nil]
823
+ optional :proration,
824
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Proration }
825
+
826
+ # @!attribute recurrence_frequency
827
+ # The frequency at which the recurring commits will be created. If not provided: -
828
+ # The commits will be created on the usage invoice frequency. If provided: - The
829
+ # period defined in the duration will correspond to this frequency. - Commits will
830
+ # be created aligned with the recurring commit's start_date rather than the usage
831
+ # invoice dates.
832
+ #
833
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::RecurrenceFrequency, nil]
834
+ optional :recurrence_frequency,
835
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::RecurrenceFrequency }
836
+
837
+ # @!attribute rollover_fraction
838
+ # Will be passed down to the individual commits. This controls how much of an
839
+ # individual unexpired commit will roll over upon contract transition. Must be
840
+ # between 0 and 1.
841
+ #
842
+ # @return [Float, nil]
843
+ optional :rollover_fraction, Float
844
+
845
+ # @!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)
846
+ # Some parameter documentations has been truncated, see
847
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit}
848
+ # for more details.
849
+ #
850
+ # @param id [String]
851
+ #
852
+ # @param access_amount [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::AccessAmount] The amount of commit to grant.
853
+ #
854
+ # @param commit_duration [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::CommitDuration] The amount of time the created commits will be valid for
855
+ #
856
+ # @param priority [Float] Will be passed down to the individual commits
857
+ #
858
+ # @param product [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Product]
859
+ #
860
+ # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::RateType] Whether the created commits will use the commit rate or list rate
861
+ #
862
+ # @param starting_at [Time] Determines the start time for the first commit
863
+ #
864
+ # @param applicable_product_ids [Array<String>] Will be passed down to the individual commits
865
+ #
866
+ # @param applicable_product_tags [Array<String>] Will be passed down to the individual commits
867
+ #
868
+ # @param contract [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Contract]
869
+ #
870
+ # @param description [String] Will be passed down to the individual commits
871
+ #
872
+ # @param ending_before [Time] Determines when the contract will stop creating recurring commits. Optional
873
+ #
874
+ # @param invoice_amount [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::InvoiceAmount] The amount the customer should be billed for the commit. Not required.
875
+ #
876
+ # @param name [String] Displayed on invoices. Will be passed through to the individual commits
877
+ #
878
+ # @param netsuite_sales_order_id [String] Will be passed down to the individual commits
879
+ #
880
+ # @param proration [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::Proration] Determines whether the first and last commit will be prorated. If not provided,
881
+ # ...
882
+ #
883
+ # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
884
+ # ...
885
+ #
886
+ # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
887
+ # ...
888
+
889
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit#access_amount
890
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
891
+ # @!attribute credit_type_id
892
+ #
893
+ # @return [String]
894
+ required :credit_type_id, String
895
+
896
+ # @!attribute quantity
897
+ #
898
+ # @return [Float]
899
+ required :quantity, Float
900
+
901
+ # @!attribute unit_price
902
+ #
903
+ # @return [Float]
904
+ required :unit_price, Float
905
+
906
+ # @!method initialize(credit_type_id:, quantity:, unit_price:)
907
+ # The amount of commit to grant.
908
+ #
909
+ # @param credit_type_id [String]
910
+ # @param quantity [Float]
911
+ # @param unit_price [Float]
912
+ end
913
+
914
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit#commit_duration
915
+ class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
916
+ # @!attribute value
917
+ #
918
+ # @return [Float]
919
+ required :value, Float
920
+
921
+ # @!attribute unit
922
+ #
923
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::CommitDuration::Unit, nil]
924
+ optional :unit,
925
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::CommitDuration::Unit }
926
+
927
+ # @!method initialize(value:, unit: nil)
928
+ # The amount of time the created commits will be valid for
929
+ #
930
+ # @param value [Float]
931
+ # @param unit [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::CommitDuration::Unit]
932
+
933
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit::CommitDuration#unit
934
+ module Unit
935
+ extend MetronomeSDK::Internal::Type::Enum
936
+
937
+ PERIODS = :PERIODS
938
+
939
+ # @!method self.values
940
+ # @return [Array<Symbol>]
941
+ end
942
+ end
943
+
944
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit#product
945
+ class Product < MetronomeSDK::Internal::Type::BaseModel
946
+ # @!attribute id
947
+ #
948
+ # @return [String]
949
+ required :id, String
950
+
951
+ # @!attribute name
952
+ #
953
+ # @return [String]
954
+ required :name, String
955
+
956
+ # @!method initialize(id:, name:)
957
+ # @param id [String]
958
+ # @param name [String]
959
+ end
960
+
961
+ # Whether the created commits will use the commit rate or list rate
962
+ #
963
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit#rate_type
964
+ module RateType
965
+ extend MetronomeSDK::Internal::Type::Enum
966
+
967
+ COMMIT_RATE = :COMMIT_RATE
968
+ LIST_RATE = :LIST_RATE
969
+
970
+ # @!method self.values
971
+ # @return [Array<Symbol>]
972
+ end
973
+
974
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit#contract
975
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
976
+ # @!attribute id
977
+ #
978
+ # @return [String]
979
+ required :id, String
980
+
981
+ # @!method initialize(id:)
982
+ # @param id [String]
983
+ end
984
+
985
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit#invoice_amount
986
+ class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
987
+ # @!attribute credit_type_id
988
+ #
989
+ # @return [String]
990
+ required :credit_type_id, String
991
+
992
+ # @!attribute quantity
993
+ #
994
+ # @return [Float]
995
+ required :quantity, Float
996
+
997
+ # @!attribute unit_price
998
+ #
999
+ # @return [Float]
1000
+ required :unit_price, Float
1001
+
1002
+ # @!method initialize(credit_type_id:, quantity:, unit_price:)
1003
+ # The amount the customer should be billed for the commit. Not required.
1004
+ #
1005
+ # @param credit_type_id [String]
1006
+ # @param quantity [Float]
1007
+ # @param unit_price [Float]
1008
+ end
1009
+
1010
+ # Determines whether the first and last commit will be prorated. If not provided,
1011
+ # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
1012
+ #
1013
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit#proration
1014
+ module Proration
1015
+ extend MetronomeSDK::Internal::Type::Enum
1016
+
1017
+ NONE = :NONE
1018
+ FIRST = :FIRST
1019
+ LAST = :LAST
1020
+ FIRST_AND_LAST = :FIRST_AND_LAST
1021
+
1022
+ # @!method self.values
1023
+ # @return [Array<Symbol>]
1024
+ end
1025
+
1026
+ # The frequency at which the recurring commits will be created. If not provided: -
1027
+ # The commits will be created on the usage invoice frequency. If provided: - The
1028
+ # period defined in the duration will correspond to this frequency. - Commits will
1029
+ # be created aligned with the recurring commit's start_date rather than the usage
1030
+ # invoice dates.
1031
+ #
1032
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCommit#recurrence_frequency
1033
+ module RecurrenceFrequency
1034
+ extend MetronomeSDK::Internal::Type::Enum
1035
+
1036
+ MONTHLY = :MONTHLY
1037
+ QUARTERLY = :QUARTERLY
1038
+ ANNUAL = :ANNUAL
1039
+ WEEKLY = :WEEKLY
1040
+
1041
+ # @!method self.values
1042
+ # @return [Array<Symbol>]
1043
+ end
1044
+ end
1045
+
1046
+ class AddRecurringCredit < MetronomeSDK::Internal::Type::BaseModel
1047
+ # @!attribute id
1048
+ #
1049
+ # @return [String]
1050
+ required :id, String
1051
+
1052
+ # @!attribute access_amount
1053
+ # The amount of commit to grant.
1054
+ #
1055
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::AccessAmount]
1056
+ required :access_amount,
1057
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::AccessAmount }
1058
+
1059
+ # @!attribute commit_duration
1060
+ # The amount of time the created commits will be valid for
1061
+ #
1062
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::CommitDuration]
1063
+ required :commit_duration,
1064
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::CommitDuration }
1065
+
1066
+ # @!attribute priority
1067
+ # Will be passed down to the individual commits
1068
+ #
1069
+ # @return [Float]
1070
+ required :priority, Float
1071
+
1072
+ # @!attribute product
1073
+ #
1074
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::Product]
1075
+ required :product,
1076
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::Product }
1077
+
1078
+ # @!attribute rate_type
1079
+ # Whether the created commits will use the commit rate or list rate
1080
+ #
1081
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::RateType]
1082
+ required :rate_type,
1083
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::RateType }
1084
+
1085
+ # @!attribute starting_at
1086
+ # Determines the start time for the first commit
1087
+ #
1088
+ # @return [Time]
1089
+ required :starting_at, Time
1090
+
1091
+ # @!attribute applicable_product_ids
1092
+ # Will be passed down to the individual commits
1093
+ #
1094
+ # @return [Array<String>, nil]
1095
+ optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1096
+
1097
+ # @!attribute applicable_product_tags
1098
+ # Will be passed down to the individual commits
1099
+ #
1100
+ # @return [Array<String>, nil]
1101
+ optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1102
+
1103
+ # @!attribute contract
1104
+ #
1105
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::Contract, nil]
1106
+ optional :contract,
1107
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::Contract }
1108
+
1109
+ # @!attribute description
1110
+ # Will be passed down to the individual commits
1111
+ #
1112
+ # @return [String, nil]
1113
+ optional :description, String
1114
+
1115
+ # @!attribute ending_before
1116
+ # Determines when the contract will stop creating recurring commits. Optional
1117
+ #
1118
+ # @return [Time, nil]
1119
+ optional :ending_before, Time
1120
+
1121
+ # @!attribute name
1122
+ # Displayed on invoices. Will be passed through to the individual commits
1123
+ #
1124
+ # @return [String, nil]
1125
+ optional :name, String
1126
+
1127
+ # @!attribute netsuite_sales_order_id
1128
+ # Will be passed down to the individual commits
1129
+ #
1130
+ # @return [String, nil]
1131
+ optional :netsuite_sales_order_id, String
1132
+
1133
+ # @!attribute proration
1134
+ # Determines whether the first and last commit will be prorated. If not provided,
1135
+ # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
1136
+ #
1137
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::Proration, nil]
1138
+ optional :proration,
1139
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::Proration }
1140
+
1141
+ # @!attribute recurrence_frequency
1142
+ # The frequency at which the recurring commits will be created. If not provided: -
1143
+ # The commits will be created on the usage invoice frequency. If provided: - The
1144
+ # period defined in the duration will correspond to this frequency. - Commits will
1145
+ # be created aligned with the recurring commit's start_date rather than the usage
1146
+ # invoice dates.
1147
+ #
1148
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::RecurrenceFrequency, nil]
1149
+ optional :recurrence_frequency,
1150
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::RecurrenceFrequency }
1151
+
1152
+ # @!attribute rollover_fraction
1153
+ # Will be passed down to the individual commits. This controls how much of an
1154
+ # individual unexpired commit will roll over upon contract transition. Must be
1155
+ # between 0 and 1.
1156
+ #
1157
+ # @return [Float, nil]
1158
+ optional :rollover_fraction, Float
1159
+
1160
+ # @!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)
1161
+ # Some parameter documentations has been truncated, see
1162
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit}
1163
+ # for more details.
1164
+ #
1165
+ # @param id [String]
1166
+ #
1167
+ # @param access_amount [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::AccessAmount] The amount of commit to grant.
1168
+ #
1169
+ # @param commit_duration [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::CommitDuration] The amount of time the created commits will be valid for
1170
+ #
1171
+ # @param priority [Float] Will be passed down to the individual commits
1172
+ #
1173
+ # @param product [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::Product]
1174
+ #
1175
+ # @param rate_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::RateType] Whether the created commits will use the commit rate or list rate
1176
+ #
1177
+ # @param starting_at [Time] Determines the start time for the first commit
1178
+ #
1179
+ # @param applicable_product_ids [Array<String>] Will be passed down to the individual commits
1180
+ #
1181
+ # @param applicable_product_tags [Array<String>] Will be passed down to the individual commits
1182
+ #
1183
+ # @param contract [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::Contract]
1184
+ #
1185
+ # @param description [String] Will be passed down to the individual commits
1186
+ #
1187
+ # @param ending_before [Time] Determines when the contract will stop creating recurring commits. Optional
1188
+ #
1189
+ # @param name [String] Displayed on invoices. Will be passed through to the individual commits
1190
+ #
1191
+ # @param netsuite_sales_order_id [String] Will be passed down to the individual commits
1192
+ #
1193
+ # @param proration [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::Proration] Determines whether the first and last commit will be prorated. If not provided,
1194
+ # ...
1195
+ #
1196
+ # @param recurrence_frequency [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided: -
1197
+ # ...
1198
+ #
1199
+ # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
1200
+ # ...
1201
+
1202
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit#access_amount
1203
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
1204
+ # @!attribute credit_type_id
1205
+ #
1206
+ # @return [String]
1207
+ required :credit_type_id, String
1208
+
1209
+ # @!attribute quantity
1210
+ #
1211
+ # @return [Float]
1212
+ required :quantity, Float
1213
+
1214
+ # @!attribute unit_price
1215
+ #
1216
+ # @return [Float]
1217
+ required :unit_price, Float
1218
+
1219
+ # @!method initialize(credit_type_id:, quantity:, unit_price:)
1220
+ # The amount of commit to grant.
1221
+ #
1222
+ # @param credit_type_id [String]
1223
+ # @param quantity [Float]
1224
+ # @param unit_price [Float]
1225
+ end
1226
+
1227
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit#commit_duration
1228
+ class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
1229
+ # @!attribute value
1230
+ #
1231
+ # @return [Float]
1232
+ required :value, Float
1233
+
1234
+ # @!attribute unit
1235
+ #
1236
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::CommitDuration::Unit, nil]
1237
+ optional :unit,
1238
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::CommitDuration::Unit }
1239
+
1240
+ # @!method initialize(value:, unit: nil)
1241
+ # The amount of time the created commits will be valid for
1242
+ #
1243
+ # @param value [Float]
1244
+ # @param unit [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::CommitDuration::Unit]
1245
+
1246
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit::CommitDuration#unit
1247
+ module Unit
1248
+ extend MetronomeSDK::Internal::Type::Enum
1249
+
1250
+ PERIODS = :PERIODS
1251
+
1252
+ # @!method self.values
1253
+ # @return [Array<Symbol>]
1254
+ end
1255
+ end
1256
+
1257
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit#product
1258
+ class Product < MetronomeSDK::Internal::Type::BaseModel
1259
+ # @!attribute id
1260
+ #
1261
+ # @return [String]
1262
+ required :id, String
1263
+
1264
+ # @!attribute name
1265
+ #
1266
+ # @return [String]
1267
+ required :name, String
1268
+
1269
+ # @!method initialize(id:, name:)
1270
+ # @param id [String]
1271
+ # @param name [String]
1272
+ end
1273
+
1274
+ # Whether the created commits will use the commit rate or list rate
1275
+ #
1276
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit#rate_type
1277
+ module RateType
1278
+ extend MetronomeSDK::Internal::Type::Enum
1279
+
1280
+ COMMIT_RATE = :COMMIT_RATE
1281
+ LIST_RATE = :LIST_RATE
1282
+
1283
+ # @!method self.values
1284
+ # @return [Array<Symbol>]
1285
+ end
1286
+
1287
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit#contract
1288
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
1289
+ # @!attribute id
1290
+ #
1291
+ # @return [String]
1292
+ required :id, String
1293
+
1294
+ # @!method initialize(id:)
1295
+ # @param id [String]
1296
+ end
1297
+
1298
+ # Determines whether the first and last commit will be prorated. If not provided,
1299
+ # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
1300
+ #
1301
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit#proration
1302
+ module Proration
1303
+ extend MetronomeSDK::Internal::Type::Enum
1304
+
1305
+ NONE = :NONE
1306
+ FIRST = :FIRST
1307
+ LAST = :LAST
1308
+ FIRST_AND_LAST = :FIRST_AND_LAST
1309
+
1310
+ # @!method self.values
1311
+ # @return [Array<Symbol>]
1312
+ end
1313
+
1314
+ # The frequency at which the recurring commits will be created. If not provided: -
1315
+ # The commits will be created on the usage invoice frequency. If provided: - The
1316
+ # period defined in the duration will correspond to this frequency. - Commits will
1317
+ # be created aligned with the recurring commit's start_date rather than the usage
1318
+ # invoice dates.
1319
+ #
1320
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddRecurringCredit#recurrence_frequency
1321
+ module RecurrenceFrequency
1322
+ extend MetronomeSDK::Internal::Type::Enum
1323
+
1324
+ MONTHLY = :MONTHLY
1325
+ QUARTERLY = :QUARTERLY
1326
+ ANNUAL = :ANNUAL
1327
+ WEEKLY = :WEEKLY
1328
+
1329
+ # @!method self.values
1330
+ # @return [Array<Symbol>]
1331
+ end
1332
+ end
1333
+
1334
+ class AddResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
1335
+ # @!attribute reseller_type
1336
+ #
1337
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddResellerRoyalty::ResellerType]
1338
+ required :reseller_type,
1339
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddResellerRoyalty::ResellerType }
1340
+
1341
+ # @!attribute applicable_product_ids
1342
+ #
1343
+ # @return [Array<String>, nil]
1344
+ optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1345
+
1346
+ # @!attribute applicable_product_tags
1347
+ #
1348
+ # @return [Array<String>, nil]
1349
+ optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1350
+
1351
+ # @!attribute aws_account_number
1352
+ #
1353
+ # @return [String, nil]
1354
+ optional :aws_account_number, String
1355
+
1356
+ # @!attribute aws_offer_id
1357
+ #
1358
+ # @return [String, nil]
1359
+ optional :aws_offer_id, String
1360
+
1361
+ # @!attribute aws_payer_reference_id
1362
+ #
1363
+ # @return [String, nil]
1364
+ optional :aws_payer_reference_id, String
1365
+
1366
+ # @!attribute ending_before
1367
+ #
1368
+ # @return [Time, nil]
1369
+ optional :ending_before, Time, nil?: true
1370
+
1371
+ # @!attribute fraction
1372
+ #
1373
+ # @return [Float, nil]
1374
+ optional :fraction, Float
1375
+
1376
+ # @!attribute gcp_account_id
1377
+ #
1378
+ # @return [String, nil]
1379
+ optional :gcp_account_id, String
1380
+
1381
+ # @!attribute gcp_offer_id
1382
+ #
1383
+ # @return [String, nil]
1384
+ optional :gcp_offer_id, String
1385
+
1386
+ # @!attribute netsuite_reseller_id
1387
+ #
1388
+ # @return [String, nil]
1389
+ optional :netsuite_reseller_id, String
1390
+
1391
+ # @!attribute reseller_contract_value
1392
+ #
1393
+ # @return [Float, nil]
1394
+ optional :reseller_contract_value, Float
1395
+
1396
+ # @!attribute starting_at
1397
+ #
1398
+ # @return [Time, nil]
1399
+ optional :starting_at, Time
1400
+
1401
+ # @!method initialize(reseller_type:, applicable_product_ids: nil, applicable_product_tags: nil, aws_account_number: nil, aws_offer_id: nil, aws_payer_reference_id: nil, ending_before: nil, fraction: nil, gcp_account_id: nil, gcp_offer_id: nil, netsuite_reseller_id: nil, reseller_contract_value: nil, starting_at: nil)
1402
+ # @param reseller_type [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddResellerRoyalty::ResellerType]
1403
+ # @param applicable_product_ids [Array<String>]
1404
+ # @param applicable_product_tags [Array<String>]
1405
+ # @param aws_account_number [String]
1406
+ # @param aws_offer_id [String]
1407
+ # @param aws_payer_reference_id [String]
1408
+ # @param ending_before [Time, nil]
1409
+ # @param fraction [Float]
1410
+ # @param gcp_account_id [String]
1411
+ # @param gcp_offer_id [String]
1412
+ # @param netsuite_reseller_id [String]
1413
+ # @param reseller_contract_value [Float]
1414
+ # @param starting_at [Time]
1415
+
1416
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddResellerRoyalty#reseller_type
1417
+ module ResellerType
1418
+ extend MetronomeSDK::Internal::Type::Enum
1419
+
1420
+ AWS = :AWS
1421
+ AWS_PRO_SERVICE = :AWS_PRO_SERVICE
1422
+ GCP = :GCP
1423
+ GCP_PRO_SERVICE = :GCP_PRO_SERVICE
1424
+
1425
+ # @!method self.values
1426
+ # @return [Array<Symbol>]
1427
+ end
1428
+ end
1429
+
1430
+ class AddScheduledCharge < MetronomeSDK::Internal::Type::BaseModel
1431
+ # @!attribute id
1432
+ #
1433
+ # @return [String]
1434
+ required :id, String
1435
+
1436
+ # @!attribute product
1437
+ #
1438
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Product]
1439
+ required :product,
1440
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Product }
1441
+
1442
+ # @!attribute schedule
1443
+ #
1444
+ # @return [MetronomeSDK::Models::SchedulePointInTime]
1445
+ required :schedule, -> { MetronomeSDK::Models::SchedulePointInTime }
1446
+
1447
+ # @!attribute name
1448
+ # displayed on invoices
1449
+ #
1450
+ # @return [String, nil]
1451
+ optional :name, String
1452
+
1453
+ # @!attribute netsuite_sales_order_id
1454
+ # This field's availability is dependent on your client's configuration.
1455
+ #
1456
+ # @return [String, nil]
1457
+ optional :netsuite_sales_order_id, String
1458
+
1459
+ # @!method initialize(id:, product:, schedule:, name: nil, netsuite_sales_order_id: nil)
1460
+ # @param id [String]
1461
+ #
1462
+ # @param product [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge::Product]
1463
+ #
1464
+ # @param schedule [MetronomeSDK::Models::SchedulePointInTime]
1465
+ #
1466
+ # @param name [String] displayed on invoices
1467
+ #
1468
+ # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
1469
+
1470
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddScheduledCharge#product
1471
+ class Product < MetronomeSDK::Internal::Type::BaseModel
1472
+ # @!attribute id
1473
+ #
1474
+ # @return [String]
1475
+ required :id, String
1476
+
1477
+ # @!attribute name
1478
+ #
1479
+ # @return [String]
1480
+ required :name, String
1481
+
1482
+ # @!method initialize(id:, name:)
1483
+ # @param id [String]
1484
+ # @param name [String]
1485
+ end
1486
+ end
1487
+
1488
+ class AddUsageFilter < MetronomeSDK::Internal::Type::BaseModel
1489
+ # @!attribute group_key
1490
+ #
1491
+ # @return [String]
1492
+ required :group_key, String
1493
+
1494
+ # @!attribute group_values
1495
+ #
1496
+ # @return [Array<String>]
1497
+ required :group_values, MetronomeSDK::Internal::Type::ArrayOf[String]
1498
+
1499
+ # @!attribute starting_at
1500
+ # This will match contract starting_at value if usage filter is active from the
1501
+ # beginning of the contract.
1502
+ #
1503
+ # @return [Time]
1504
+ required :starting_at, Time
1505
+
1506
+ # @!attribute ending_before
1507
+ # This will match contract ending_before value if usage filter is active until the
1508
+ # end of the contract. It will be undefined if the contract is open-ended.
1509
+ #
1510
+ # @return [Time, nil]
1511
+ optional :ending_before, Time
1512
+
1513
+ # @!method initialize(group_key:, group_values:, starting_at:, ending_before: nil)
1514
+ # Some parameter documentations has been truncated, see
1515
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddUsageFilter}
1516
+ # for more details.
1517
+ #
1518
+ # @param group_key [String]
1519
+ #
1520
+ # @param group_values [Array<String>]
1521
+ #
1522
+ # @param starting_at [Time] This will match contract starting_at value if usage filter is active from the be
1523
+ # ...
1524
+ #
1525
+ # @param ending_before [Time] This will match contract ending_before value if usage filter is active until the
1526
+ # ...
1527
+ end
1528
+
1529
+ class ArchiveCommit < MetronomeSDK::Internal::Type::BaseModel
1530
+ # @!attribute id
1531
+ #
1532
+ # @return [String]
1533
+ required :id, String
1534
+
1535
+ # @!method initialize(id:)
1536
+ # @param id [String]
1537
+ end
1538
+
1539
+ class ArchiveCredit < MetronomeSDK::Internal::Type::BaseModel
1540
+ # @!attribute id
1541
+ #
1542
+ # @return [String]
1543
+ required :id, String
1544
+
1545
+ # @!method initialize(id:)
1546
+ # @param id [String]
1547
+ end
1548
+
1549
+ class ArchiveScheduledCharge < MetronomeSDK::Internal::Type::BaseModel
1550
+ # @!attribute id
1551
+ #
1552
+ # @return [String]
1553
+ required :id, String
1554
+
1555
+ # @!method initialize(id:)
1556
+ # @param id [String]
1557
+ end
1558
+
1559
+ class RemoveOverride < MetronomeSDK::Internal::Type::BaseModel
1560
+ # @!attribute id
1561
+ #
1562
+ # @return [String]
1563
+ required :id, String
1564
+
1565
+ # @!method initialize(id:)
1566
+ # @param id [String]
1567
+ end
1568
+
1569
+ class UpdateCommit < MetronomeSDK::Internal::Type::BaseModel
1570
+ # @!attribute id
1571
+ #
1572
+ # @return [String]
1573
+ required :id, String
1574
+
1575
+ # @!attribute access_schedule
1576
+ #
1577
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::AccessSchedule, nil]
1578
+ optional :access_schedule,
1579
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::AccessSchedule }
1580
+
1581
+ # @!attribute applicable_product_ids
1582
+ # Which products the commit applies to. If both applicable_product_ids and
1583
+ # applicable_product_tags are not provided, the commit applies to all products.
1584
+ #
1585
+ # @return [Array<String>, nil]
1586
+ optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String], nil?: true
1587
+
1588
+ # @!attribute applicable_product_tags
1589
+ # Which tags the commit applies to. If both applicable_product_ids and
1590
+ # applicable_product_tags are not provided, the commit applies to all products.
1591
+ #
1592
+ # @return [Array<String>, nil]
1593
+ optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String], nil?: true
1594
+
1595
+ # @!attribute invoice_schedule
1596
+ #
1597
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::InvoiceSchedule, nil]
1598
+ optional :invoice_schedule,
1599
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::InvoiceSchedule }
1600
+
1601
+ # @!attribute name
1602
+ #
1603
+ # @return [String, nil]
1604
+ optional :name, String
1605
+
1606
+ # @!attribute netsuite_sales_order_id
1607
+ #
1608
+ # @return [String, nil]
1609
+ optional :netsuite_sales_order_id, String, nil?: true
1610
+
1611
+ # @!attribute product_id
1612
+ #
1613
+ # @return [String, nil]
1614
+ optional :product_id, String
1615
+
1616
+ # @!attribute rollover_fraction
1617
+ #
1618
+ # @return [Float, nil]
1619
+ optional :rollover_fraction, Float, nil?: true
1620
+
1621
+ # @!method initialize(id:, access_schedule: nil, applicable_product_ids: nil, applicable_product_tags: nil, invoice_schedule: nil, name: nil, netsuite_sales_order_id: nil, product_id: nil, rollover_fraction: nil)
1622
+ # Some parameter documentations has been truncated, see
1623
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit}
1624
+ # for more details.
1625
+ #
1626
+ # @param id [String]
1627
+ #
1628
+ # @param access_schedule [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::AccessSchedule]
1629
+ #
1630
+ # @param applicable_product_ids [Array<String>, nil] Which products the commit applies to. If both applicable_product_ids and applica
1631
+ # ...
1632
+ #
1633
+ # @param applicable_product_tags [Array<String>, nil] Which tags the commit applies to. If both applicable*product_ids and applicable*
1634
+ # ...
1635
+ #
1636
+ # @param invoice_schedule [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::InvoiceSchedule]
1637
+ #
1638
+ # @param name [String]
1639
+ #
1640
+ # @param netsuite_sales_order_id [String, nil]
1641
+ #
1642
+ # @param product_id [String]
1643
+ #
1644
+ # @param rollover_fraction [Float, nil]
1645
+
1646
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit#access_schedule
1647
+ class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
1648
+ # @!attribute add_schedule_items
1649
+ #
1650
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::AccessSchedule::AddScheduleItem>, nil]
1651
+ optional :add_schedule_items,
1652
+ -> do
1653
+ MetronomeSDK::Internal::Type::ArrayOf[
1654
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::AccessSchedule::AddScheduleItem
1655
+ ]
1656
+ end
1657
+
1658
+ # @!attribute remove_schedule_items
1659
+ #
1660
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::AccessSchedule::RemoveScheduleItem>, nil]
1661
+ optional :remove_schedule_items,
1662
+ -> do
1663
+ MetronomeSDK::Internal::Type::ArrayOf[
1664
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::AccessSchedule::RemoveScheduleItem
1665
+ ]
1666
+ end
1667
+
1668
+ # @!attribute update_schedule_items
1669
+ #
1670
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::AccessSchedule::UpdateScheduleItem>, nil]
1671
+ optional :update_schedule_items,
1672
+ -> do
1673
+ MetronomeSDK::Internal::Type::ArrayOf[
1674
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::AccessSchedule::UpdateScheduleItem
1675
+ ]
1676
+ end
1677
+
1678
+ # @!method initialize(add_schedule_items: nil, remove_schedule_items: nil, update_schedule_items: nil)
1679
+ # @param add_schedule_items [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::AccessSchedule::AddScheduleItem>]
1680
+ # @param remove_schedule_items [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::AccessSchedule::RemoveScheduleItem>]
1681
+ # @param update_schedule_items [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::AccessSchedule::UpdateScheduleItem>]
1682
+
1683
+ class AddScheduleItem < MetronomeSDK::Internal::Type::BaseModel
1684
+ # @!attribute amount
1685
+ #
1686
+ # @return [Float]
1687
+ required :amount, Float
1688
+
1689
+ # @!attribute ending_before
1690
+ # RFC 3339 timestamp (exclusive)
1691
+ #
1692
+ # @return [Time]
1693
+ required :ending_before, Time
1694
+
1695
+ # @!attribute starting_at
1696
+ # RFC 3339 timestamp (inclusive)
1697
+ #
1698
+ # @return [Time]
1699
+ required :starting_at, Time
1700
+
1701
+ # @!method initialize(amount:, ending_before:, starting_at:)
1702
+ # @param amount [Float]
1703
+ #
1704
+ # @param ending_before [Time] RFC 3339 timestamp (exclusive)
1705
+ #
1706
+ # @param starting_at [Time] RFC 3339 timestamp (inclusive)
1707
+ end
1708
+
1709
+ class RemoveScheduleItem < MetronomeSDK::Internal::Type::BaseModel
1710
+ # @!attribute id
1711
+ #
1712
+ # @return [String]
1713
+ required :id, String
1714
+
1715
+ # @!method initialize(id:)
1716
+ # @param id [String]
1717
+ end
1718
+
1719
+ class UpdateScheduleItem < MetronomeSDK::Internal::Type::BaseModel
1720
+ # @!attribute id
1721
+ #
1722
+ # @return [String]
1723
+ required :id, String
1724
+
1725
+ # @!attribute amount
1726
+ #
1727
+ # @return [Float, nil]
1728
+ optional :amount, Float
1729
+
1730
+ # @!attribute ending_before
1731
+ # RFC 3339 timestamp (exclusive)
1732
+ #
1733
+ # @return [Time, nil]
1734
+ optional :ending_before, Time
1735
+
1736
+ # @!attribute starting_at
1737
+ # RFC 3339 timestamp (inclusive)
1738
+ #
1739
+ # @return [Time, nil]
1740
+ optional :starting_at, Time
1741
+
1742
+ # @!method initialize(id:, amount: nil, ending_before: nil, starting_at: nil)
1743
+ # @param id [String]
1744
+ #
1745
+ # @param amount [Float]
1746
+ #
1747
+ # @param ending_before [Time] RFC 3339 timestamp (exclusive)
1748
+ #
1749
+ # @param starting_at [Time] RFC 3339 timestamp (inclusive)
1750
+ end
1751
+ end
1752
+
1753
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit#invoice_schedule
1754
+ class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
1755
+ # @!attribute add_schedule_items
1756
+ #
1757
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::InvoiceSchedule::AddScheduleItem>, nil]
1758
+ optional :add_schedule_items,
1759
+ -> do
1760
+ MetronomeSDK::Internal::Type::ArrayOf[
1761
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::InvoiceSchedule::AddScheduleItem
1762
+ ]
1763
+ end
1764
+
1765
+ # @!attribute remove_schedule_items
1766
+ #
1767
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::InvoiceSchedule::RemoveScheduleItem>, nil]
1768
+ optional :remove_schedule_items,
1769
+ -> do
1770
+ MetronomeSDK::Internal::Type::ArrayOf[
1771
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::InvoiceSchedule::RemoveScheduleItem
1772
+ ]
1773
+ end
1774
+
1775
+ # @!attribute update_schedule_items
1776
+ #
1777
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::InvoiceSchedule::UpdateScheduleItem>, nil]
1778
+ optional :update_schedule_items,
1779
+ -> do
1780
+ MetronomeSDK::Internal::Type::ArrayOf[
1781
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::InvoiceSchedule::UpdateScheduleItem
1782
+ ]
1783
+ end
1784
+
1785
+ # @!method initialize(add_schedule_items: nil, remove_schedule_items: nil, update_schedule_items: nil)
1786
+ # @param add_schedule_items [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::InvoiceSchedule::AddScheduleItem>]
1787
+ # @param remove_schedule_items [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::InvoiceSchedule::RemoveScheduleItem>]
1788
+ # @param update_schedule_items [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCommit::InvoiceSchedule::UpdateScheduleItem>]
1789
+
1790
+ class AddScheduleItem < MetronomeSDK::Internal::Type::BaseModel
1791
+ # @!attribute timestamp
1792
+ #
1793
+ # @return [Time]
1794
+ required :timestamp, Time
1795
+
1796
+ # @!attribute amount
1797
+ #
1798
+ # @return [Float, nil]
1799
+ optional :amount, Float
1800
+
1801
+ # @!attribute quantity
1802
+ #
1803
+ # @return [Float, nil]
1804
+ optional :quantity, Float
1805
+
1806
+ # @!attribute unit_price
1807
+ #
1808
+ # @return [Float, nil]
1809
+ optional :unit_price, Float
1810
+
1811
+ # @!method initialize(timestamp:, amount: nil, quantity: nil, unit_price: nil)
1812
+ # @param timestamp [Time]
1813
+ # @param amount [Float]
1814
+ # @param quantity [Float]
1815
+ # @param unit_price [Float]
1816
+ end
1817
+
1818
+ class RemoveScheduleItem < MetronomeSDK::Internal::Type::BaseModel
1819
+ # @!attribute id
1820
+ #
1821
+ # @return [String]
1822
+ required :id, String
1823
+
1824
+ # @!method initialize(id:)
1825
+ # @param id [String]
1826
+ end
1827
+
1828
+ class UpdateScheduleItem < MetronomeSDK::Internal::Type::BaseModel
1829
+ # @!attribute id
1830
+ #
1831
+ # @return [String]
1832
+ required :id, String
1833
+
1834
+ # @!attribute amount
1835
+ #
1836
+ # @return [Float, nil]
1837
+ optional :amount, Float
1838
+
1839
+ # @!attribute quantity
1840
+ #
1841
+ # @return [Float, nil]
1842
+ optional :quantity, Float
1843
+
1844
+ # @!attribute timestamp
1845
+ #
1846
+ # @return [Time, nil]
1847
+ optional :timestamp, Time
1848
+
1849
+ # @!attribute unit_price
1850
+ #
1851
+ # @return [Float, nil]
1852
+ optional :unit_price, Float
1853
+
1854
+ # @!method initialize(id:, amount: nil, quantity: nil, timestamp: nil, unit_price: nil)
1855
+ # @param id [String]
1856
+ # @param amount [Float]
1857
+ # @param quantity [Float]
1858
+ # @param timestamp [Time]
1859
+ # @param unit_price [Float]
1860
+ end
1861
+ end
1862
+ end
1863
+
1864
+ class UpdateCredit < MetronomeSDK::Internal::Type::BaseModel
1865
+ # @!attribute id
1866
+ #
1867
+ # @return [String]
1868
+ required :id, String
1869
+
1870
+ # @!attribute access_schedule
1871
+ #
1872
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::AccessSchedule, nil]
1873
+ optional :access_schedule,
1874
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::AccessSchedule }
1875
+
1876
+ # @!attribute name
1877
+ #
1878
+ # @return [String, nil]
1879
+ optional :name, String
1880
+
1881
+ # @!attribute netsuite_sales_order_id
1882
+ #
1883
+ # @return [String, nil]
1884
+ optional :netsuite_sales_order_id, String, nil?: true
1885
+
1886
+ # @!attribute rollover_fraction
1887
+ #
1888
+ # @return [Float, nil]
1889
+ optional :rollover_fraction, Float, nil?: true
1890
+
1891
+ # @!method initialize(id:, access_schedule: nil, name: nil, netsuite_sales_order_id: nil, rollover_fraction: nil)
1892
+ # @param id [String]
1893
+ # @param access_schedule [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::AccessSchedule]
1894
+ # @param name [String]
1895
+ # @param netsuite_sales_order_id [String, nil]
1896
+ # @param rollover_fraction [Float, nil]
1897
+
1898
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit#access_schedule
1899
+ class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
1900
+ # @!attribute add_schedule_items
1901
+ #
1902
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::AccessSchedule::AddScheduleItem>, nil]
1903
+ optional :add_schedule_items,
1904
+ -> do
1905
+ MetronomeSDK::Internal::Type::ArrayOf[
1906
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::AccessSchedule::AddScheduleItem
1907
+ ]
1908
+ end
1909
+
1910
+ # @!attribute remove_schedule_items
1911
+ #
1912
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::AccessSchedule::RemoveScheduleItem>, nil]
1913
+ optional :remove_schedule_items,
1914
+ -> do
1915
+ MetronomeSDK::Internal::Type::ArrayOf[
1916
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::AccessSchedule::RemoveScheduleItem
1917
+ ]
1918
+ end
1919
+
1920
+ # @!attribute update_schedule_items
1921
+ #
1922
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::AccessSchedule::UpdateScheduleItem>, nil]
1923
+ optional :update_schedule_items,
1924
+ -> do
1925
+ MetronomeSDK::Internal::Type::ArrayOf[
1926
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::AccessSchedule::UpdateScheduleItem
1927
+ ]
1928
+ end
1929
+
1930
+ # @!method initialize(add_schedule_items: nil, remove_schedule_items: nil, update_schedule_items: nil)
1931
+ # @param add_schedule_items [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::AccessSchedule::AddScheduleItem>]
1932
+ # @param remove_schedule_items [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::AccessSchedule::RemoveScheduleItem>]
1933
+ # @param update_schedule_items [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateCredit::AccessSchedule::UpdateScheduleItem>]
1934
+
1935
+ class AddScheduleItem < MetronomeSDK::Internal::Type::BaseModel
1936
+ # @!attribute amount
1937
+ #
1938
+ # @return [Float]
1939
+ required :amount, Float
1940
+
1941
+ # @!attribute ending_before
1942
+ # RFC 3339 timestamp (exclusive)
1943
+ #
1944
+ # @return [Time]
1945
+ required :ending_before, Time
1946
+
1947
+ # @!attribute starting_at
1948
+ # RFC 3339 timestamp (inclusive)
1949
+ #
1950
+ # @return [Time]
1951
+ required :starting_at, Time
1952
+
1953
+ # @!method initialize(amount:, ending_before:, starting_at:)
1954
+ # @param amount [Float]
1955
+ #
1956
+ # @param ending_before [Time] RFC 3339 timestamp (exclusive)
1957
+ #
1958
+ # @param starting_at [Time] RFC 3339 timestamp (inclusive)
1959
+ end
1960
+
1961
+ class RemoveScheduleItem < MetronomeSDK::Internal::Type::BaseModel
1962
+ # @!attribute id
1963
+ #
1964
+ # @return [String]
1965
+ required :id, String
1966
+
1967
+ # @!method initialize(id:)
1968
+ # @param id [String]
1969
+ end
1970
+
1971
+ class UpdateScheduleItem < MetronomeSDK::Internal::Type::BaseModel
1972
+ # @!attribute id
1973
+ #
1974
+ # @return [String]
1975
+ required :id, String
1976
+
1977
+ # @!attribute amount
1978
+ #
1979
+ # @return [Float, nil]
1980
+ optional :amount, Float
1981
+
1982
+ # @!attribute ending_before
1983
+ # RFC 3339 timestamp (exclusive)
1984
+ #
1985
+ # @return [Time, nil]
1986
+ optional :ending_before, Time
1987
+
1988
+ # @!attribute starting_at
1989
+ # RFC 3339 timestamp (inclusive)
1990
+ #
1991
+ # @return [Time, nil]
1992
+ optional :starting_at, Time
1993
+
1994
+ # @!method initialize(id:, amount: nil, ending_before: nil, starting_at: nil)
1995
+ # @param id [String]
1996
+ #
1997
+ # @param amount [Float]
1998
+ #
1999
+ # @param ending_before [Time] RFC 3339 timestamp (exclusive)
2000
+ #
2001
+ # @param starting_at [Time] RFC 3339 timestamp (inclusive)
2002
+ end
2003
+ end
2004
+ end
2005
+
2006
+ class UpdateDiscount < MetronomeSDK::Internal::Type::BaseModel
2007
+ # @!attribute id
2008
+ #
2009
+ # @return [String]
2010
+ required :id, String
2011
+
2012
+ # @!attribute custom_fields
2013
+ #
2014
+ # @return [Hash{Symbol=>String}, nil]
2015
+ optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
2016
+
2017
+ # @!attribute name
2018
+ #
2019
+ # @return [String, nil]
2020
+ optional :name, String
2021
+
2022
+ # @!attribute netsuite_sales_order_id
2023
+ #
2024
+ # @return [String, nil]
2025
+ optional :netsuite_sales_order_id, String
2026
+
2027
+ # @!attribute schedule
2028
+ # Must provide either schedule_items or recurring_schedule.
2029
+ #
2030
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount::Schedule, nil]
2031
+ optional :schedule,
2032
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount::Schedule }
2033
+
2034
+ # @!method initialize(id:, custom_fields: nil, name: nil, netsuite_sales_order_id: nil, schedule: nil)
2035
+ # @param id [String]
2036
+ #
2037
+ # @param custom_fields [Hash{Symbol=>String}]
2038
+ #
2039
+ # @param name [String]
2040
+ #
2041
+ # @param netsuite_sales_order_id [String]
2042
+ #
2043
+ # @param schedule [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount::Schedule] Must provide either schedule_items or recurring_schedule.
2044
+
2045
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount#schedule
2046
+ class Schedule < MetronomeSDK::Internal::Type::BaseModel
2047
+ # @!attribute credit_type_id
2048
+ # Defaults to USD if not passed. Only USD is supported at this time.
2049
+ #
2050
+ # @return [String, nil]
2051
+ optional :credit_type_id, String
2052
+
2053
+ # @!attribute recurring_schedule
2054
+ # Enter the unit price and quantity for the charge or instead only send the
2055
+ # amount. If amount is sent, the unit price is assumed to be the amount and
2056
+ # quantity is inferred to be 1.
2057
+ #
2058
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount::Schedule::RecurringSchedule, nil]
2059
+ optional :recurring_schedule,
2060
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount::Schedule::RecurringSchedule }
2061
+
2062
+ # @!attribute schedule_items
2063
+ # Either provide amount or provide both unit_price and quantity.
2064
+ #
2065
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount::Schedule::ScheduleItem>, nil]
2066
+ optional :schedule_items,
2067
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount::Schedule::ScheduleItem] }
2068
+
2069
+ # @!method initialize(credit_type_id: nil, recurring_schedule: nil, schedule_items: nil)
2070
+ # Some parameter documentations has been truncated, see
2071
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount::Schedule}
2072
+ # for more details.
2073
+ #
2074
+ # Must provide either schedule_items or recurring_schedule.
2075
+ #
2076
+ # @param credit_type_id [String] Defaults to USD if not passed. Only USD is supported at this time.
2077
+ #
2078
+ # @param recurring_schedule [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount::Schedule::RecurringSchedule] Enter the unit price and quantity for the charge or instead only send the amount
2079
+ # ...
2080
+ #
2081
+ # @param schedule_items [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount::Schedule::ScheduleItem>] Either provide amount or provide both unit_price and quantity.
2082
+
2083
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount::Schedule#recurring_schedule
2084
+ class RecurringSchedule < MetronomeSDK::Internal::Type::BaseModel
2085
+ # @!attribute amount_distribution
2086
+ #
2087
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount::Schedule::RecurringSchedule::AmountDistribution]
2088
+ required :amount_distribution,
2089
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount::Schedule::RecurringSchedule::AmountDistribution }
2090
+
2091
+ # @!attribute ending_before
2092
+ # RFC 3339 timestamp (exclusive).
2093
+ #
2094
+ # @return [Time]
2095
+ required :ending_before, Time
2096
+
2097
+ # @!attribute frequency
2098
+ #
2099
+ # @return [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount::Schedule::RecurringSchedule::Frequency]
2100
+ required :frequency,
2101
+ enum: -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount::Schedule::RecurringSchedule::Frequency }
2102
+
2103
+ # @!attribute starting_at
2104
+ # RFC 3339 timestamp (inclusive).
2105
+ #
2106
+ # @return [Time]
2107
+ required :starting_at, Time
2108
+
2109
+ # @!attribute amount
2110
+ # Amount for the charge. Can be provided instead of unit_price and quantity. If
2111
+ # amount is sent, the unit_price is assumed to be the amount and quantity is
2112
+ # inferred to be 1.
2113
+ #
2114
+ # @return [Float, nil]
2115
+ optional :amount, Float
2116
+
2117
+ # @!attribute quantity
2118
+ # Quantity for the charge. Will be multiplied by unit_price to determine the
2119
+ # amount and must be specified with unit_price. If specified amount cannot be
2120
+ # provided.
2121
+ #
2122
+ # @return [Float, nil]
2123
+ optional :quantity, Float
2124
+
2125
+ # @!attribute unit_price
2126
+ # Unit price for the charge. Will be multiplied by quantity to determine the
2127
+ # amount and must be specified with quantity. If specified amount cannot be
2128
+ # provided.
2129
+ #
2130
+ # @return [Float, nil]
2131
+ optional :unit_price, Float
2132
+
2133
+ # @!method initialize(amount_distribution:, ending_before:, frequency:, starting_at:, amount: nil, quantity: nil, unit_price: nil)
2134
+ # Some parameter documentations has been truncated, see
2135
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount::Schedule::RecurringSchedule}
2136
+ # for more details.
2137
+ #
2138
+ # Enter the unit price and quantity for the charge or instead only send the
2139
+ # amount. If amount is sent, the unit price is assumed to be the amount and
2140
+ # quantity is inferred to be 1.
2141
+ #
2142
+ # @param amount_distribution [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount::Schedule::RecurringSchedule::AmountDistribution]
2143
+ #
2144
+ # @param ending_before [Time] RFC 3339 timestamp (exclusive).
2145
+ #
2146
+ # @param frequency [Symbol, MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount::Schedule::RecurringSchedule::Frequency]
2147
+ #
2148
+ # @param starting_at [Time] RFC 3339 timestamp (inclusive).
2149
+ #
2150
+ # @param amount [Float] Amount for the charge. Can be provided instead of unit_price and quantity. If am
2151
+ # ...
2152
+ #
2153
+ # @param quantity [Float] Quantity for the charge. Will be multiplied by unit_price to determine the amoun
2154
+ # ...
2155
+ #
2156
+ # @param unit_price [Float] Unit price for the charge. Will be multiplied by quantity to determine the amoun
2157
+ # ...
2158
+
2159
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount::Schedule::RecurringSchedule#amount_distribution
2160
+ module AmountDistribution
2161
+ extend MetronomeSDK::Internal::Type::Enum
2162
+
2163
+ DIVIDED = :DIVIDED
2164
+ DIVIDED_ROUNDED = :DIVIDED_ROUNDED
2165
+ EACH = :EACH
2166
+
2167
+ # @!method self.values
2168
+ # @return [Array<Symbol>]
2169
+ end
2170
+
2171
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount::Schedule::RecurringSchedule#frequency
2172
+ module Frequency
2173
+ extend MetronomeSDK::Internal::Type::Enum
2174
+
2175
+ MONTHLY = :MONTHLY
2176
+ QUARTERLY = :QUARTERLY
2177
+ SEMI_ANNUAL = :SEMI_ANNUAL
2178
+ ANNUAL = :ANNUAL
2179
+ WEEKLY = :WEEKLY
2180
+
2181
+ # @!method self.values
2182
+ # @return [Array<Symbol>]
2183
+ end
2184
+ end
2185
+
2186
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2187
+ # @!attribute timestamp
2188
+ # timestamp of the scheduled event
2189
+ #
2190
+ # @return [Time]
2191
+ required :timestamp, Time
2192
+
2193
+ # @!attribute amount
2194
+ # Amount for the charge. Can be provided instead of unit_price and quantity. If
2195
+ # amount is sent, the unit_price is assumed to be the amount and quantity is
2196
+ # inferred to be 1.
2197
+ #
2198
+ # @return [Float, nil]
2199
+ optional :amount, Float
2200
+
2201
+ # @!attribute quantity
2202
+ # Quantity for the charge. Will be multiplied by unit_price to determine the
2203
+ # amount and must be specified with unit_price. If specified amount cannot be
2204
+ # provided.
2205
+ #
2206
+ # @return [Float, nil]
2207
+ optional :quantity, Float
2208
+
2209
+ # @!attribute unit_price
2210
+ # Unit price for the charge. Will be multiplied by quantity to determine the
2211
+ # amount and must be specified with quantity. If specified amount cannot be
2212
+ # provided.
2213
+ #
2214
+ # @return [Float, nil]
2215
+ optional :unit_price, Float
2216
+
2217
+ # @!method initialize(timestamp:, amount: nil, quantity: nil, unit_price: nil)
2218
+ # Some parameter documentations has been truncated, see
2219
+ # {MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateDiscount::Schedule::ScheduleItem}
2220
+ # for more details.
2221
+ #
2222
+ # @param timestamp [Time] timestamp of the scheduled event
2223
+ #
2224
+ # @param amount [Float] Amount for the charge. Can be provided instead of unit_price and quantity. If am
2225
+ # ...
2226
+ #
2227
+ # @param quantity [Float] Quantity for the charge. Will be multiplied by unit_price to determine the amoun
2228
+ # ...
2229
+ #
2230
+ # @param unit_price [Float] Unit price for the charge. Will be multiplied by quantity to determine the amoun
2231
+ # ...
2232
+ end
2233
+ end
2234
+ end
2235
+
2236
+ class UpdateRefundInvoice < MetronomeSDK::Internal::Type::BaseModel
2237
+ # @!attribute date
2238
+ #
2239
+ # @return [Time]
2240
+ required :date, Time
2241
+
2242
+ # @!attribute invoice_id
2243
+ #
2244
+ # @return [String]
2245
+ required :invoice_id, String
2246
+
2247
+ # @!method initialize(date:, invoice_id:)
2248
+ # @param date [Time]
2249
+ # @param invoice_id [String]
2250
+ end
2251
+
2252
+ class UpdateScheduledCharge < MetronomeSDK::Internal::Type::BaseModel
2253
+ # @!attribute id
2254
+ #
2255
+ # @return [String]
2256
+ required :id, String
2257
+
2258
+ # @!attribute invoice_schedule
2259
+ #
2260
+ # @return [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateScheduledCharge::InvoiceSchedule, nil]
2261
+ optional :invoice_schedule,
2262
+ -> { MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateScheduledCharge::InvoiceSchedule }
2263
+
2264
+ # @!attribute name
2265
+ #
2266
+ # @return [String, nil]
2267
+ optional :name, String
2268
+
2269
+ # @!attribute netsuite_sales_order_id
2270
+ #
2271
+ # @return [String, nil]
2272
+ optional :netsuite_sales_order_id, String, nil?: true
2273
+
2274
+ # @!method initialize(id:, invoice_schedule: nil, name: nil, netsuite_sales_order_id: nil)
2275
+ # @param id [String]
2276
+ # @param invoice_schedule [MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateScheduledCharge::InvoiceSchedule]
2277
+ # @param name [String]
2278
+ # @param netsuite_sales_order_id [String, nil]
2279
+
2280
+ # @see MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateScheduledCharge#invoice_schedule
2281
+ class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
2282
+ # @!attribute add_schedule_items
2283
+ #
2284
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateScheduledCharge::InvoiceSchedule::AddScheduleItem>, nil]
2285
+ optional :add_schedule_items,
2286
+ -> do
2287
+ MetronomeSDK::Internal::Type::ArrayOf[
2288
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateScheduledCharge::InvoiceSchedule::AddScheduleItem
2289
+ ]
2290
+ end
2291
+
2292
+ # @!attribute remove_schedule_items
2293
+ #
2294
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateScheduledCharge::InvoiceSchedule::RemoveScheduleItem>, nil]
2295
+ optional :remove_schedule_items,
2296
+ -> do
2297
+ MetronomeSDK::Internal::Type::ArrayOf[
2298
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateScheduledCharge::InvoiceSchedule::RemoveScheduleItem
2299
+ ]
2300
+ end
2301
+
2302
+ # @!attribute update_schedule_items
2303
+ #
2304
+ # @return [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateScheduledCharge::InvoiceSchedule::UpdateScheduleItem>, nil]
2305
+ optional :update_schedule_items,
2306
+ -> do
2307
+ MetronomeSDK::Internal::Type::ArrayOf[
2308
+ MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateScheduledCharge::InvoiceSchedule::UpdateScheduleItem
2309
+ ]
2310
+ end
2311
+
2312
+ # @!method initialize(add_schedule_items: nil, remove_schedule_items: nil, update_schedule_items: nil)
2313
+ # @param add_schedule_items [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateScheduledCharge::InvoiceSchedule::AddScheduleItem>]
2314
+ # @param remove_schedule_items [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateScheduledCharge::InvoiceSchedule::RemoveScheduleItem>]
2315
+ # @param update_schedule_items [Array<MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::UpdateScheduledCharge::InvoiceSchedule::UpdateScheduleItem>]
2316
+
2317
+ class AddScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2318
+ # @!attribute timestamp
2319
+ #
2320
+ # @return [Time]
2321
+ required :timestamp, Time
2322
+
2323
+ # @!attribute amount
2324
+ #
2325
+ # @return [Float, nil]
2326
+ optional :amount, Float
2327
+
2328
+ # @!attribute quantity
2329
+ #
2330
+ # @return [Float, nil]
2331
+ optional :quantity, Float
2332
+
2333
+ # @!attribute unit_price
2334
+ #
2335
+ # @return [Float, nil]
2336
+ optional :unit_price, Float
2337
+
2338
+ # @!method initialize(timestamp:, amount: nil, quantity: nil, unit_price: nil)
2339
+ # @param timestamp [Time]
2340
+ # @param amount [Float]
2341
+ # @param quantity [Float]
2342
+ # @param unit_price [Float]
2343
+ end
2344
+
2345
+ class RemoveScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2346
+ # @!attribute id
2347
+ #
2348
+ # @return [String]
2349
+ required :id, String
2350
+
2351
+ # @!method initialize(id:)
2352
+ # @param id [String]
2353
+ end
2354
+
2355
+ class UpdateScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2356
+ # @!attribute id
2357
+ #
2358
+ # @return [String]
2359
+ required :id, String
2360
+
2361
+ # @!attribute amount
2362
+ #
2363
+ # @return [Float, nil]
2364
+ optional :amount, Float
2365
+
2366
+ # @!attribute quantity
2367
+ #
2368
+ # @return [Float, nil]
2369
+ optional :quantity, Float
2370
+
2371
+ # @!attribute timestamp
2372
+ #
2373
+ # @return [Time, nil]
2374
+ optional :timestamp, Time
2375
+
2376
+ # @!attribute unit_price
2377
+ #
2378
+ # @return [Float, nil]
2379
+ optional :unit_price, Float
2380
+
2381
+ # @!method initialize(id:, amount: nil, quantity: nil, timestamp: nil, unit_price: nil)
2382
+ # @param id [String]
2383
+ # @param amount [Float]
2384
+ # @param quantity [Float]
2385
+ # @param timestamp [Time]
2386
+ # @param unit_price [Float]
2387
+ end
2388
+ end
2389
+ end
2390
+ end
2391
+ end
2392
+ end
2393
+ end
2394
+ end