metronome-sdk 0.1.0.pre.alpha.1 → 0.1.0.pre.alpha.2

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 (697) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +52 -0
  3. data/README.md +22 -11
  4. data/lib/metronome_sdk/errors.rb +1 -1
  5. data/lib/metronome_sdk/file_part.rb +2 -2
  6. data/lib/metronome_sdk/internal/cursor_page.rb +3 -3
  7. data/lib/metronome_sdk/internal/transport/base_client.rb +80 -8
  8. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +14 -0
  9. data/lib/metronome_sdk/internal/type/array_of.rb +1 -1
  10. data/lib/metronome_sdk/internal/type/base_model.rb +63 -39
  11. data/lib/metronome_sdk/internal/type/converter.rb +18 -0
  12. data/lib/metronome_sdk/internal/type/enum.rb +1 -0
  13. data/lib/metronome_sdk/internal/type/hash_of.rb +1 -1
  14. data/lib/metronome_sdk/internal/type/request_parameters.rb +6 -12
  15. data/lib/metronome_sdk/internal/type/union.rb +1 -0
  16. data/lib/metronome_sdk/internal/util.rb +77 -5
  17. data/lib/metronome_sdk/internal.rb +6 -0
  18. data/lib/metronome_sdk/models/commit.rb +129 -110
  19. data/lib/metronome_sdk/models/contract_without_amendments.rb +245 -239
  20. data/lib/metronome_sdk/models/credit.rb +68 -60
  21. data/lib/metronome_sdk/models/discount.rb +7 -7
  22. data/lib/metronome_sdk/models/event_type_filter.rb +1 -3
  23. data/lib/metronome_sdk/models/override.rb +45 -51
  24. data/lib/metronome_sdk/models/pro_service.rb +2 -4
  25. data/lib/metronome_sdk/models/property_filter.rb +1 -4
  26. data/lib/metronome_sdk/models/rate.rb +12 -17
  27. data/lib/metronome_sdk/models/schedule_duration.rb +6 -6
  28. data/lib/metronome_sdk/models/schedule_point_in_time.rb +6 -6
  29. data/lib/metronome_sdk/models/scheduled_charge.rb +7 -7
  30. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +3 -3
  31. data/lib/metronome_sdk/models/v1/alert_create_params.rb +15 -23
  32. data/lib/metronome_sdk/models/v1/alert_create_response.rb +3 -3
  33. data/lib/metronome_sdk/models/v1/audit_log_list_params.rb +3 -6
  34. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +3 -3
  35. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +9 -15
  36. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +3 -3
  37. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +6 -11
  38. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +8 -10
  39. data/lib/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rb +0 -2
  40. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +229 -234
  41. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +3 -3
  42. data/lib/metronome_sdk/models/v1/contract_archive_params.rb +0 -1
  43. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +3 -3
  44. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +27 -21
  45. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +3 -3
  46. data/lib/metronome_sdk/models/v1/contract_create_params.rb +625 -622
  47. data/lib/metronome_sdk/models/v1/contract_create_response.rb +3 -3
  48. data/lib/metronome_sdk/models/v1/contract_list_balances_params.rb +0 -2
  49. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +9 -5
  50. data/lib/metronome_sdk/models/v1/contract_list_params.rb +0 -4
  51. data/lib/metronome_sdk/models/v1/contract_list_response.rb +424 -29
  52. data/lib/metronome_sdk/models/v1/contract_retrieve_params.rb +0 -2
  53. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +7 -10
  54. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +9 -10
  55. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +424 -29
  56. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +7 -7
  57. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +3 -3
  58. data/lib/metronome_sdk/models/v1/contract_update_end_date_params.rb +0 -2
  59. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +3 -3
  60. data/lib/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rb +0 -1
  61. data/lib/metronome_sdk/models/v1/contracts/named_schedule_update_params.rb +0 -1
  62. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +3 -3
  63. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +9 -15
  64. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +3 -3
  65. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +7 -11
  66. data/lib/metronome_sdk/models/v1/contracts/product_list_params.rb +3 -4
  67. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +12 -16
  68. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +16 -16
  69. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +6 -18
  70. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +3 -3
  71. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +4 -4
  72. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +6 -4
  73. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_params.rb +18 -0
  74. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +20 -0
  75. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +10 -8
  76. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +3 -3
  77. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +6 -6
  78. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +7 -9
  79. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +6 -7
  80. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +6 -6
  81. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +5 -4
  82. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +3 -3
  83. data/lib/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rb +0 -1
  84. data/lib/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rb +0 -1
  85. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +3 -3
  86. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +5 -3
  87. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +3 -3
  88. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +29 -30
  89. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +3 -3
  90. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +18 -23
  91. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +9 -15
  92. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +7 -9
  93. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +6 -7
  94. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +26 -24
  95. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +3 -3
  96. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +3 -3
  97. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +0 -4
  98. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +11 -15
  99. data/lib/metronome_sdk/models/v1/credit_grant_list_params.rb +0 -3
  100. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +14 -18
  101. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +3 -3
  102. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +1 -3
  103. data/lib/metronome_sdk/models/v1/custom_field_add_key_params.rb +3 -3
  104. data/lib/metronome_sdk/models/v1/custom_field_delete_values_params.rb +3 -3
  105. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +5 -3
  106. data/lib/metronome_sdk/models/v1/custom_field_remove_key_params.rb +3 -3
  107. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +3 -3
  108. data/lib/metronome_sdk/models/v1/customer.rb +1 -3
  109. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +3 -3
  110. data/lib/metronome_sdk/models/v1/customer_create_params.rb +33 -32
  111. data/lib/metronome_sdk/models/v1/customer_create_response.rb +3 -3
  112. data/lib/metronome_sdk/models/v1/customer_detail.rb +13 -16
  113. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_params.rb +0 -1
  114. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +6 -11
  115. data/lib/metronome_sdk/models/v1/customer_list_params.rb +0 -2
  116. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +3 -3
  117. data/lib/metronome_sdk/models/v1/customer_set_name_params.rb +0 -1
  118. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +3 -3
  119. data/lib/metronome_sdk/models/v1/customer_update_config_params.rb +0 -1
  120. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +5 -4
  121. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +5 -3
  122. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +26 -1
  123. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +3 -3
  124. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +9 -11
  125. data/lib/metronome_sdk/models/v1/customers/billing_config_delete_params.rb +3 -3
  126. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rb +3 -3
  127. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +0 -3
  128. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +44 -51
  129. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +3 -3
  130. data/lib/metronome_sdk/models/v1/customers/commit_list_params.rb +0 -2
  131. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +3 -3
  132. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_params.rb +0 -2
  133. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +3 -3
  134. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +11 -14
  135. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +3 -3
  136. data/lib/metronome_sdk/models/v1/customers/credit_list_params.rb +0 -2
  137. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +3 -3
  138. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_params.rb +0 -1
  139. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +3 -3
  140. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +38 -37
  141. data/lib/metronome_sdk/models/v1/customers/invoice.rb +137 -118
  142. data/lib/metronome_sdk/models/v1/customers/invoice_add_charge_params.rb +0 -2
  143. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +8 -10
  144. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +3 -6
  145. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +3 -3
  146. data/lib/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rb +0 -1
  147. data/lib/metronome_sdk/models/v1/customers/named_schedule_update_params.rb +0 -1
  148. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +24 -30
  149. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +3 -3
  150. data/lib/metronome_sdk/models/v1/customers/plan_end_params.rb +0 -3
  151. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +3 -3
  152. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +24 -20
  153. data/lib/metronome_sdk/models/v1/plan_detail.rb +28 -28
  154. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +3 -3
  155. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +3 -6
  156. data/lib/metronome_sdk/models/v1/plan_list_customers_params.rb +3 -3
  157. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +3 -3
  158. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +4 -4
  159. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +4 -4
  160. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +5 -3
  161. data/lib/metronome_sdk/models/v1/usage_list_params.rb +13 -16
  162. data/lib/metronome_sdk/models/v1/usage_list_response.rb +0 -1
  163. data/lib/metronome_sdk/models/v1/usage_list_with_groups_params.rb +7 -10
  164. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +36 -26
  165. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +3 -3
  166. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +18 -14
  167. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +3 -3
  168. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +979 -460
  169. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3 -3
  170. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +24 -47
  171. data/lib/metronome_sdk/models/v2/contract_list_params.rb +0 -4
  172. data/lib/metronome_sdk/models/v2/contract_list_response.rb +273 -161
  173. data/lib/metronome_sdk/models/v2/contract_retrieve_params.rb +0 -3
  174. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +273 -161
  175. data/lib/metronome_sdk/models.rb +66 -0
  176. data/lib/metronome_sdk/request_options.rb +4 -0
  177. data/lib/metronome_sdk/resources/v1/alerts.rb +5 -15
  178. data/lib/metronome_sdk/resources/v1/audit_logs.rb +2 -5
  179. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +7 -11
  180. data/lib/metronome_sdk/resources/v1/contracts/named_schedules.rb +2 -4
  181. data/lib/metronome_sdk/resources/v1/contracts/products.rb +11 -29
  182. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rb +2 -5
  183. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +3 -5
  184. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +8 -16
  185. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +30 -15
  186. data/lib/metronome_sdk/resources/v1/contracts.rb +41 -60
  187. data/lib/metronome_sdk/resources/v1/credit_grants.rb +9 -21
  188. data/lib/metronome_sdk/resources/v1/custom_fields.rb +10 -10
  189. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +10 -6
  190. data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +8 -9
  191. data/lib/metronome_sdk/resources/v1/customers/commits.rb +7 -20
  192. data/lib/metronome_sdk/resources/v1/customers/credits.rb +5 -13
  193. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +9 -21
  194. data/lib/metronome_sdk/resources/v1/customers/named_schedules.rb +2 -4
  195. data/lib/metronome_sdk/resources/v1/customers/plans.rb +7 -17
  196. data/lib/metronome_sdk/resources/v1/customers.rb +13 -20
  197. data/lib/metronome_sdk/resources/v1/dashboards.rb +5 -5
  198. data/lib/metronome_sdk/resources/v1/invoices.rb +2 -2
  199. data/lib/metronome_sdk/resources/v1/plans.rb +5 -5
  200. data/lib/metronome_sdk/resources/v1/pricing_units.rb +1 -1
  201. data/lib/metronome_sdk/resources/v1/usage.rb +8 -13
  202. data/lib/metronome_sdk/resources/v2/contracts.rb +39 -39
  203. data/lib/metronome_sdk/version.rb +1 -1
  204. data/lib/metronome_sdk.rb +5 -0
  205. data/rbi/metronome_sdk/client.rbi +5 -4
  206. data/rbi/metronome_sdk/errors.rbi +34 -15
  207. data/rbi/metronome_sdk/file_part.rbi +9 -6
  208. data/rbi/metronome_sdk/internal/cursor_page.rbi +2 -1
  209. data/rbi/metronome_sdk/internal/transport/base_client.rbi +165 -77
  210. data/rbi/metronome_sdk/internal/transport/pooled_net_requester.rbi +29 -13
  211. data/rbi/metronome_sdk/internal/type/array_of.rbi +34 -24
  212. data/rbi/metronome_sdk/internal/type/base_model.rbi +155 -70
  213. data/rbi/metronome_sdk/internal/type/base_page.rbi +13 -8
  214. data/rbi/metronome_sdk/internal/type/boolean.rbi +16 -14
  215. data/rbi/metronome_sdk/internal/type/converter.rbi +72 -28
  216. data/rbi/metronome_sdk/internal/type/enum.rbi +24 -13
  217. data/rbi/metronome_sdk/internal/type/file_input.rbi +8 -4
  218. data/rbi/metronome_sdk/internal/type/hash_of.rbi +34 -24
  219. data/rbi/metronome_sdk/internal/type/request_parameters.rbi +14 -4
  220. data/rbi/metronome_sdk/internal/type/union.rbi +53 -22
  221. data/rbi/metronome_sdk/internal/type/unknown.rbi +16 -6
  222. data/rbi/metronome_sdk/internal/util.rbi +238 -89
  223. data/rbi/metronome_sdk/internal.rbi +2 -0
  224. data/rbi/metronome_sdk/models/base_usage_filter.rbi +23 -4
  225. data/rbi/metronome_sdk/models/commit.rbi +792 -450
  226. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +1303 -771
  227. data/rbi/metronome_sdk/models/credit.rbi +405 -223
  228. data/rbi/metronome_sdk/models/credit_type_data.rbi +10 -3
  229. data/rbi/metronome_sdk/models/discount.rbi +40 -24
  230. data/rbi/metronome_sdk/models/event_type_filter.rbi +21 -4
  231. data/rbi/metronome_sdk/models/id.rbi +10 -3
  232. data/rbi/metronome_sdk/models/override.rbi +243 -137
  233. data/rbi/metronome_sdk/models/pro_service.rbi +23 -17
  234. data/rbi/metronome_sdk/models/property_filter.rbi +24 -11
  235. data/rbi/metronome_sdk/models/rate.rbi +47 -35
  236. data/rbi/metronome_sdk/models/schedule_duration.rbi +51 -20
  237. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +63 -34
  238. data/rbi/metronome_sdk/models/scheduled_charge.rbi +41 -26
  239. data/rbi/metronome_sdk/models/tier.rbi +10 -3
  240. data/rbi/metronome_sdk/models/v1/alert_archive_params.rbi +22 -11
  241. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +16 -6
  242. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +171 -77
  243. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +16 -6
  244. data/rbi/metronome_sdk/models/v1/audit_log_list_params.rbi +59 -26
  245. data/rbi/metronome_sdk/models/v1/audit_log_list_response.rbi +127 -45
  246. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +18 -5
  247. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +16 -6
  248. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +84 -41
  249. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +16 -6
  250. data/rbi/metronome_sdk/models/v1/billable_metric_list_params.rbi +23 -14
  251. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +84 -41
  252. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_params.rbi +22 -6
  253. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +98 -51
  254. data/rbi/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbi +27 -18
  255. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +1469 -779
  256. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +16 -6
  257. data/rbi/metronome_sdk/models/v1/contract_archive_params.rbi +23 -14
  258. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +16 -6
  259. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbi +178 -110
  260. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +20 -7
  261. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +3311 -2108
  262. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +16 -6
  263. data/rbi/metronome_sdk/models/v1/contract_list_balances_params.rbi +30 -21
  264. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +41 -15
  265. data/rbi/metronome_sdk/models/v1/contract_list_params.rbi +26 -17
  266. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +1167 -182
  267. data/rbi/metronome_sdk/models/v1/contract_retrieve_params.rbi +24 -15
  268. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbi +72 -46
  269. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +122 -78
  270. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +1163 -190
  271. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rbi +66 -41
  272. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +20 -7
  273. data/rbi/metronome_sdk/models/v1/contract_set_usage_filter_params.rbi +22 -15
  274. data/rbi/metronome_sdk/models/v1/contract_update_end_date_params.rbi +24 -15
  275. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +16 -6
  276. data/rbi/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rbi +23 -14
  277. data/rbi/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rbi +54 -17
  278. data/rbi/metronome_sdk/models/v1/contracts/named_schedule_update_params.rbi +25 -16
  279. data/rbi/metronome_sdk/models/v1/contracts/product_archive_params.rbi +23 -6
  280. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +18 -6
  281. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +107 -46
  282. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +18 -6
  283. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +58 -35
  284. data/rbi/metronome_sdk/models/v1/contracts/product_list_params.rbi +63 -25
  285. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +163 -73
  286. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +18 -5
  287. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +188 -87
  288. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +59 -36
  289. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +18 -6
  290. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +51 -20
  291. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +52 -20
  292. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbi +36 -0
  293. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbi +35 -0
  294. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_params.rbi +109 -45
  295. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +18 -6
  296. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_params.rbi +23 -14
  297. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +116 -55
  298. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +18 -5
  299. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbi +67 -45
  300. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +111 -75
  301. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +147 -81
  302. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_params.rbi +70 -25
  303. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +18 -6
  304. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rbi +24 -15
  305. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rbi +54 -19
  306. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rbi +26 -17
  307. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rbi +22 -13
  308. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +18 -6
  309. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rbi +55 -24
  310. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +18 -6
  311. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +153 -100
  312. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +19 -6
  313. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +139 -79
  314. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +141 -82
  315. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbi +73 -45
  316. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +84 -55
  317. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +145 -80
  318. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +16 -6
  319. data/rbi/metronome_sdk/models/v1/credit_grant_edit_params.rbi +24 -15
  320. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +16 -6
  321. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +25 -16
  322. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +162 -77
  323. data/rbi/metronome_sdk/models/v1/credit_grant_list_params.rbi +27 -18
  324. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +169 -72
  325. data/rbi/metronome_sdk/models/v1/credit_grant_void_params.rbi +23 -14
  326. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +16 -6
  327. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +25 -16
  328. data/rbi/metronome_sdk/models/v1/custom_field_add_key_params.rbi +122 -37
  329. data/rbi/metronome_sdk/models/v1/custom_field_delete_values_params.rbi +120 -37
  330. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_params.rbi +140 -37
  331. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +136 -43
  332. data/rbi/metronome_sdk/models/v1/custom_field_remove_key_params.rbi +126 -36
  333. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +127 -37
  334. data/rbi/metronome_sdk/models/v1/customer.rbi +20 -14
  335. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +18 -5
  336. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +16 -6
  337. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +247 -158
  338. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +18 -7
  339. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +111 -51
  340. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_params.rbi +25 -16
  341. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +69 -45
  342. data/rbi/metronome_sdk/models/v1/customer_list_costs_params.rbi +25 -16
  343. data/rbi/metronome_sdk/models/v1/customer_list_costs_response.rbi +100 -49
  344. data/rbi/metronome_sdk/models/v1/customer_list_params.rbi +26 -17
  345. data/rbi/metronome_sdk/models/v1/customer_retrieve_params.rbi +22 -6
  346. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +18 -7
  347. data/rbi/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rbi +21 -13
  348. data/rbi/metronome_sdk/models/v1/customer_set_name_params.rbi +22 -6
  349. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +18 -7
  350. data/rbi/metronome_sdk/models/v1/customer_update_config_params.rbi +23 -14
  351. data/rbi/metronome_sdk/models/v1/customers/alert_list_params.rbi +69 -25
  352. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +22 -10
  353. data/rbi/metronome_sdk/models/v1/customers/alert_reset_params.rbi +15 -5
  354. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +77 -5
  355. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +24 -8
  356. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +129 -79
  357. data/rbi/metronome_sdk/models/v1/customers/billing_config_delete_params.rbi +54 -29
  358. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbi +54 -29
  359. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +111 -68
  360. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +320 -171
  361. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +18 -6
  362. data/rbi/metronome_sdk/models/v1/customers/commit_list_params.rbi +30 -21
  363. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +23 -7
  364. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_params.rbi +24 -15
  365. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +18 -6
  366. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +141 -66
  367. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +18 -6
  368. data/rbi/metronome_sdk/models/v1/customers/credit_list_params.rbi +30 -21
  369. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +23 -7
  370. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_params.rbi +23 -14
  371. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +18 -6
  372. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +261 -134
  373. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +897 -473
  374. data/rbi/metronome_sdk/models/v1/customers/invoice_add_charge_params.rbi +27 -18
  375. data/rbi/metronome_sdk/models/v1/customers/invoice_add_charge_response.rbi +12 -2
  376. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rbi +101 -43
  377. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +21 -4
  378. data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +70 -28
  379. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_params.rbi +23 -14
  380. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +22 -7
  381. data/rbi/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rbi +23 -14
  382. data/rbi/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rbi +54 -17
  383. data/rbi/metronome_sdk/models/v1/customers/named_schedule_update_params.rbi +25 -16
  384. data/rbi/metronome_sdk/models/v1/customers/plan_add_params.rbi +205 -119
  385. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +18 -6
  386. data/rbi/metronome_sdk/models/v1/customers/plan_end_params.rbi +25 -16
  387. data/rbi/metronome_sdk/models/v1/customers/plan_end_response.rbi +12 -2
  388. data/rbi/metronome_sdk/models/v1/customers/plan_list_params.rbi +23 -14
  389. data/rbi/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rbi +24 -15
  390. data/rbi/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbi +98 -48
  391. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +98 -50
  392. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +215 -122
  393. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rbi +44 -13
  394. data/rbi/metronome_sdk/models/v1/invoice_regenerate_params.rbi +20 -9
  395. data/rbi/metronome_sdk/models/v1/invoice_regenerate_response.rbi +42 -13
  396. data/rbi/metronome_sdk/models/v1/invoice_void_params.rbi +20 -9
  397. data/rbi/metronome_sdk/models/v1/invoice_void_response.rbi +41 -11
  398. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +136 -90
  399. data/rbi/metronome_sdk/models/v1/plan_get_details_params.rbi +19 -6
  400. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +18 -7
  401. data/rbi/metronome_sdk/models/v1/plan_list_charges_params.rbi +23 -14
  402. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +167 -76
  403. data/rbi/metronome_sdk/models/v1/plan_list_customers_params.rbi +71 -25
  404. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +59 -35
  405. data/rbi/metronome_sdk/models/v1/plan_list_params.rbi +22 -6
  406. data/rbi/metronome_sdk/models/v1/plan_list_response.rbi +18 -4
  407. data/rbi/metronome_sdk/models/v1/pricing_unit_list_params.rbi +22 -6
  408. data/rbi/metronome_sdk/models/v1/pricing_unit_list_response.rbi +23 -5
  409. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +46 -10
  410. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +43 -11
  411. data/rbi/metronome_sdk/models/v1/service_list_params.rbi +18 -5
  412. data/rbi/metronome_sdk/models/v1/service_list_response.rbi +73 -24
  413. data/rbi/metronome_sdk/models/v1/usage_ingest_params.rbi +51 -31
  414. data/rbi/metronome_sdk/models/v1/usage_list_params.rbi +126 -45
  415. data/rbi/metronome_sdk/models/v1/usage_list_response.rbi +51 -24
  416. data/rbi/metronome_sdk/models/v1/usage_list_with_groups_params.rbi +96 -37
  417. data/rbi/metronome_sdk/models/v1/usage_list_with_groups_response.rbi +28 -14
  418. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +320 -169
  419. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +16 -6
  420. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +169 -89
  421. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +16 -6
  422. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +4392 -1964
  423. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +16 -6
  424. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_params.rbi +14 -5
  425. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +2147 -1376
  426. data/rbi/metronome_sdk/models/v2/contract_list_params.rbi +26 -17
  427. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +3138 -1686
  428. data/rbi/metronome_sdk/models/v2/contract_retrieve_params.rbi +25 -16
  429. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +3092 -1728
  430. data/rbi/metronome_sdk/models.rbi +39 -0
  431. data/rbi/metronome_sdk/request_options.rbi +18 -7
  432. data/rbi/metronome_sdk/resources/v1/alerts.rbi +23 -11
  433. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +11 -5
  434. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +31 -17
  435. data/rbi/metronome_sdk/resources/v1/contracts/named_schedules.rbi +13 -8
  436. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +59 -22
  437. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rbi +16 -9
  438. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +21 -14
  439. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +37 -31
  440. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +77 -33
  441. data/rbi/metronome_sdk/resources/v1/contracts.rbi +141 -105
  442. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +36 -26
  443. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +34 -26
  444. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +34 -11
  445. data/rbi/metronome_sdk/resources/v1/customers/billing_config.rbi +28 -17
  446. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +26 -22
  447. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +22 -17
  448. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +36 -18
  449. data/rbi/metronome_sdk/resources/v1/customers/named_schedules.rbi +13 -8
  450. data/rbi/metronome_sdk/resources/v1/customers/plans.rbi +38 -30
  451. data/rbi/metronome_sdk/resources/v1/customers.rbi +65 -38
  452. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +21 -24
  453. data/rbi/metronome_sdk/resources/v1/invoices.rbi +16 -7
  454. data/rbi/metronome_sdk/resources/v1/plans.rbi +37 -14
  455. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +14 -4
  456. data/rbi/metronome_sdk/resources/v1/services.rbi +9 -3
  457. data/rbi/metronome_sdk/resources/v1/usage.rbi +30 -17
  458. data/rbi/metronome_sdk/resources/v1.rbi +2 -1
  459. data/rbi/metronome_sdk/resources/v2/contracts.rbi +119 -69
  460. data/rbi/metronome_sdk/resources/v2.rbi +2 -1
  461. data/sig/metronome_sdk/internal/transport/base_client.rbs +16 -1
  462. data/sig/metronome_sdk/internal/transport/pooled_net_requester.rbs +2 -0
  463. data/sig/metronome_sdk/internal/type/base_model.rbs +11 -5
  464. data/sig/metronome_sdk/internal/type/base_page.rbs +1 -1
  465. data/sig/metronome_sdk/internal/type/converter.rbs +2 -0
  466. data/sig/metronome_sdk/internal/type/enum.rbs +1 -0
  467. data/sig/metronome_sdk/internal/type/request_parameters.rbs +5 -1
  468. data/sig/metronome_sdk/internal/type/union.rbs +1 -0
  469. data/sig/metronome_sdk/internal/util.rbs +15 -0
  470. data/sig/metronome_sdk/internal.rbs +2 -0
  471. data/sig/metronome_sdk/models/base_usage_filter.rbs +0 -2
  472. data/sig/metronome_sdk/models/commit.rbs +109 -145
  473. data/sig/metronome_sdk/models/contract_without_amendments.rbs +219 -269
  474. data/sig/metronome_sdk/models/credit.rbs +59 -77
  475. data/sig/metronome_sdk/models/credit_type_data.rbs +0 -2
  476. data/sig/metronome_sdk/models/discount.rbs +6 -10
  477. data/sig/metronome_sdk/models/event_type_filter.rbs +0 -2
  478. data/sig/metronome_sdk/models/id.rbs +0 -2
  479. data/sig/metronome_sdk/models/override.rbs +60 -74
  480. data/sig/metronome_sdk/models/pro_service.rbs +0 -2
  481. data/sig/metronome_sdk/models/property_filter.rbs +0 -2
  482. data/sig/metronome_sdk/models/rate.rbs +13 -17
  483. data/sig/metronome_sdk/models/schedule_duration.rbs +8 -12
  484. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +10 -14
  485. data/sig/metronome_sdk/models/scheduled_charge.rbs +6 -10
  486. data/sig/metronome_sdk/models/tier.rbs +0 -2
  487. data/sig/metronome_sdk/models/v1/alert_archive_params.rbs +0 -2
  488. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +3 -5
  489. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +14 -20
  490. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +3 -5
  491. data/sig/metronome_sdk/models/v1/audit_log_list_params.rbs +0 -2
  492. data/sig/metronome_sdk/models/v1/audit_log_list_response.rbs +0 -6
  493. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +0 -2
  494. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +3 -5
  495. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +10 -12
  496. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +3 -5
  497. data/sig/metronome_sdk/models/v1/billable_metric_list_params.rbs +0 -2
  498. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +10 -12
  499. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_params.rbs +0 -2
  500. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +10 -14
  501. data/sig/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbs +0 -2
  502. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +204 -260
  503. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +3 -5
  504. data/sig/metronome_sdk/models/v1/contract_archive_params.rbs +0 -2
  505. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +3 -5
  506. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbs +23 -31
  507. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +3 -5
  508. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +510 -604
  509. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +3 -5
  510. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +0 -2
  511. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +2 -4
  512. data/sig/metronome_sdk/models/v1/contract_list_params.rbs +0 -2
  513. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +310 -40
  514. data/sig/metronome_sdk/models/v1/contract_retrieve_params.rbs +0 -2
  515. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbs +5 -9
  516. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +12 -20
  517. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +310 -40
  518. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rbs +3 -7
  519. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +3 -5
  520. data/sig/metronome_sdk/models/v1/contract_set_usage_filter_params.rbs +0 -2
  521. data/sig/metronome_sdk/models/v1/contract_update_end_date_params.rbs +0 -2
  522. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +3 -6
  523. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rbs +0 -2
  524. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rbs +0 -4
  525. data/sig/metronome_sdk/models/v1/contracts/named_schedule_update_params.rbs +0 -2
  526. data/sig/metronome_sdk/models/v1/contracts/product_archive_params.rbs +0 -2
  527. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +3 -5
  528. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +6 -8
  529. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +3 -5
  530. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +6 -8
  531. data/sig/metronome_sdk/models/v1/contracts/product_list_params.rbs +0 -2
  532. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +12 -16
  533. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +0 -2
  534. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +12 -18
  535. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +6 -8
  536. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +3 -5
  537. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +4 -6
  538. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +4 -6
  539. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +17 -0
  540. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +15 -0
  541. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_params.rbs +10 -16
  542. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +3 -5
  543. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_params.rbs +0 -2
  544. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +8 -14
  545. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +0 -2
  546. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbs +5 -9
  547. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +8 -14
  548. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +8 -16
  549. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_params.rbs +5 -9
  550. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +3 -5
  551. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rbs +0 -2
  552. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rbs +0 -4
  553. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rbs +0 -2
  554. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rbs +0 -2
  555. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +3 -5
  556. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rbs +3 -7
  557. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +3 -6
  558. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +26 -32
  559. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +3 -5
  560. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +19 -23
  561. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +15 -21
  562. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbs +5 -9
  563. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +8 -12
  564. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +17 -25
  565. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +3 -5
  566. data/sig/metronome_sdk/models/v1/credit_grant_edit_params.rbs +0 -2
  567. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +3 -5
  568. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +0 -2
  569. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +9 -19
  570. data/sig/metronome_sdk/models/v1/credit_grant_list_params.rbs +0 -2
  571. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +12 -22
  572. data/sig/metronome_sdk/models/v1/credit_grant_void_params.rbs +0 -2
  573. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +3 -5
  574. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +0 -2
  575. data/sig/metronome_sdk/models/v1/custom_field_add_key_params.rbs +0 -2
  576. data/sig/metronome_sdk/models/v1/custom_field_delete_values_params.rbs +0 -2
  577. data/sig/metronome_sdk/models/v1/custom_field_list_keys_params.rbs +6 -8
  578. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +0 -4
  579. data/sig/metronome_sdk/models/v1/custom_field_remove_key_params.rbs +0 -2
  580. data/sig/metronome_sdk/models/v1/custom_field_set_values_params.rbs +0 -2
  581. data/sig/metronome_sdk/models/v1/customer.rbs +0 -2
  582. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +0 -2
  583. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +3 -5
  584. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +36 -42
  585. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +3 -6
  586. data/sig/metronome_sdk/models/v1/customer_detail.rbs +12 -18
  587. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_params.rbs +0 -2
  588. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +10 -12
  589. data/sig/metronome_sdk/models/v1/customer_list_costs_params.rbs +0 -2
  590. data/sig/metronome_sdk/models/v1/customer_list_costs_response.rbs +0 -6
  591. data/sig/metronome_sdk/models/v1/customer_list_params.rbs +0 -2
  592. data/sig/metronome_sdk/models/v1/customer_retrieve_params.rbs +0 -2
  593. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +3 -5
  594. data/sig/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rbs +0 -2
  595. data/sig/metronome_sdk/models/v1/customer_set_name_params.rbs +0 -2
  596. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +3 -6
  597. data/sig/metronome_sdk/models/v1/customer_update_config_params.rbs +0 -2
  598. data/sig/metronome_sdk/models/v1/customers/alert_list_params.rbs +6 -8
  599. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +3 -5
  600. data/sig/metronome_sdk/models/v1/customers/alert_reset_params.rbs +0 -2
  601. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +22 -2
  602. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +3 -5
  603. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +0 -2
  604. data/sig/metronome_sdk/models/v1/customers/billing_config_delete_params.rbs +0 -2
  605. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbs +0 -2
  606. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +0 -4
  607. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +29 -41
  608. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +3 -5
  609. data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +0 -2
  610. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +3 -5
  611. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_params.rbs +0 -2
  612. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +3 -6
  613. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +6 -12
  614. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +3 -5
  615. data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +0 -2
  616. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +3 -5
  617. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_params.rbs +0 -2
  618. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +3 -6
  619. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +32 -40
  620. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +133 -151
  621. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_params.rbs +0 -2
  622. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_response.rbs +0 -2
  623. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rbs +0 -2
  624. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +0 -2
  625. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +0 -2
  626. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_params.rbs +0 -2
  627. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +3 -7
  628. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rbs +0 -2
  629. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rbs +0 -4
  630. data/sig/metronome_sdk/models/v1/customers/named_schedule_update_params.rbs +0 -2
  631. data/sig/metronome_sdk/models/v1/customers/plan_add_params.rbs +24 -34
  632. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +3 -5
  633. data/sig/metronome_sdk/models/v1/customers/plan_end_params.rbs +0 -2
  634. data/sig/metronome_sdk/models/v1/customers/plan_end_response.rbs +0 -2
  635. data/sig/metronome_sdk/models/v1/customers/plan_list_params.rbs +0 -2
  636. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rbs +0 -2
  637. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbs +0 -4
  638. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +3 -9
  639. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +21 -29
  640. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rbs +0 -4
  641. data/sig/metronome_sdk/models/v1/invoice_regenerate_params.rbs +0 -2
  642. data/sig/metronome_sdk/models/v1/invoice_regenerate_response.rbs +0 -4
  643. data/sig/metronome_sdk/models/v1/invoice_void_params.rbs +0 -2
  644. data/sig/metronome_sdk/models/v1/invoice_void_response.rbs +0 -4
  645. data/sig/metronome_sdk/models/v1/plan_detail.rbs +30 -38
  646. data/sig/metronome_sdk/models/v1/plan_get_details_params.rbs +0 -2
  647. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +3 -6
  648. data/sig/metronome_sdk/models/v1/plan_list_charges_params.rbs +0 -2
  649. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +3 -9
  650. data/sig/metronome_sdk/models/v1/plan_list_customers_params.rbs +0 -2
  651. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +3 -7
  652. data/sig/metronome_sdk/models/v1/plan_list_params.rbs +0 -2
  653. data/sig/metronome_sdk/models/v1/plan_list_response.rbs +0 -2
  654. data/sig/metronome_sdk/models/v1/pricing_unit_list_params.rbs +0 -2
  655. data/sig/metronome_sdk/models/v1/pricing_unit_list_response.rbs +0 -2
  656. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +4 -9
  657. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +4 -6
  658. data/sig/metronome_sdk/models/v1/service_list_params.rbs +0 -2
  659. data/sig/metronome_sdk/models/v1/service_list_response.rbs +0 -4
  660. data/sig/metronome_sdk/models/v1/usage_ingest_params.rbs +5 -9
  661. data/sig/metronome_sdk/models/v1/usage_list_params.rbs +10 -16
  662. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +0 -4
  663. data/sig/metronome_sdk/models/v1/usage_list_with_groups_params.rbs +5 -9
  664. data/sig/metronome_sdk/models/v1/usage_list_with_groups_response.rbs +0 -2
  665. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +40 -58
  666. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +3 -5
  667. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +20 -30
  668. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +3 -5
  669. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +779 -585
  670. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +3 -5
  671. data/sig/metronome_sdk/models/v2/contract_get_edit_history_params.rbs +0 -2
  672. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +38 -146
  673. data/sig/metronome_sdk/models/v2/contract_list_params.rbs +0 -2
  674. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +190 -224
  675. data/sig/metronome_sdk/models/v2/contract_retrieve_params.rbs +0 -2
  676. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +190 -224
  677. data/sig/metronome_sdk/models.rbs +37 -0
  678. data/sig/metronome_sdk/request_options.rbs +1 -1
  679. data/sig/metronome_sdk/resources/v1/alerts.rbs +2 -2
  680. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +2 -2
  681. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +4 -4
  682. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbs +1 -1
  683. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +4 -4
  684. data/sig/metronome_sdk/resources/v1/contracts/rate_cards.rbs +9 -4
  685. data/sig/metronome_sdk/resources/v1/contracts.rbs +25 -25
  686. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +3 -3
  687. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +1 -1
  688. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +2 -1
  689. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +2 -2
  690. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +1 -1
  691. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -1
  692. data/sig/metronome_sdk/resources/v1/customers/plans.rbs +3 -3
  693. data/sig/metronome_sdk/resources/v1/customers.rbs +3 -3
  694. data/sig/metronome_sdk/resources/v1/dashboards.rbs +3 -3
  695. data/sig/metronome_sdk/resources/v1/usage.rbs +3 -3
  696. data/sig/metronome_sdk/resources/v2/contracts.rbs +25 -21
  697. metadata +13 -4
@@ -4,45 +4,84 @@ module MetronomeSDK
4
4
  module Models
5
5
  module V1
6
6
  class ContractListResponse < MetronomeSDK::Internal::Type::BaseModel
7
- sig { returns(T::Array[MetronomeSDK::Models::V1::ContractListResponse::Data]) }
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ MetronomeSDK::Models::V1::ContractListResponse,
11
+ MetronomeSDK::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ sig do
16
+ returns(
17
+ T::Array[MetronomeSDK::Models::V1::ContractListResponse::Data]
18
+ )
19
+ end
8
20
  attr_accessor :data
9
21
 
10
22
  sig do
11
23
  params(
12
- data: T::Array[T.any(MetronomeSDK::Models::V1::ContractListResponse::Data, MetronomeSDK::Internal::AnyHash)]
13
- )
14
- .returns(T.attached_class)
24
+ data:
25
+ T::Array[
26
+ MetronomeSDK::Models::V1::ContractListResponse::Data::OrHash
27
+ ]
28
+ ).returns(T.attached_class)
29
+ end
30
+ def self.new(data:)
15
31
  end
16
- def self.new(data:); end
17
32
 
18
- sig { override.returns({data: T::Array[MetronomeSDK::Models::V1::ContractListResponse::Data]}) }
19
- def to_hash; end
33
+ sig do
34
+ override.returns(
35
+ {
36
+ data:
37
+ T::Array[MetronomeSDK::Models::V1::ContractListResponse::Data]
38
+ }
39
+ )
40
+ end
41
+ def to_hash
42
+ end
20
43
 
21
44
  class Data < MetronomeSDK::Internal::Type::BaseModel
45
+ OrHash =
46
+ T.type_alias do
47
+ T.any(
48
+ MetronomeSDK::Models::V1::ContractListResponse::Data,
49
+ MetronomeSDK::Internal::AnyHash
50
+ )
51
+ end
52
+
22
53
  sig { returns(String) }
23
54
  attr_accessor :id
24
55
 
25
- sig { returns(T::Array[MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment]) }
56
+ sig do
57
+ returns(
58
+ T::Array[
59
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment
60
+ ]
61
+ )
62
+ end
26
63
  attr_accessor :amendments
27
64
 
28
- sig { returns(MetronomeSDK::Models::ContractWithoutAmendments) }
65
+ sig { returns(MetronomeSDK::ContractWithoutAmendments) }
29
66
  attr_reader :current
30
67
 
31
68
  sig do
32
- params(current: T.any(MetronomeSDK::Models::ContractWithoutAmendments, MetronomeSDK::Internal::AnyHash))
33
- .void
69
+ params(
70
+ current: MetronomeSDK::ContractWithoutAmendments::OrHash
71
+ ).void
34
72
  end
35
73
  attr_writer :current
36
74
 
37
75
  sig { returns(String) }
38
76
  attr_accessor :customer_id
39
77
 
40
- sig { returns(MetronomeSDK::Models::ContractWithoutAmendments) }
78
+ sig { returns(MetronomeSDK::ContractWithoutAmendments) }
41
79
  attr_reader :initial
42
80
 
43
81
  sig do
44
- params(initial: T.any(MetronomeSDK::Models::ContractWithoutAmendments, MetronomeSDK::Internal::AnyHash))
45
- .void
82
+ params(
83
+ initial: MetronomeSDK::ContractWithoutAmendments::OrHash
84
+ ).void
46
85
  end
47
86
  attr_writer :initial
48
87
 
@@ -63,21 +102,37 @@ module MetronomeSDK
63
102
  # The billing provider configuration associated with a contract.
64
103
  sig do
65
104
  returns(
66
- T.nilable(MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration)
105
+ T.nilable(
106
+ MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration
107
+ )
67
108
  )
68
109
  end
69
110
  attr_reader :customer_billing_provider_configuration
70
111
 
71
112
  sig do
72
113
  params(
73
- customer_billing_provider_configuration: T.any(
74
- MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration,
75
- MetronomeSDK::Internal::AnyHash
114
+ customer_billing_provider_configuration:
115
+ MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration::OrHash
116
+ ).void
117
+ end
118
+ attr_writer :customer_billing_provider_configuration
119
+
120
+ sig do
121
+ returns(
122
+ T.nilable(
123
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration
76
124
  )
77
125
  )
78
- .void
79
126
  end
80
- attr_writer :customer_billing_provider_configuration
127
+ attr_reader :prepaid_balance_threshold_configuration
128
+
129
+ sig do
130
+ params(
131
+ prepaid_balance_threshold_configuration:
132
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::OrHash
133
+ ).void
134
+ end
135
+ attr_writer :prepaid_balance_threshold_configuration
81
136
 
82
137
  # Determines which scheduled and commit charges to consolidate onto the Contract's
83
138
  # usage invoice. The charge's `timestamp` must match the usage invoice's
@@ -95,12 +150,29 @@ module MetronomeSDK
95
150
 
96
151
  sig do
97
152
  params(
98
- scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::ContractListResponse::Data::ScheduledChargesOnUsageInvoices::OrSymbol
99
- )
100
- .void
153
+ scheduled_charges_on_usage_invoices:
154
+ MetronomeSDK::Models::V1::ContractListResponse::Data::ScheduledChargesOnUsageInvoices::OrSymbol
155
+ ).void
101
156
  end
102
157
  attr_writer :scheduled_charges_on_usage_invoices
103
158
 
159
+ sig do
160
+ returns(
161
+ T.nilable(
162
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration
163
+ )
164
+ )
165
+ end
166
+ attr_reader :spend_threshold_configuration
167
+
168
+ sig do
169
+ params(
170
+ spend_threshold_configuration:
171
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::OrHash
172
+ ).void
173
+ end
174
+ attr_writer :spend_threshold_configuration
175
+
104
176
  # Prevents the creation of duplicates. If a request to create a record is made
105
177
  # with a previously used uniqueness key, a new record will not be created and the
106
178
  # request will fail with a 409 error.
@@ -113,20 +185,25 @@ module MetronomeSDK
113
185
  sig do
114
186
  params(
115
187
  id: String,
116
- amendments: T::Array[T.any(MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment, MetronomeSDK::Internal::AnyHash)],
117
- current: T.any(MetronomeSDK::Models::ContractWithoutAmendments, MetronomeSDK::Internal::AnyHash),
188
+ amendments:
189
+ T::Array[
190
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment::OrHash
191
+ ],
192
+ current: MetronomeSDK::ContractWithoutAmendments::OrHash,
118
193
  customer_id: String,
119
- initial: T.any(MetronomeSDK::Models::ContractWithoutAmendments, MetronomeSDK::Internal::AnyHash),
194
+ initial: MetronomeSDK::ContractWithoutAmendments::OrHash,
120
195
  archived_at: Time,
121
196
  custom_fields: T::Hash[Symbol, String],
122
- customer_billing_provider_configuration: T.any(
123
- MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration,
124
- MetronomeSDK::Internal::AnyHash
125
- ),
126
- scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::ContractListResponse::Data::ScheduledChargesOnUsageInvoices::OrSymbol,
197
+ customer_billing_provider_configuration:
198
+ MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration::OrHash,
199
+ prepaid_balance_threshold_configuration:
200
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::OrHash,
201
+ scheduled_charges_on_usage_invoices:
202
+ MetronomeSDK::Models::V1::ContractListResponse::Data::ScheduledChargesOnUsageInvoices::OrSymbol,
203
+ spend_threshold_configuration:
204
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::OrHash,
127
205
  uniqueness_key: String
128
- )
129
- .returns(T.attached_class)
206
+ ).returns(T.attached_class)
130
207
  end
131
208
  def self.new(
132
209
  id:,
@@ -140,41 +217,62 @@ module MetronomeSDK
140
217
  custom_fields: nil,
141
218
  # The billing provider configuration associated with a contract.
142
219
  customer_billing_provider_configuration: nil,
220
+ prepaid_balance_threshold_configuration: nil,
143
221
  # Determines which scheduled and commit charges to consolidate onto the Contract's
144
222
  # usage invoice. The charge's `timestamp` must match the usage invoice's
145
223
  # `ending_before` date for consolidation to occur. This field cannot be modified
146
224
  # after a Contract has been created. If this field is omitted, charges will appear
147
225
  # on a separate invoice from usage charges.
148
226
  scheduled_charges_on_usage_invoices: nil,
227
+ spend_threshold_configuration: nil,
149
228
  # Prevents the creation of duplicates. If a request to create a record is made
150
229
  # with a previously used uniqueness key, a new record will not be created and the
151
230
  # request will fail with a 409 error.
152
231
  uniqueness_key: nil
153
- ); end
232
+ )
233
+ end
234
+
154
235
  sig do
155
- override
156
- .returns(
157
- {
158
- id: String,
159
- amendments: T::Array[MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment],
160
- current: MetronomeSDK::Models::ContractWithoutAmendments,
161
- customer_id: String,
162
- initial: MetronomeSDK::Models::ContractWithoutAmendments,
163
- archived_at: Time,
164
- custom_fields: T::Hash[Symbol, String],
165
- customer_billing_provider_configuration: MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration,
166
- scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::ContractListResponse::Data::ScheduledChargesOnUsageInvoices::TaggedSymbol,
167
- uniqueness_key: String
168
- }
169
- )
236
+ override.returns(
237
+ {
238
+ id: String,
239
+ amendments:
240
+ T::Array[
241
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment
242
+ ],
243
+ current: MetronomeSDK::ContractWithoutAmendments,
244
+ customer_id: String,
245
+ initial: MetronomeSDK::ContractWithoutAmendments,
246
+ archived_at: Time,
247
+ custom_fields: T::Hash[Symbol, String],
248
+ customer_billing_provider_configuration:
249
+ MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration,
250
+ prepaid_balance_threshold_configuration:
251
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration,
252
+ scheduled_charges_on_usage_invoices:
253
+ MetronomeSDK::Models::V1::ContractListResponse::Data::ScheduledChargesOnUsageInvoices::TaggedSymbol,
254
+ spend_threshold_configuration:
255
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration,
256
+ uniqueness_key: String
257
+ }
258
+ )
259
+ end
260
+ def to_hash
170
261
  end
171
- def to_hash; end
172
262
 
173
263
  class Amendment < MetronomeSDK::Internal::Type::BaseModel
264
+ OrHash =
265
+ T.type_alias do
266
+ T.any(
267
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment,
268
+ MetronomeSDK::Internal::AnyHash
269
+ )
270
+ end
271
+
174
272
  sig { returns(String) }
175
273
  attr_accessor :id
176
274
 
177
- sig { returns(T::Array[MetronomeSDK::Models::Commit]) }
275
+ sig { returns(T::Array[MetronomeSDK::Commit]) }
178
276
  attr_accessor :commits
179
277
 
180
278
  sig { returns(Time) }
@@ -183,26 +281,28 @@ module MetronomeSDK
183
281
  sig { returns(String) }
184
282
  attr_accessor :created_by
185
283
 
186
- sig { returns(T::Array[MetronomeSDK::Models::Override]) }
284
+ sig { returns(T::Array[MetronomeSDK::Override]) }
187
285
  attr_accessor :overrides
188
286
 
189
- sig { returns(T::Array[MetronomeSDK::Models::ScheduledCharge]) }
287
+ sig { returns(T::Array[MetronomeSDK::ScheduledCharge]) }
190
288
  attr_accessor :scheduled_charges
191
289
 
192
290
  sig { returns(Time) }
193
291
  attr_accessor :starting_at
194
292
 
195
- sig { returns(T.nilable(T::Array[MetronomeSDK::Models::Credit])) }
293
+ sig { returns(T.nilable(T::Array[MetronomeSDK::Credit])) }
196
294
  attr_reader :credits
197
295
 
198
- sig { params(credits: T::Array[T.any(MetronomeSDK::Models::Credit, MetronomeSDK::Internal::AnyHash)]).void }
296
+ sig { params(credits: T::Array[MetronomeSDK::Credit::OrHash]).void }
199
297
  attr_writer :credits
200
298
 
201
299
  # This field's availability is dependent on your client's configuration.
202
- sig { returns(T.nilable(T::Array[MetronomeSDK::Models::Discount])) }
300
+ sig { returns(T.nilable(T::Array[MetronomeSDK::Discount])) }
203
301
  attr_reader :discounts
204
302
 
205
- sig { params(discounts: T::Array[T.any(MetronomeSDK::Models::Discount, MetronomeSDK::Internal::AnyHash)]).void }
303
+ sig do
304
+ params(discounts: T::Array[MetronomeSDK::Discount::OrHash]).void
305
+ end
206
306
  attr_writer :discounts
207
307
 
208
308
  # This field's availability is dependent on your client's configuration.
@@ -213,35 +313,36 @@ module MetronomeSDK
213
313
  attr_writer :netsuite_sales_order_id
214
314
 
215
315
  # This field's availability is dependent on your client's configuration.
216
- sig { returns(T.nilable(T::Array[MetronomeSDK::Models::ProService])) }
316
+ sig { returns(T.nilable(T::Array[MetronomeSDK::ProService])) }
217
317
  attr_reader :professional_services
218
318
 
219
319
  sig do
220
320
  params(
221
- professional_services: T::Array[T.any(MetronomeSDK::Models::ProService, MetronomeSDK::Internal::AnyHash)]
222
- )
223
- .void
321
+ professional_services:
322
+ T::Array[MetronomeSDK::ProService::OrHash]
323
+ ).void
224
324
  end
225
325
  attr_writer :professional_services
226
326
 
227
327
  # This field's availability is dependent on your client's configuration.
228
328
  sig do
229
329
  returns(
230
- T.nilable(T::Array[MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment::ResellerRoyalty])
330
+ T.nilable(
331
+ T::Array[
332
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment::ResellerRoyalty
333
+ ]
334
+ )
231
335
  )
232
336
  end
233
337
  attr_reader :reseller_royalties
234
338
 
235
339
  sig do
236
340
  params(
237
- reseller_royalties: T::Array[
238
- T.any(
239
- MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment::ResellerRoyalty,
240
- MetronomeSDK::Internal::AnyHash
241
- )
242
- ]
243
- )
244
- .void
341
+ reseller_royalties:
342
+ T::Array[
343
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment::ResellerRoyalty::OrHash
344
+ ]
345
+ ).void
245
346
  end
246
347
  attr_writer :reseller_royalties
247
348
 
@@ -255,25 +356,24 @@ module MetronomeSDK
255
356
  sig do
256
357
  params(
257
358
  id: String,
258
- commits: T::Array[T.any(MetronomeSDK::Models::Commit, MetronomeSDK::Internal::AnyHash)],
359
+ commits: T::Array[MetronomeSDK::Commit::OrHash],
259
360
  created_at: Time,
260
361
  created_by: String,
261
- overrides: T::Array[T.any(MetronomeSDK::Models::Override, MetronomeSDK::Internal::AnyHash)],
262
- scheduled_charges: T::Array[T.any(MetronomeSDK::Models::ScheduledCharge, MetronomeSDK::Internal::AnyHash)],
362
+ overrides: T::Array[MetronomeSDK::Override::OrHash],
363
+ scheduled_charges:
364
+ T::Array[MetronomeSDK::ScheduledCharge::OrHash],
263
365
  starting_at: Time,
264
- credits: T::Array[T.any(MetronomeSDK::Models::Credit, MetronomeSDK::Internal::AnyHash)],
265
- discounts: T::Array[T.any(MetronomeSDK::Models::Discount, MetronomeSDK::Internal::AnyHash)],
366
+ credits: T::Array[MetronomeSDK::Credit::OrHash],
367
+ discounts: T::Array[MetronomeSDK::Discount::OrHash],
266
368
  netsuite_sales_order_id: String,
267
- professional_services: T::Array[T.any(MetronomeSDK::Models::ProService, MetronomeSDK::Internal::AnyHash)],
268
- reseller_royalties: T::Array[
269
- T.any(
270
- MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment::ResellerRoyalty,
271
- MetronomeSDK::Internal::AnyHash
272
- )
273
- ],
369
+ professional_services:
370
+ T::Array[MetronomeSDK::ProService::OrHash],
371
+ reseller_royalties:
372
+ T::Array[
373
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment::ResellerRoyalty::OrHash
374
+ ],
274
375
  salesforce_opportunity_id: String
275
- )
276
- .returns(T.attached_class)
376
+ ).returns(T.attached_class)
277
377
  end
278
378
  def self.new(
279
379
  id:,
@@ -294,30 +394,43 @@ module MetronomeSDK
294
394
  reseller_royalties: nil,
295
395
  # This field's availability is dependent on your client's configuration.
296
396
  salesforce_opportunity_id: nil
297
- ); end
397
+ )
398
+ end
399
+
298
400
  sig do
299
- override
300
- .returns(
301
- {
302
- id: String,
303
- commits: T::Array[MetronomeSDK::Models::Commit],
304
- created_at: Time,
305
- created_by: String,
306
- overrides: T::Array[MetronomeSDK::Models::Override],
307
- scheduled_charges: T::Array[MetronomeSDK::Models::ScheduledCharge],
308
- starting_at: Time,
309
- credits: T::Array[MetronomeSDK::Models::Credit],
310
- discounts: T::Array[MetronomeSDK::Models::Discount],
311
- netsuite_sales_order_id: String,
312
- professional_services: T::Array[MetronomeSDK::Models::ProService],
313
- reseller_royalties: T::Array[MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment::ResellerRoyalty],
314
- salesforce_opportunity_id: String
315
- }
316
- )
401
+ override.returns(
402
+ {
403
+ id: String,
404
+ commits: T::Array[MetronomeSDK::Commit],
405
+ created_at: Time,
406
+ created_by: String,
407
+ overrides: T::Array[MetronomeSDK::Override],
408
+ scheduled_charges: T::Array[MetronomeSDK::ScheduledCharge],
409
+ starting_at: Time,
410
+ credits: T::Array[MetronomeSDK::Credit],
411
+ discounts: T::Array[MetronomeSDK::Discount],
412
+ netsuite_sales_order_id: String,
413
+ professional_services: T::Array[MetronomeSDK::ProService],
414
+ reseller_royalties:
415
+ T::Array[
416
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment::ResellerRoyalty
417
+ ],
418
+ salesforce_opportunity_id: String
419
+ }
420
+ )
421
+ end
422
+ def to_hash
317
423
  end
318
- def to_hash; end
319
424
 
320
425
  class ResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
426
+ OrHash =
427
+ T.type_alias do
428
+ T.any(
429
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment::ResellerRoyalty,
430
+ MetronomeSDK::Internal::AnyHash
431
+ )
432
+ end
433
+
321
434
  sig do
322
435
  returns(
323
436
  MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment::ResellerRoyalty::ResellerType::TaggedSymbol
@@ -384,7 +497,8 @@ module MetronomeSDK
384
497
 
385
498
  sig do
386
499
  params(
387
- reseller_type: MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment::ResellerRoyalty::ResellerType::OrSymbol,
500
+ reseller_type:
501
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment::ResellerRoyalty::ResellerType::OrSymbol,
388
502
  aws_account_number: String,
389
503
  aws_offer_id: String,
390
504
  aws_payer_reference_id: String,
@@ -395,8 +509,7 @@ module MetronomeSDK
395
509
  netsuite_reseller_id: String,
396
510
  reseller_contract_value: Float,
397
511
  starting_at: Time
398
- )
399
- .returns(T.attached_class)
512
+ ).returns(T.attached_class)
400
513
  end
401
514
  def self.new(
402
515
  reseller_type:,
@@ -410,33 +523,39 @@ module MetronomeSDK
410
523
  netsuite_reseller_id: nil,
411
524
  reseller_contract_value: nil,
412
525
  starting_at: nil
413
- ); end
526
+ )
527
+ end
528
+
414
529
  sig do
415
- override
416
- .returns(
417
- {
418
- reseller_type: MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment::ResellerRoyalty::ResellerType::TaggedSymbol,
419
- aws_account_number: String,
420
- aws_offer_id: String,
421
- aws_payer_reference_id: String,
422
- ending_before: T.nilable(Time),
423
- fraction: Float,
424
- gcp_account_id: String,
425
- gcp_offer_id: String,
426
- netsuite_reseller_id: String,
427
- reseller_contract_value: Float,
428
- starting_at: Time
429
- }
430
- )
530
+ override.returns(
531
+ {
532
+ reseller_type:
533
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment::ResellerRoyalty::ResellerType::TaggedSymbol,
534
+ aws_account_number: String,
535
+ aws_offer_id: String,
536
+ aws_payer_reference_id: String,
537
+ ending_before: T.nilable(Time),
538
+ fraction: Float,
539
+ gcp_account_id: String,
540
+ gcp_offer_id: String,
541
+ netsuite_reseller_id: String,
542
+ reseller_contract_value: Float,
543
+ starting_at: Time
544
+ }
545
+ )
546
+ end
547
+ def to_hash
431
548
  end
432
- def to_hash; end
433
549
 
434
550
  module ResellerType
435
551
  extend MetronomeSDK::Internal::Type::Enum
436
552
 
437
553
  TaggedSymbol =
438
554
  T.type_alias do
439
- T.all(Symbol, MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment::ResellerRoyalty::ResellerType)
555
+ T.all(
556
+ Symbol,
557
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment::ResellerRoyalty::ResellerType
558
+ )
440
559
  end
441
560
  OrSymbol = T.type_alias { T.any(Symbol, String) }
442
561
 
@@ -462,19 +581,27 @@ module MetronomeSDK
462
581
  )
463
582
 
464
583
  sig do
465
- override
466
- .returns(
467
- T::Array[
468
- MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment::ResellerRoyalty::ResellerType::TaggedSymbol
469
- ]
470
- )
584
+ override.returns(
585
+ T::Array[
586
+ MetronomeSDK::Models::V1::ContractListResponse::Data::Amendment::ResellerRoyalty::ResellerType::TaggedSymbol
587
+ ]
588
+ )
589
+ end
590
+ def self.values
471
591
  end
472
- def self.values; end
473
592
  end
474
593
  end
475
594
  end
476
595
 
477
596
  class CustomerBillingProviderConfiguration < MetronomeSDK::Internal::Type::BaseModel
597
+ OrHash =
598
+ T.type_alias do
599
+ T.any(
600
+ MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration,
601
+ MetronomeSDK::Internal::AnyHash
602
+ )
603
+ end
604
+
478
605
  sig do
479
606
  returns(
480
607
  MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration::BillingProvider::TaggedSymbol
@@ -506,12 +633,13 @@ module MetronomeSDK
506
633
  # The billing provider configuration associated with a contract.
507
634
  sig do
508
635
  params(
509
- billing_provider: MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration::BillingProvider::OrSymbol,
510
- delivery_method: MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod::OrSymbol,
636
+ billing_provider:
637
+ MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration::BillingProvider::OrSymbol,
638
+ delivery_method:
639
+ MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod::OrSymbol,
511
640
  id: String,
512
641
  configuration: T::Hash[Symbol, T.anything]
513
- )
514
- .returns(T.attached_class)
642
+ ).returns(T.attached_class)
515
643
  end
516
644
  def self.new(
517
645
  billing_provider:,
@@ -520,26 +648,33 @@ module MetronomeSDK
520
648
  # Configuration for the billing provider. The structure of this object is specific
521
649
  # to the billing provider.
522
650
  configuration: nil
523
- ); end
651
+ )
652
+ end
653
+
524
654
  sig do
525
- override
526
- .returns(
527
- {
528
- billing_provider: MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration::BillingProvider::TaggedSymbol,
529
- delivery_method: MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod::TaggedSymbol,
530
- id: String,
531
- configuration: T::Hash[Symbol, T.anything]
532
- }
533
- )
655
+ override.returns(
656
+ {
657
+ billing_provider:
658
+ MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration::BillingProvider::TaggedSymbol,
659
+ delivery_method:
660
+ MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod::TaggedSymbol,
661
+ id: String,
662
+ configuration: T::Hash[Symbol, T.anything]
663
+ }
664
+ )
665
+ end
666
+ def to_hash
534
667
  end
535
- def to_hash; end
536
668
 
537
669
  module BillingProvider
538
670
  extend MetronomeSDK::Internal::Type::Enum
539
671
 
540
672
  TaggedSymbol =
541
673
  T.type_alias do
542
- T.all(Symbol, MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration::BillingProvider)
674
+ T.all(
675
+ Symbol,
676
+ MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration::BillingProvider
677
+ )
543
678
  end
544
679
  OrSymbol = T.type_alias { T.any(Symbol, String) }
545
680
 
@@ -585,14 +720,14 @@ module MetronomeSDK
585
720
  )
586
721
 
587
722
  sig do
588
- override
589
- .returns(
590
- T::Array[
591
- MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration::BillingProvider::TaggedSymbol
592
- ]
593
- )
723
+ override.returns(
724
+ T::Array[
725
+ MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration::BillingProvider::TaggedSymbol
726
+ ]
727
+ )
728
+ end
729
+ def self.values
594
730
  end
595
- def self.values; end
596
731
  end
597
732
 
598
733
  module DeliveryMethod
@@ -600,7 +735,10 @@ module MetronomeSDK
600
735
 
601
736
  TaggedSymbol =
602
737
  T.type_alias do
603
- T.all(Symbol, MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod)
738
+ T.all(
739
+ Symbol,
740
+ MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod
741
+ )
604
742
  end
605
743
  OrSymbol = T.type_alias { T.any(Symbol, String) }
606
744
 
@@ -626,42 +764,889 @@ module MetronomeSDK
626
764
  )
627
765
 
628
766
  sig do
629
- override
630
- .returns(
631
- T::Array[
632
- MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod::TaggedSymbol
633
- ]
634
- )
767
+ override.returns(
768
+ T::Array[
769
+ MetronomeSDK::Models::V1::ContractListResponse::Data::CustomerBillingProviderConfiguration::DeliveryMethod::TaggedSymbol
770
+ ]
771
+ )
772
+ end
773
+ def self.values
635
774
  end
636
- def self.values; end
637
775
  end
638
776
  end
639
777
 
640
- # Determines which scheduled and commit charges to consolidate onto the Contract's
641
- # usage invoice. The charge's `timestamp` must match the usage invoice's
642
- # `ending_before` date for consolidation to occur. This field cannot be modified
643
- # after a Contract has been created. If this field is omitted, charges will appear
644
- # on a separate invoice from usage charges.
645
- module ScheduledChargesOnUsageInvoices
646
- extend MetronomeSDK::Internal::Type::Enum
778
+ class PrepaidBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
779
+ OrHash =
780
+ T.type_alias do
781
+ T.any(
782
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration,
783
+ MetronomeSDK::Internal::AnyHash
784
+ )
785
+ end
647
786
 
648
- TaggedSymbol =
649
- T.type_alias { T.all(Symbol, MetronomeSDK::Models::V1::ContractListResponse::Data::ScheduledChargesOnUsageInvoices) }
650
- OrSymbol = T.type_alias { T.any(Symbol, String) }
787
+ sig do
788
+ returns(
789
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit
790
+ )
791
+ end
792
+ attr_reader :commit
651
793
 
652
- ALL =
653
- T.let(
654
- :ALL,
655
- MetronomeSDK::Models::V1::ContractListResponse::Data::ScheduledChargesOnUsageInvoices::TaggedSymbol
794
+ sig do
795
+ params(
796
+ commit:
797
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::OrHash
798
+ ).void
799
+ end
800
+ attr_writer :commit
801
+
802
+ # When set to false, the contract will not be evaluated against the
803
+ # threshold_amount. Toggling to true will result an immediate evaluation,
804
+ # regardless of prior state.
805
+ sig { returns(T::Boolean) }
806
+ attr_accessor :is_enabled
807
+
808
+ sig do
809
+ returns(
810
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig
656
811
  )
812
+ end
813
+ attr_reader :payment_gate_config
814
+
815
+ sig do
816
+ params(
817
+ payment_gate_config:
818
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::OrHash
819
+ ).void
820
+ end
821
+ attr_writer :payment_gate_config
822
+
823
+ # Specify the amount the balance should be recharged to.
824
+ sig { returns(Float) }
825
+ attr_accessor :recharge_to_amount
826
+
827
+ # Specify the threshold amount for the contract. Each time the contract's prepaid
828
+ # balance lowers to this amount, a threshold charge will be initiated.
829
+ sig { returns(Float) }
830
+ attr_accessor :threshold_amount
831
+
832
+ sig do
833
+ params(
834
+ commit:
835
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit::OrHash,
836
+ is_enabled: T::Boolean,
837
+ payment_gate_config:
838
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::OrHash,
839
+ recharge_to_amount: Float,
840
+ threshold_amount: Float
841
+ ).returns(T.attached_class)
842
+ end
843
+ def self.new(
844
+ commit:,
845
+ # When set to false, the contract will not be evaluated against the
846
+ # threshold_amount. Toggling to true will result an immediate evaluation,
847
+ # regardless of prior state.
848
+ is_enabled:,
849
+ payment_gate_config:,
850
+ # Specify the amount the balance should be recharged to.
851
+ recharge_to_amount:,
852
+ # Specify the threshold amount for the contract. Each time the contract's prepaid
853
+ # balance lowers to this amount, a threshold charge will be initiated.
854
+ threshold_amount:
855
+ )
856
+ end
657
857
 
658
858
  sig do
659
- override
660
- .returns(
661
- T::Array[MetronomeSDK::Models::V1::ContractListResponse::Data::ScheduledChargesOnUsageInvoices::TaggedSymbol]
859
+ override.returns(
860
+ {
861
+ commit:
862
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit,
863
+ is_enabled: T::Boolean,
864
+ payment_gate_config:
865
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig,
866
+ recharge_to_amount: Float,
867
+ threshold_amount: Float
868
+ }
869
+ )
870
+ end
871
+ def to_hash
872
+ end
873
+
874
+ class Commit < MetronomeSDK::Internal::Type::BaseModel
875
+ OrHash =
876
+ T.type_alias do
877
+ T.any(
878
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::Commit,
879
+ MetronomeSDK::Internal::AnyHash
880
+ )
881
+ end
882
+
883
+ # The commit product that will be used to generate the line item for commit
884
+ # payment.
885
+ sig { returns(String) }
886
+ attr_accessor :product_id
887
+
888
+ # Which products the threshold commit applies to. If both applicable_product_ids
889
+ # and applicable_product_tags are not provided, the commit applies to all
890
+ # products.
891
+ sig { returns(T.nilable(T::Array[String])) }
892
+ attr_reader :applicable_product_ids
893
+
894
+ sig { params(applicable_product_ids: T::Array[String]).void }
895
+ attr_writer :applicable_product_ids
896
+
897
+ # Which tags the threshold commit applies to. If both applicable_product_ids and
898
+ # applicable_product_tags are not provided, the commit applies to all products.
899
+ sig { returns(T.nilable(T::Array[String])) }
900
+ attr_reader :applicable_product_tags
901
+
902
+ sig { params(applicable_product_tags: T::Array[String]).void }
903
+ attr_writer :applicable_product_tags
904
+
905
+ sig { returns(T.nilable(String)) }
906
+ attr_reader :description
907
+
908
+ sig { params(description: String).void }
909
+ attr_writer :description
910
+
911
+ # Specify the name of the line item for the threshold charge. If left blank, it
912
+ # will default to the commit product name.
913
+ sig { returns(T.nilable(String)) }
914
+ attr_reader :name
915
+
916
+ sig { params(name: String).void }
917
+ attr_writer :name
918
+
919
+ sig do
920
+ params(
921
+ product_id: String,
922
+ applicable_product_ids: T::Array[String],
923
+ applicable_product_tags: T::Array[String],
924
+ description: String,
925
+ name: String
926
+ ).returns(T.attached_class)
927
+ end
928
+ def self.new(
929
+ # The commit product that will be used to generate the line item for commit
930
+ # payment.
931
+ product_id:,
932
+ # Which products the threshold commit applies to. If both applicable_product_ids
933
+ # and applicable_product_tags are not provided, the commit applies to all
934
+ # products.
935
+ applicable_product_ids: nil,
936
+ # Which tags the threshold commit applies to. If both applicable_product_ids and
937
+ # applicable_product_tags are not provided, the commit applies to all products.
938
+ applicable_product_tags: nil,
939
+ description: nil,
940
+ # Specify the name of the line item for the threshold charge. If left blank, it
941
+ # will default to the commit product name.
942
+ name: nil
943
+ )
944
+ end
945
+
946
+ sig do
947
+ override.returns(
948
+ {
949
+ product_id: String,
950
+ applicable_product_ids: T::Array[String],
951
+ applicable_product_tags: T::Array[String],
952
+ description: String,
953
+ name: String
954
+ }
955
+ )
956
+ end
957
+ def to_hash
958
+ end
959
+ end
960
+
961
+ class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
962
+ OrHash =
963
+ T.type_alias do
964
+ T.any(
965
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig,
966
+ MetronomeSDK::Internal::AnyHash
967
+ )
968
+ end
969
+
970
+ # Gate access to the commit balance based on successful collection of payment.
971
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
972
+ # facilitate payment using your own payment integration. Select NONE if you do not
973
+ # wish to payment gate the commit balance.
974
+ sig do
975
+ returns(
976
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol
977
+ )
978
+ end
979
+ attr_accessor :payment_gate_type
980
+
981
+ # Only applicable if using Stripe as your payment gateway through Metronome.
982
+ sig do
983
+ returns(
984
+ T.nilable(
985
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig
986
+ )
987
+ )
988
+ end
989
+ attr_reader :stripe_config
990
+
991
+ sig do
992
+ params(
993
+ stripe_config:
994
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::OrHash
995
+ ).void
996
+ end
997
+ attr_writer :stripe_config
998
+
999
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
1000
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
1001
+ # will default to NONE.
1002
+ sig do
1003
+ returns(
1004
+ T.nilable(
1005
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
1006
+ )
662
1007
  )
1008
+ end
1009
+ attr_reader :tax_type
1010
+
1011
+ sig do
1012
+ params(
1013
+ tax_type:
1014
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::OrSymbol
1015
+ ).void
1016
+ end
1017
+ attr_writer :tax_type
1018
+
1019
+ sig do
1020
+ params(
1021
+ payment_gate_type:
1022
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType::OrSymbol,
1023
+ stripe_config:
1024
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::OrHash,
1025
+ tax_type:
1026
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::OrSymbol
1027
+ ).returns(T.attached_class)
1028
+ end
1029
+ def self.new(
1030
+ # Gate access to the commit balance based on successful collection of payment.
1031
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
1032
+ # facilitate payment using your own payment integration. Select NONE if you do not
1033
+ # wish to payment gate the commit balance.
1034
+ payment_gate_type:,
1035
+ # Only applicable if using Stripe as your payment gateway through Metronome.
1036
+ stripe_config: nil,
1037
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
1038
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
1039
+ # will default to NONE.
1040
+ tax_type: nil
1041
+ )
1042
+ end
1043
+
1044
+ sig do
1045
+ override.returns(
1046
+ {
1047
+ payment_gate_type:
1048
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol,
1049
+ stripe_config:
1050
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig,
1051
+ tax_type:
1052
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
1053
+ }
1054
+ )
1055
+ end
1056
+ def to_hash
1057
+ end
1058
+
1059
+ # Gate access to the commit balance based on successful collection of payment.
1060
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
1061
+ # facilitate payment using your own payment integration. Select NONE if you do not
1062
+ # wish to payment gate the commit balance.
1063
+ module PaymentGateType
1064
+ extend MetronomeSDK::Internal::Type::Enum
1065
+
1066
+ TaggedSymbol =
1067
+ T.type_alias do
1068
+ T.all(
1069
+ Symbol,
1070
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType
1071
+ )
1072
+ end
1073
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1074
+
1075
+ NONE =
1076
+ T.let(
1077
+ :NONE,
1078
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol
1079
+ )
1080
+ STRIPE =
1081
+ T.let(
1082
+ :STRIPE,
1083
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol
1084
+ )
1085
+ EXTERNAL =
1086
+ T.let(
1087
+ :EXTERNAL,
1088
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol
1089
+ )
1090
+
1091
+ sig do
1092
+ override.returns(
1093
+ T::Array[
1094
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol
1095
+ ]
1096
+ )
1097
+ end
1098
+ def self.values
1099
+ end
1100
+ end
1101
+
1102
+ class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
1103
+ OrHash =
1104
+ T.type_alias do
1105
+ T.any(
1106
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig,
1107
+ MetronomeSDK::Internal::AnyHash
1108
+ )
1109
+ end
1110
+
1111
+ # If left blank, will default to INVOICE
1112
+ sig do
1113
+ returns(
1114
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
1115
+ )
1116
+ end
1117
+ attr_accessor :payment_type
1118
+
1119
+ # Only applicable if using Stripe as your payment gateway through Metronome.
1120
+ sig do
1121
+ params(
1122
+ payment_type:
1123
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol
1124
+ ).returns(T.attached_class)
1125
+ end
1126
+ def self.new(
1127
+ # If left blank, will default to INVOICE
1128
+ payment_type:
1129
+ )
1130
+ end
1131
+
1132
+ sig do
1133
+ override.returns(
1134
+ {
1135
+ payment_type:
1136
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
1137
+ }
1138
+ )
1139
+ end
1140
+ def to_hash
1141
+ end
1142
+
1143
+ # If left blank, will default to INVOICE
1144
+ module PaymentType
1145
+ extend MetronomeSDK::Internal::Type::Enum
1146
+
1147
+ TaggedSymbol =
1148
+ T.type_alias do
1149
+ T.all(
1150
+ Symbol,
1151
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType
1152
+ )
1153
+ end
1154
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1155
+
1156
+ INVOICE =
1157
+ T.let(
1158
+ :INVOICE,
1159
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
1160
+ )
1161
+ PAYMENT_INTENT =
1162
+ T.let(
1163
+ :PAYMENT_INTENT,
1164
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
1165
+ )
1166
+
1167
+ sig do
1168
+ override.returns(
1169
+ T::Array[
1170
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
1171
+ ]
1172
+ )
1173
+ end
1174
+ def self.values
1175
+ end
1176
+ end
1177
+ end
1178
+
1179
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
1180
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
1181
+ # will default to NONE.
1182
+ module TaxType
1183
+ extend MetronomeSDK::Internal::Type::Enum
1184
+
1185
+ TaggedSymbol =
1186
+ T.type_alias do
1187
+ T.all(
1188
+ Symbol,
1189
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType
1190
+ )
1191
+ end
1192
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1193
+
1194
+ NONE =
1195
+ T.let(
1196
+ :NONE,
1197
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
1198
+ )
1199
+ STRIPE =
1200
+ T.let(
1201
+ :STRIPE,
1202
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
1203
+ )
1204
+
1205
+ sig do
1206
+ override.returns(
1207
+ T::Array[
1208
+ MetronomeSDK::Models::V1::ContractListResponse::Data::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
1209
+ ]
1210
+ )
1211
+ end
1212
+ def self.values
1213
+ end
1214
+ end
1215
+ end
1216
+ end
1217
+
1218
+ # Determines which scheduled and commit charges to consolidate onto the Contract's
1219
+ # usage invoice. The charge's `timestamp` must match the usage invoice's
1220
+ # `ending_before` date for consolidation to occur. This field cannot be modified
1221
+ # after a Contract has been created. If this field is omitted, charges will appear
1222
+ # on a separate invoice from usage charges.
1223
+ module ScheduledChargesOnUsageInvoices
1224
+ extend MetronomeSDK::Internal::Type::Enum
1225
+
1226
+ TaggedSymbol =
1227
+ T.type_alias do
1228
+ T.all(
1229
+ Symbol,
1230
+ MetronomeSDK::Models::V1::ContractListResponse::Data::ScheduledChargesOnUsageInvoices
1231
+ )
1232
+ end
1233
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1234
+
1235
+ ALL =
1236
+ T.let(
1237
+ :ALL,
1238
+ MetronomeSDK::Models::V1::ContractListResponse::Data::ScheduledChargesOnUsageInvoices::TaggedSymbol
1239
+ )
1240
+
1241
+ sig do
1242
+ override.returns(
1243
+ T::Array[
1244
+ MetronomeSDK::Models::V1::ContractListResponse::Data::ScheduledChargesOnUsageInvoices::TaggedSymbol
1245
+ ]
1246
+ )
1247
+ end
1248
+ def self.values
1249
+ end
1250
+ end
1251
+
1252
+ class SpendThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
1253
+ OrHash =
1254
+ T.type_alias do
1255
+ T.any(
1256
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration,
1257
+ MetronomeSDK::Internal::AnyHash
1258
+ )
1259
+ end
1260
+
1261
+ sig do
1262
+ returns(
1263
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::Commit
1264
+ )
1265
+ end
1266
+ attr_reader :commit
1267
+
1268
+ sig do
1269
+ params(
1270
+ commit:
1271
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::Commit::OrHash
1272
+ ).void
1273
+ end
1274
+ attr_writer :commit
1275
+
1276
+ # When set to false, the contract will not be evaluated against the
1277
+ # threshold_amount. Toggling to true will result an immediate evaluation,
1278
+ # regardless of prior state.
1279
+ sig { returns(T::Boolean) }
1280
+ attr_accessor :is_enabled
1281
+
1282
+ sig do
1283
+ returns(
1284
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig
1285
+ )
1286
+ end
1287
+ attr_reader :payment_gate_config
1288
+
1289
+ sig do
1290
+ params(
1291
+ payment_gate_config:
1292
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::OrHash
1293
+ ).void
1294
+ end
1295
+ attr_writer :payment_gate_config
1296
+
1297
+ # Specify the threshold amount for the contract. Each time the contract's usage
1298
+ # hits this amount, a threshold charge will be initiated.
1299
+ sig { returns(Float) }
1300
+ attr_accessor :threshold_amount
1301
+
1302
+ sig do
1303
+ params(
1304
+ commit:
1305
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::Commit::OrHash,
1306
+ is_enabled: T::Boolean,
1307
+ payment_gate_config:
1308
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::OrHash,
1309
+ threshold_amount: Float
1310
+ ).returns(T.attached_class)
1311
+ end
1312
+ def self.new(
1313
+ commit:,
1314
+ # When set to false, the contract will not be evaluated against the
1315
+ # threshold_amount. Toggling to true will result an immediate evaluation,
1316
+ # regardless of prior state.
1317
+ is_enabled:,
1318
+ payment_gate_config:,
1319
+ # Specify the threshold amount for the contract. Each time the contract's usage
1320
+ # hits this amount, a threshold charge will be initiated.
1321
+ threshold_amount:
1322
+ )
1323
+ end
1324
+
1325
+ sig do
1326
+ override.returns(
1327
+ {
1328
+ commit:
1329
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::Commit,
1330
+ is_enabled: T::Boolean,
1331
+ payment_gate_config:
1332
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig,
1333
+ threshold_amount: Float
1334
+ }
1335
+ )
1336
+ end
1337
+ def to_hash
1338
+ end
1339
+
1340
+ class Commit < MetronomeSDK::Internal::Type::BaseModel
1341
+ OrHash =
1342
+ T.type_alias do
1343
+ T.any(
1344
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::Commit,
1345
+ MetronomeSDK::Internal::AnyHash
1346
+ )
1347
+ end
1348
+
1349
+ # The commit product that will be used to generate the line item for commit
1350
+ # payment.
1351
+ sig { returns(String) }
1352
+ attr_accessor :product_id
1353
+
1354
+ sig { returns(T.nilable(String)) }
1355
+ attr_reader :description
1356
+
1357
+ sig { params(description: String).void }
1358
+ attr_writer :description
1359
+
1360
+ # Specify the name of the line item for the threshold charge. If left blank, it
1361
+ # will default to the commit product name.
1362
+ sig { returns(T.nilable(String)) }
1363
+ attr_reader :name
1364
+
1365
+ sig { params(name: String).void }
1366
+ attr_writer :name
1367
+
1368
+ sig do
1369
+ params(
1370
+ product_id: String,
1371
+ description: String,
1372
+ name: String
1373
+ ).returns(T.attached_class)
1374
+ end
1375
+ def self.new(
1376
+ # The commit product that will be used to generate the line item for commit
1377
+ # payment.
1378
+ product_id:,
1379
+ description: nil,
1380
+ # Specify the name of the line item for the threshold charge. If left blank, it
1381
+ # will default to the commit product name.
1382
+ name: nil
1383
+ )
1384
+ end
1385
+
1386
+ sig do
1387
+ override.returns(
1388
+ { product_id: String, description: String, name: String }
1389
+ )
1390
+ end
1391
+ def to_hash
1392
+ end
1393
+ end
1394
+
1395
+ class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
1396
+ OrHash =
1397
+ T.type_alias do
1398
+ T.any(
1399
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig,
1400
+ MetronomeSDK::Internal::AnyHash
1401
+ )
1402
+ end
1403
+
1404
+ # Gate access to the commit balance based on successful collection of payment.
1405
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
1406
+ # facilitate payment using your own payment integration. Select NONE if you do not
1407
+ # wish to payment gate the commit balance.
1408
+ sig do
1409
+ returns(
1410
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol
1411
+ )
1412
+ end
1413
+ attr_accessor :payment_gate_type
1414
+
1415
+ # Only applicable if using Stripe as your payment gateway through Metronome.
1416
+ sig do
1417
+ returns(
1418
+ T.nilable(
1419
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig
1420
+ )
1421
+ )
1422
+ end
1423
+ attr_reader :stripe_config
1424
+
1425
+ sig do
1426
+ params(
1427
+ stripe_config:
1428
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::OrHash
1429
+ ).void
1430
+ end
1431
+ attr_writer :stripe_config
1432
+
1433
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
1434
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
1435
+ # will default to NONE.
1436
+ sig do
1437
+ returns(
1438
+ T.nilable(
1439
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
1440
+ )
1441
+ )
1442
+ end
1443
+ attr_reader :tax_type
1444
+
1445
+ sig do
1446
+ params(
1447
+ tax_type:
1448
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType::OrSymbol
1449
+ ).void
1450
+ end
1451
+ attr_writer :tax_type
1452
+
1453
+ sig do
1454
+ params(
1455
+ payment_gate_type:
1456
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType::OrSymbol,
1457
+ stripe_config:
1458
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::OrHash,
1459
+ tax_type:
1460
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType::OrSymbol
1461
+ ).returns(T.attached_class)
1462
+ end
1463
+ def self.new(
1464
+ # Gate access to the commit balance based on successful collection of payment.
1465
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
1466
+ # facilitate payment using your own payment integration. Select NONE if you do not
1467
+ # wish to payment gate the commit balance.
1468
+ payment_gate_type:,
1469
+ # Only applicable if using Stripe as your payment gateway through Metronome.
1470
+ stripe_config: nil,
1471
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
1472
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
1473
+ # will default to NONE.
1474
+ tax_type: nil
1475
+ )
1476
+ end
1477
+
1478
+ sig do
1479
+ override.returns(
1480
+ {
1481
+ payment_gate_type:
1482
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol,
1483
+ stripe_config:
1484
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
1485
+ tax_type:
1486
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
1487
+ }
1488
+ )
1489
+ end
1490
+ def to_hash
1491
+ end
1492
+
1493
+ # Gate access to the commit balance based on successful collection of payment.
1494
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
1495
+ # facilitate payment using your own payment integration. Select NONE if you do not
1496
+ # wish to payment gate the commit balance.
1497
+ module PaymentGateType
1498
+ extend MetronomeSDK::Internal::Type::Enum
1499
+
1500
+ TaggedSymbol =
1501
+ T.type_alias do
1502
+ T.all(
1503
+ Symbol,
1504
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType
1505
+ )
1506
+ end
1507
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1508
+
1509
+ NONE =
1510
+ T.let(
1511
+ :NONE,
1512
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol
1513
+ )
1514
+ STRIPE =
1515
+ T.let(
1516
+ :STRIPE,
1517
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol
1518
+ )
1519
+ EXTERNAL =
1520
+ T.let(
1521
+ :EXTERNAL,
1522
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol
1523
+ )
1524
+
1525
+ sig do
1526
+ override.returns(
1527
+ T::Array[
1528
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType::TaggedSymbol
1529
+ ]
1530
+ )
1531
+ end
1532
+ def self.values
1533
+ end
1534
+ end
1535
+
1536
+ class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
1537
+ OrHash =
1538
+ T.type_alias do
1539
+ T.any(
1540
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
1541
+ MetronomeSDK::Internal::AnyHash
1542
+ )
1543
+ end
1544
+
1545
+ # If left blank, will default to INVOICE
1546
+ sig do
1547
+ returns(
1548
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
1549
+ )
1550
+ end
1551
+ attr_accessor :payment_type
1552
+
1553
+ # Only applicable if using Stripe as your payment gateway through Metronome.
1554
+ sig do
1555
+ params(
1556
+ payment_type:
1557
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol
1558
+ ).returns(T.attached_class)
1559
+ end
1560
+ def self.new(
1561
+ # If left blank, will default to INVOICE
1562
+ payment_type:
1563
+ )
1564
+ end
1565
+
1566
+ sig do
1567
+ override.returns(
1568
+ {
1569
+ payment_type:
1570
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
1571
+ }
1572
+ )
1573
+ end
1574
+ def to_hash
1575
+ end
1576
+
1577
+ # If left blank, will default to INVOICE
1578
+ module PaymentType
1579
+ extend MetronomeSDK::Internal::Type::Enum
1580
+
1581
+ TaggedSymbol =
1582
+ T.type_alias do
1583
+ T.all(
1584
+ Symbol,
1585
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType
1586
+ )
1587
+ end
1588
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1589
+
1590
+ INVOICE =
1591
+ T.let(
1592
+ :INVOICE,
1593
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
1594
+ )
1595
+ PAYMENT_INTENT =
1596
+ T.let(
1597
+ :PAYMENT_INTENT,
1598
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
1599
+ )
1600
+
1601
+ sig do
1602
+ override.returns(
1603
+ T::Array[
1604
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType::TaggedSymbol
1605
+ ]
1606
+ )
1607
+ end
1608
+ def self.values
1609
+ end
1610
+ end
1611
+ end
1612
+
1613
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
1614
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
1615
+ # will default to NONE.
1616
+ module TaxType
1617
+ extend MetronomeSDK::Internal::Type::Enum
1618
+
1619
+ TaggedSymbol =
1620
+ T.type_alias do
1621
+ T.all(
1622
+ Symbol,
1623
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType
1624
+ )
1625
+ end
1626
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1627
+
1628
+ NONE =
1629
+ T.let(
1630
+ :NONE,
1631
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
1632
+ )
1633
+ STRIPE =
1634
+ T.let(
1635
+ :STRIPE,
1636
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
1637
+ )
1638
+
1639
+ sig do
1640
+ override.returns(
1641
+ T::Array[
1642
+ MetronomeSDK::Models::V1::ContractListResponse::Data::SpendThresholdConfiguration::PaymentGateConfig::TaxType::TaggedSymbol
1643
+ ]
1644
+ )
1645
+ end
1646
+ def self.values
1647
+ end
1648
+ end
663
1649
  end
664
- def self.values; end
665
1650
  end
666
1651
  end
667
1652
  end