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