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