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

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 (723) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +97 -0
  3. data/README.md +138 -81
  4. data/SECURITY.md +2 -2
  5. data/lib/metronome_sdk/client.rb +4 -4
  6. data/lib/metronome_sdk/errors.rb +1 -1
  7. data/lib/metronome_sdk/file_part.rb +2 -2
  8. data/lib/metronome_sdk/internal/cursor_page.rb +3 -3
  9. data/lib/metronome_sdk/internal/transport/base_client.rb +80 -8
  10. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +17 -1
  11. data/lib/metronome_sdk/internal/type/array_of.rb +9 -1
  12. data/lib/metronome_sdk/internal/type/base_model.rb +76 -39
  13. data/lib/metronome_sdk/internal/type/boolean.rb +8 -0
  14. data/lib/metronome_sdk/internal/type/converter.rb +18 -0
  15. data/lib/metronome_sdk/internal/type/enum.rb +13 -0
  16. data/lib/metronome_sdk/internal/type/file_input.rb +7 -0
  17. data/lib/metronome_sdk/internal/type/hash_of.rb +9 -1
  18. data/lib/metronome_sdk/internal/type/request_parameters.rb +6 -12
  19. data/lib/metronome_sdk/internal/type/union.rb +13 -0
  20. data/lib/metronome_sdk/internal/type/unknown.rb +8 -0
  21. data/lib/metronome_sdk/internal/util.rb +131 -6
  22. data/lib/metronome_sdk/internal.rb +9 -0
  23. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +14 -3
  24. data/lib/metronome_sdk/models/v1/alert_create_params.rb +8 -16
  25. data/lib/metronome_sdk/models/v1/alert_create_response.rb +14 -3
  26. data/lib/metronome_sdk/models/v1/audit_log_list_params.rb +1 -4
  27. data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +8 -2
  28. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +14 -3
  29. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +86 -12
  30. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +14 -3
  31. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +84 -10
  32. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +85 -10
  33. data/lib/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rb +0 -2
  34. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +241 -98
  35. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +14 -3
  36. data/lib/metronome_sdk/models/v1/contract_archive_params.rb +0 -1
  37. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +14 -3
  38. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +15 -9
  39. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +1276 -3
  40. data/lib/metronome_sdk/models/v1/contract_create_params.rb +933 -402
  41. data/lib/metronome_sdk/models/v1/contract_create_response.rb +14 -3
  42. data/lib/metronome_sdk/models/v1/contract_list_balances_params.rb +0 -2
  43. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +1645 -5
  44. data/lib/metronome_sdk/models/v1/contract_list_params.rb +0 -4
  45. data/lib/metronome_sdk/models/v1/contract_list_response.rb +11371 -152
  46. data/lib/metronome_sdk/models/v1/contract_retrieve_params.rb +0 -2
  47. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +32 -7
  48. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +317 -11
  49. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +11400 -152
  50. data/lib/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rb +34 -0
  51. data/lib/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rb +81 -0
  52. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +3 -3
  53. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +1276 -3
  54. data/lib/metronome_sdk/models/v1/contract_update_end_date_params.rb +0 -2
  55. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +14 -3
  56. data/lib/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rb +0 -1
  57. data/lib/metronome_sdk/models/v1/contracts/named_schedule_update_params.rb +0 -1
  58. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +14 -3
  59. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +98 -13
  60. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +14 -3
  61. data/lib/metronome_sdk/models/v1/contracts/product_list_params.rb +4 -5
  62. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +561 -16
  63. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +8 -2
  64. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +561 -16
  65. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +97 -18
  66. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +14 -3
  67. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_params.rb +24 -0
  68. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +31 -0
  69. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +6 -4
  70. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +14 -3
  71. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +42 -6
  72. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +8 -2
  73. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +32 -6
  74. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +181 -8
  75. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +42 -6
  76. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +3 -2
  77. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +14 -3
  78. data/lib/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rb +0 -1
  79. data/lib/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rb +0 -1
  80. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +14 -3
  81. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +3 -1
  82. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +14 -3
  83. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +83 -18
  84. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +16 -3
  85. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +74 -17
  86. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +61 -15
  87. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +32 -6
  88. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +180 -8
  89. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +81 -15
  90. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +14 -3
  91. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +14 -3
  92. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +0 -4
  93. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +153 -15
  94. data/lib/metronome_sdk/models/v1/credit_grant_list_params.rb +0 -3
  95. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +175 -18
  96. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +14 -3
  97. data/lib/metronome_sdk/models/v1/custom_field_add_key_params.rb +1 -1
  98. data/lib/metronome_sdk/models/v1/custom_field_delete_values_params.rb +1 -1
  99. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +3 -1
  100. data/lib/metronome_sdk/models/v1/custom_field_remove_key_params.rb +1 -1
  101. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +1 -1
  102. data/lib/metronome_sdk/models/v1/customer_archive_params.rb +8 -2
  103. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +14 -3
  104. data/lib/metronome_sdk/models/v1/customer_create_params.rb +13 -12
  105. data/lib/metronome_sdk/models/v1/customer_create_response.rb +50 -3
  106. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_params.rb +0 -1
  107. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +85 -10
  108. data/lib/metronome_sdk/models/v1/customer_list_params.rb +0 -2
  109. data/lib/metronome_sdk/models/v1/{customer_detail.rb → customer_list_response.rb} +15 -17
  110. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +126 -3
  111. data/lib/metronome_sdk/models/v1/customer_set_name_params.rb +0 -1
  112. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +50 -3
  113. data/lib/metronome_sdk/models/v1/customer_update_config_params.rb +0 -1
  114. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +3 -2
  115. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +276 -3
  116. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +26 -1
  117. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +279 -3
  118. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +3 -5
  119. data/lib/metronome_sdk/models/v1/customers/billing_config_delete_params.rb +1 -1
  120. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rb +1 -1
  121. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +0 -3
  122. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +72 -27
  123. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +14 -3
  124. data/lib/metronome_sdk/models/v1/customers/commit_list_params.rb +0 -2
  125. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +1047 -3
  126. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_params.rb +0 -2
  127. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +14 -3
  128. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +58 -9
  129. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +14 -3
  130. data/lib/metronome_sdk/models/v1/customers/credit_list_params.rb +0 -2
  131. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +593 -3
  132. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_params.rb +0 -1
  133. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +14 -3
  134. data/lib/metronome_sdk/models/v1/customers/invoice_add_charge_params.rb +0 -2
  135. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +4 -6
  136. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +1271 -2
  137. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +1 -4
  138. data/lib/metronome_sdk/models/v1/customers/{invoice.rb → invoice_list_response.rb} +321 -117
  139. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +1276 -3
  140. data/lib/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rb +0 -1
  141. data/lib/metronome_sdk/models/v1/customers/named_schedule_update_params.rb +0 -1
  142. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +9 -14
  143. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +14 -3
  144. data/lib/metronome_sdk/models/v1/customers/plan_end_params.rb +0 -3
  145. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +21 -3
  146. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +11 -7
  147. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +286 -3
  148. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +20 -6
  149. data/lib/metronome_sdk/models/v1/plan_list_customers_params.rb +2 -2
  150. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +128 -3
  151. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +3 -1
  152. data/lib/metronome_sdk/models/v1/usage_list_params.rb +5 -7
  153. data/lib/metronome_sdk/models/v1/usage_list_response.rb +0 -1
  154. data/lib/metronome_sdk/models/v1/usage_list_with_groups_params.rb +2 -5
  155. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +73 -11
  156. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +14 -3
  157. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +63 -7
  158. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +14 -3
  159. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +1751 -462
  160. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +14 -3
  161. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +2212 -142
  162. data/lib/metronome_sdk/models/v2/contract_list_params.rb +0 -4
  163. data/lib/metronome_sdk/models/v2/contract_list_response.rb +1485 -342
  164. data/lib/metronome_sdk/models/v2/contract_retrieve_params.rb +0 -3
  165. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +1482 -336
  166. data/lib/metronome_sdk/models.rb +45 -0
  167. data/lib/metronome_sdk/request_options.rb +4 -0
  168. data/lib/metronome_sdk/resources/v1/alerts.rb +2 -12
  169. data/lib/metronome_sdk/resources/v1/audit_logs.rb +1 -4
  170. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +6 -10
  171. data/lib/metronome_sdk/resources/v1/contracts/named_schedules.rb +2 -4
  172. data/lib/metronome_sdk/resources/v1/contracts/products.rb +13 -28
  173. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rb +2 -5
  174. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +2 -4
  175. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +7 -13
  176. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +26 -11
  177. data/lib/metronome_sdk/resources/v1/contracts.rb +43 -35
  178. data/lib/metronome_sdk/resources/v1/credit_grants.rb +6 -18
  179. data/lib/metronome_sdk/resources/v1/custom_fields.rb +5 -5
  180. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +9 -5
  181. data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +3 -4
  182. data/lib/metronome_sdk/resources/v1/customers/commits.rb +6 -17
  183. data/lib/metronome_sdk/resources/v1/customers/credits.rb +6 -12
  184. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +6 -18
  185. data/lib/metronome_sdk/resources/v1/customers/named_schedules.rb +2 -4
  186. data/lib/metronome_sdk/resources/v1/customers/plans.rb +4 -14
  187. data/lib/metronome_sdk/resources/v1/customers.rb +13 -19
  188. data/lib/metronome_sdk/resources/v1/dashboards.rb +1 -1
  189. data/lib/metronome_sdk/resources/v1/invoices.rb +2 -2
  190. data/lib/metronome_sdk/resources/v1/plans.rb +5 -5
  191. data/lib/metronome_sdk/resources/v1/pricing_units.rb +1 -1
  192. data/lib/metronome_sdk/resources/v1/usage.rb +3 -8
  193. data/lib/metronome_sdk/resources/v2/contracts.rb +32 -20
  194. data/lib/metronome_sdk/version.rb +1 -1
  195. data/lib/metronome_sdk.rb +12 -28
  196. data/rbi/metronome_sdk/client.rbi +5 -4
  197. data/rbi/metronome_sdk/errors.rbi +34 -15
  198. data/rbi/metronome_sdk/file_part.rbi +9 -6
  199. data/rbi/metronome_sdk/internal/cursor_page.rbi +2 -1
  200. data/rbi/metronome_sdk/internal/transport/base_client.rbi +165 -77
  201. data/rbi/metronome_sdk/internal/transport/pooled_net_requester.rbi +33 -13
  202. data/rbi/metronome_sdk/internal/type/array_of.rbi +40 -24
  203. data/rbi/metronome_sdk/internal/type/base_model.rbi +160 -70
  204. data/rbi/metronome_sdk/internal/type/base_page.rbi +13 -8
  205. data/rbi/metronome_sdk/internal/type/boolean.rbi +22 -14
  206. data/rbi/metronome_sdk/internal/type/converter.rbi +72 -28
  207. data/rbi/metronome_sdk/internal/type/enum.rbi +29 -13
  208. data/rbi/metronome_sdk/internal/type/file_input.rbi +13 -4
  209. data/rbi/metronome_sdk/internal/type/hash_of.rbi +40 -24
  210. data/rbi/metronome_sdk/internal/type/request_parameters.rbi +14 -4
  211. data/rbi/metronome_sdk/internal/type/union.rbi +58 -22
  212. data/rbi/metronome_sdk/internal/type/unknown.rbi +22 -6
  213. data/rbi/metronome_sdk/internal/util.rbi +272 -89
  214. data/rbi/metronome_sdk/internal.rbi +7 -0
  215. data/rbi/metronome_sdk/models/v1/alert_archive_params.rbi +22 -11
  216. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +49 -6
  217. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +175 -81
  218. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +49 -6
  219. data/rbi/metronome_sdk/models/v1/audit_log_list_params.rbi +59 -26
  220. data/rbi/metronome_sdk/models/v1/audit_log_list_response.rbi +127 -45
  221. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +25 -6
  222. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +56 -6
  223. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +253 -41
  224. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +55 -6
  225. data/rbi/metronome_sdk/models/v1/billable_metric_list_params.rbi +23 -14
  226. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +253 -41
  227. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_params.rbi +22 -6
  228. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +264 -50
  229. data/rbi/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbi +27 -18
  230. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +1808 -784
  231. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +49 -6
  232. data/rbi/metronome_sdk/models/v1/contract_archive_params.rbi +23 -14
  233. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +51 -6
  234. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbi +178 -110
  235. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +2611 -6
  236. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +4937 -2578
  237. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +49 -6
  238. data/rbi/metronome_sdk/models/v1/contract_list_balances_params.rbi +30 -21
  239. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +3411 -15
  240. data/rbi/metronome_sdk/models/v1/contract_list_params.rbi +26 -17
  241. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +24250 -325
  242. data/rbi/metronome_sdk/models/v1/contract_retrieve_params.rbi +24 -15
  243. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbi +143 -45
  244. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +804 -74
  245. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +24250 -337
  246. data/rbi/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rbi +58 -0
  247. data/rbi/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rbi +212 -0
  248. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rbi +66 -41
  249. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +2611 -6
  250. data/rbi/metronome_sdk/models/v1/contract_set_usage_filter_params.rbi +22 -15
  251. data/rbi/metronome_sdk/models/v1/contract_update_end_date_params.rbi +24 -15
  252. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +56 -6
  253. data/rbi/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rbi +23 -14
  254. data/rbi/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rbi +54 -17
  255. data/rbi/metronome_sdk/models/v1/contracts/named_schedule_update_params.rbi +25 -16
  256. data/rbi/metronome_sdk/models/v1/contracts/product_archive_params.rbi +23 -6
  257. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +58 -6
  258. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +308 -46
  259. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +58 -6
  260. data/rbi/metronome_sdk/models/v1/contracts/product_list_params.rbi +66 -28
  261. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +1247 -90
  262. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +25 -6
  263. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +1278 -116
  264. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +257 -33
  265. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +58 -6
  266. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbi +42 -0
  267. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbi +75 -0
  268. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_params.rbi +109 -45
  269. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +58 -6
  270. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_params.rbi +23 -14
  271. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +182 -55
  272. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +25 -6
  273. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbi +138 -44
  274. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +509 -71
  275. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +213 -81
  276. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_params.rbi +70 -25
  277. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +58 -6
  278. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rbi +24 -15
  279. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rbi +54 -19
  280. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rbi +26 -17
  281. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rbi +22 -13
  282. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +58 -6
  283. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rbi +55 -24
  284. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +58 -6
  285. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +323 -98
  286. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +60 -6
  287. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +310 -78
  288. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +277 -81
  289. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbi +144 -44
  290. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +482 -51
  291. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +303 -80
  292. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +53 -6
  293. data/rbi/metronome_sdk/models/v1/credit_grant_edit_params.rbi +24 -15
  294. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +51 -6
  295. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +25 -16
  296. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +383 -77
  297. data/rbi/metronome_sdk/models/v1/credit_grant_list_params.rbi +27 -18
  298. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +436 -72
  299. data/rbi/metronome_sdk/models/v1/credit_grant_void_params.rbi +23 -14
  300. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +51 -6
  301. data/rbi/metronome_sdk/models/v1/custom_field_add_key_params.rbi +122 -37
  302. data/rbi/metronome_sdk/models/v1/custom_field_delete_values_params.rbi +120 -37
  303. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_params.rbi +140 -37
  304. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +136 -43
  305. data/rbi/metronome_sdk/models/v1/custom_field_remove_key_params.rbi +126 -36
  306. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +127 -37
  307. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +25 -6
  308. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +51 -6
  309. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +247 -158
  310. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +96 -7
  311. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_params.rbi +25 -16
  312. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +237 -44
  313. data/rbi/metronome_sdk/models/v1/customer_list_costs_params.rbi +25 -16
  314. data/rbi/metronome_sdk/models/v1/customer_list_costs_response.rbi +100 -49
  315. data/rbi/metronome_sdk/models/v1/customer_list_params.rbi +26 -17
  316. data/rbi/metronome_sdk/models/v1/customer_list_response.rbi +242 -0
  317. data/rbi/metronome_sdk/models/v1/customer_retrieve_params.rbi +22 -6
  318. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +267 -7
  319. data/rbi/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rbi +21 -13
  320. data/rbi/metronome_sdk/models/v1/customer_set_name_params.rbi +22 -6
  321. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +98 -7
  322. data/rbi/metronome_sdk/models/v1/customer_update_config_params.rbi +23 -14
  323. data/rbi/metronome_sdk/models/v1/customers/alert_list_params.rbi +69 -25
  324. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +641 -9
  325. data/rbi/metronome_sdk/models/v1/customers/alert_reset_params.rbi +15 -5
  326. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +77 -5
  327. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +642 -8
  328. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +129 -79
  329. data/rbi/metronome_sdk/models/v1/customers/billing_config_delete_params.rbi +54 -29
  330. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbi +54 -29
  331. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +111 -68
  332. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +429 -171
  333. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +58 -6
  334. data/rbi/metronome_sdk/models/v1/customers/commit_list_params.rbi +30 -21
  335. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +2183 -6
  336. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_params.rbi +24 -15
  337. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +58 -6
  338. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +250 -66
  339. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +58 -6
  340. data/rbi/metronome_sdk/models/v1/customers/credit_list_params.rbi +30 -21
  341. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +1243 -6
  342. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_params.rbi +23 -14
  343. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +58 -6
  344. data/rbi/metronome_sdk/models/v1/customers/invoice_add_charge_params.rbi +27 -18
  345. data/rbi/metronome_sdk/models/v1/customers/invoice_add_charge_response.rbi +12 -2
  346. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rbi +101 -43
  347. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +2579 -5
  348. data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +70 -28
  349. data/rbi/metronome_sdk/models/v1/customers/invoice_list_response.rbi +2587 -0
  350. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_params.rbi +23 -14
  351. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +2628 -7
  352. data/rbi/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rbi +23 -14
  353. data/rbi/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rbi +54 -17
  354. data/rbi/metronome_sdk/models/v1/customers/named_schedule_update_params.rbi +25 -16
  355. data/rbi/metronome_sdk/models/v1/customers/plan_add_params.rbi +205 -119
  356. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +55 -6
  357. data/rbi/metronome_sdk/models/v1/customers/plan_end_params.rbi +25 -16
  358. data/rbi/metronome_sdk/models/v1/customers/plan_end_response.rbi +12 -2
  359. data/rbi/metronome_sdk/models/v1/customers/plan_list_params.rbi +23 -14
  360. data/rbi/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rbi +24 -15
  361. data/rbi/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbi +98 -48
  362. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +133 -50
  363. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +215 -122
  364. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rbi +44 -13
  365. data/rbi/metronome_sdk/models/v1/invoice_regenerate_params.rbi +20 -9
  366. data/rbi/metronome_sdk/models/v1/invoice_regenerate_response.rbi +42 -13
  367. data/rbi/metronome_sdk/models/v1/invoice_void_params.rbi +20 -9
  368. data/rbi/metronome_sdk/models/v1/invoice_void_response.rbi +41 -11
  369. data/rbi/metronome_sdk/models/v1/plan_get_details_params.rbi +19 -6
  370. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +572 -7
  371. data/rbi/metronome_sdk/models/v1/plan_list_charges_params.rbi +23 -14
  372. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +200 -76
  373. data/rbi/metronome_sdk/models/v1/plan_list_customers_params.rbi +71 -25
  374. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +300 -32
  375. data/rbi/metronome_sdk/models/v1/plan_list_params.rbi +22 -6
  376. data/rbi/metronome_sdk/models/v1/plan_list_response.rbi +18 -4
  377. data/rbi/metronome_sdk/models/v1/pricing_unit_list_params.rbi +22 -6
  378. data/rbi/metronome_sdk/models/v1/pricing_unit_list_response.rbi +23 -5
  379. data/rbi/metronome_sdk/models/v1/service_list_params.rbi +18 -5
  380. data/rbi/metronome_sdk/models/v1/service_list_response.rbi +73 -24
  381. data/rbi/metronome_sdk/models/v1/usage_ingest_params.rbi +51 -31
  382. data/rbi/metronome_sdk/models/v1/usage_list_params.rbi +126 -45
  383. data/rbi/metronome_sdk/models/v1/usage_list_response.rbi +51 -24
  384. data/rbi/metronome_sdk/models/v1/usage_list_with_groups_params.rbi +96 -37
  385. data/rbi/metronome_sdk/models/v1/usage_list_with_groups_response.rbi +28 -14
  386. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +425 -169
  387. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +53 -6
  388. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +274 -89
  389. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +53 -6
  390. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +6953 -2830
  391. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +49 -6
  392. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_params.rbi +14 -5
  393. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +8529 -3060
  394. data/rbi/metronome_sdk/models/v2/contract_list_params.rbi +26 -17
  395. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +7013 -3240
  396. data/rbi/metronome_sdk/models/v2/contract_retrieve_params.rbi +25 -16
  397. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +7017 -3332
  398. data/rbi/metronome_sdk/models.rbi +7 -0
  399. data/rbi/metronome_sdk/request_options.rbi +18 -7
  400. data/rbi/metronome_sdk/resources/v1/alerts.rbi +25 -13
  401. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +11 -5
  402. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +35 -17
  403. data/rbi/metronome_sdk/resources/v1/contracts/named_schedules.rbi +13 -8
  404. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +61 -23
  405. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rbi +16 -9
  406. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +21 -14
  407. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +45 -31
  408. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +77 -33
  409. data/rbi/metronome_sdk/resources/v1/contracts.rbi +170 -105
  410. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +36 -26
  411. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +34 -26
  412. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +34 -11
  413. data/rbi/metronome_sdk/resources/v1/customers/billing_config.rbi +28 -17
  414. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +35 -22
  415. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +31 -17
  416. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +36 -18
  417. data/rbi/metronome_sdk/resources/v1/customers/named_schedules.rbi +13 -8
  418. data/rbi/metronome_sdk/resources/v1/customers/plans.rbi +38 -30
  419. data/rbi/metronome_sdk/resources/v1/customers.rbi +69 -39
  420. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +21 -24
  421. data/rbi/metronome_sdk/resources/v1/invoices.rbi +16 -7
  422. data/rbi/metronome_sdk/resources/v1/plans.rbi +37 -14
  423. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +14 -4
  424. data/rbi/metronome_sdk/resources/v1/services.rbi +9 -3
  425. data/rbi/metronome_sdk/resources/v1/usage.rbi +30 -17
  426. data/rbi/metronome_sdk/resources/v1.rbi +2 -1
  427. data/rbi/metronome_sdk/resources/v2/contracts.rbi +167 -69
  428. data/rbi/metronome_sdk/resources/v2.rbi +2 -1
  429. data/sig/metronome_sdk/internal/transport/base_client.rbs +16 -1
  430. data/sig/metronome_sdk/internal/transport/pooled_net_requester.rbs +4 -0
  431. data/sig/metronome_sdk/internal/type/array_of.rbs +3 -0
  432. data/sig/metronome_sdk/internal/type/base_model.rbs +13 -5
  433. data/sig/metronome_sdk/internal/type/base_page.rbs +1 -1
  434. data/sig/metronome_sdk/internal/type/boolean.rbs +3 -0
  435. data/sig/metronome_sdk/internal/type/converter.rbs +2 -0
  436. data/sig/metronome_sdk/internal/type/enum.rbs +3 -0
  437. data/sig/metronome_sdk/internal/type/file_input.rbs +2 -0
  438. data/sig/metronome_sdk/internal/type/hash_of.rbs +3 -0
  439. data/sig/metronome_sdk/internal/type/request_parameters.rbs +5 -1
  440. data/sig/metronome_sdk/internal/type/union.rbs +3 -0
  441. data/sig/metronome_sdk/internal/type/unknown.rbs +3 -0
  442. data/sig/metronome_sdk/internal/util.rbs +27 -0
  443. data/sig/metronome_sdk/internal.rbs +4 -0
  444. data/sig/metronome_sdk/models/v1/alert_archive_params.rbs +5 -1
  445. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +19 -4
  446. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +32 -13
  447. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +19 -4
  448. data/sig/metronome_sdk/models/v1/audit_log_list_params.rbs +10 -1
  449. data/sig/metronome_sdk/models/v1/audit_log_list_response.rbs +13 -3
  450. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +12 -4
  451. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +19 -4
  452. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +82 -11
  453. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +19 -4
  454. data/sig/metronome_sdk/models/v1/billable_metric_list_params.rbs +6 -1
  455. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +83 -11
  456. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_params.rbs +4 -1
  457. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +86 -12
  458. data/sig/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbs +10 -1
  459. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +481 -160
  460. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +19 -4
  461. data/sig/metronome_sdk/models/v1/contract_archive_params.rbs +6 -1
  462. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +19 -4
  463. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbs +42 -15
  464. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +1291 -4
  465. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +1196 -401
  466. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +19 -4
  467. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +13 -1
  468. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +1647 -3
  469. data/sig/metronome_sdk/models/v1/contract_list_params.rbs +9 -1
  470. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +11114 -146
  471. data/sig/metronome_sdk/models/v1/contract_retrieve_params.rbs +7 -1
  472. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbs +42 -7
  473. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +312 -16
  474. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +11114 -146
  475. data/sig/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rbs +34 -0
  476. data/sig/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rbs +101 -0
  477. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rbs +22 -5
  478. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +1291 -4
  479. data/sig/metronome_sdk/models/v1/contract_set_usage_filter_params.rbs +8 -1
  480. data/sig/metronome_sdk/models/v1/contract_update_end_date_params.rbs +7 -1
  481. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +18 -4
  482. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rbs +6 -1
  483. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rbs +8 -2
  484. data/sig/metronome_sdk/models/v1/contracts/named_schedule_update_params.rbs +8 -1
  485. data/sig/metronome_sdk/models/v1/contracts/product_archive_params.rbs +4 -1
  486. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +21 -4
  487. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +97 -7
  488. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +21 -4
  489. data/sig/metronome_sdk/models/v1/contracts/product_list_params.rbs +6 -1
  490. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +489 -14
  491. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +12 -4
  492. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +492 -15
  493. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +98 -7
  494. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +21 -4
  495. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +27 -0
  496. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +34 -0
  497. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_params.rbs +28 -13
  498. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +21 -4
  499. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_params.rbs +6 -1
  500. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +52 -11
  501. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +12 -4
  502. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbs +41 -7
  503. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +185 -11
  504. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +55 -12
  505. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_params.rbs +17 -7
  506. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +21 -4
  507. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rbs +7 -1
  508. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rbs +8 -2
  509. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rbs +9 -1
  510. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rbs +5 -1
  511. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +21 -4
  512. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rbs +9 -5
  513. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +20 -4
  514. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +94 -21
  515. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +21 -4
  516. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +88 -17
  517. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +75 -18
  518. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbs +41 -7
  519. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +181 -10
  520. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +102 -18
  521. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +19 -4
  522. data/sig/metronome_sdk/models/v1/credit_grant_edit_params.rbs +7 -1
  523. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +19 -4
  524. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +8 -1
  525. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +140 -14
  526. data/sig/metronome_sdk/models/v1/credit_grant_list_params.rbs +10 -1
  527. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +169 -17
  528. data/sig/metronome_sdk/models/v1/credit_grant_void_params.rbs +6 -1
  529. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +19 -4
  530. data/sig/metronome_sdk/models/v1/custom_field_add_key_params.rbs +6 -1
  531. data/sig/metronome_sdk/models/v1/custom_field_delete_values_params.rbs +6 -1
  532. data/sig/metronome_sdk/models/v1/custom_field_list_keys_params.rbs +5 -1
  533. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +9 -2
  534. data/sig/metronome_sdk/models/v1/custom_field_remove_key_params.rbs +5 -1
  535. data/sig/metronome_sdk/models/v1/custom_field_set_values_params.rbs +6 -1
  536. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +12 -4
  537. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +19 -4
  538. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +33 -13
  539. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +47 -4
  540. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_params.rbs +8 -1
  541. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +87 -11
  542. data/sig/metronome_sdk/models/v1/customer_list_costs_params.rbs +8 -1
  543. data/sig/metronome_sdk/models/v1/customer_list_costs_response.rbs +16 -3
  544. data/sig/metronome_sdk/models/v1/customer_list_params.rbs +9 -1
  545. data/sig/metronome_sdk/models/v1/{customer_detail.rbs → customer_list_response.rbs} +30 -17
  546. data/sig/metronome_sdk/models/v1/customer_retrieve_params.rbs +4 -1
  547. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +112 -4
  548. data/sig/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rbs +5 -1
  549. data/sig/metronome_sdk/models/v1/customer_set_name_params.rbs +5 -1
  550. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +47 -4
  551. data/sig/metronome_sdk/models/v1/customer_update_config_params.rbs +6 -1
  552. data/sig/metronome_sdk/models/v1/customers/alert_list_params.rbs +6 -1
  553. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +246 -4
  554. data/sig/metronome_sdk/models/v1/customers/alert_reset_params.rbs +5 -1
  555. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +29 -2
  556. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +247 -4
  557. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +9 -1
  558. data/sig/metronome_sdk/models/v1/customers/billing_config_delete_params.rbs +5 -1
  559. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbs +5 -1
  560. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +14 -2
  561. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +123 -27
  562. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +21 -4
  563. data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +13 -1
  564. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +1060 -4
  565. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_params.rbs +7 -1
  566. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +20 -4
  567. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +85 -9
  568. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +21 -4
  569. data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +13 -1
  570. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +599 -4
  571. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_params.rbs +6 -1
  572. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +20 -4
  573. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_params.rbs +10 -1
  574. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_response.rbs +1 -1
  575. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rbs +13 -1
  576. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +1281 -8
  577. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +12 -1
  578. data/sig/metronome_sdk/models/v1/customers/{invoice.rbs → invoice_list_response.rbs} +432 -137
  579. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_params.rbs +6 -1
  580. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +1292 -4
  581. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rbs +6 -1
  582. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rbs +8 -2
  583. data/sig/metronome_sdk/models/v1/customers/named_schedule_update_params.rbs +8 -1
  584. data/sig/metronome_sdk/models/v1/customers/plan_add_params.rbs +49 -25
  585. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +19 -4
  586. data/sig/metronome_sdk/models/v1/customers/plan_end_params.rbs +8 -1
  587. data/sig/metronome_sdk/models/v1/customers/plan_end_response.rbs +1 -1
  588. data/sig/metronome_sdk/models/v1/customers/plan_list_params.rbs +6 -1
  589. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rbs +7 -1
  590. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbs +12 -2
  591. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +35 -6
  592. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +33 -19
  593. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rbs +4 -2
  594. data/sig/metronome_sdk/models/v1/invoice_regenerate_params.rbs +4 -1
  595. data/sig/metronome_sdk/models/v1/invoice_regenerate_response.rbs +4 -2
  596. data/sig/metronome_sdk/models/v1/invoice_void_params.rbs +4 -1
  597. data/sig/metronome_sdk/models/v1/invoice_void_response.rbs +4 -2
  598. data/sig/metronome_sdk/models/v1/plan_get_details_params.rbs +4 -1
  599. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +266 -4
  600. data/sig/metronome_sdk/models/v1/plan_list_charges_params.rbs +6 -1
  601. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +40 -6
  602. data/sig/metronome_sdk/models/v1/plan_list_customers_params.rbs +7 -1
  603. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +119 -5
  604. data/sig/metronome_sdk/models/v1/plan_list_params.rbs +5 -1
  605. data/sig/metronome_sdk/models/v1/plan_list_response.rbs +6 -1
  606. data/sig/metronome_sdk/models/v1/pricing_unit_list_params.rbs +5 -1
  607. data/sig/metronome_sdk/models/v1/pricing_unit_list_response.rbs +1 -1
  608. data/sig/metronome_sdk/models/v1/service_list_params.rbs +1 -1
  609. data/sig/metronome_sdk/models/v1/service_list_response.rbs +8 -2
  610. data/sig/metronome_sdk/models/v1/usage_ingest_params.rbs +16 -7
  611. data/sig/metronome_sdk/models/v1/usage_list_params.rbs +24 -13
  612. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +13 -2
  613. data/sig/metronome_sdk/models/v1/usage_list_with_groups_params.rbs +18 -7
  614. data/sig/metronome_sdk/models/v1/usage_list_with_groups_response.rbs +7 -1
  615. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +141 -50
  616. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +19 -4
  617. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +100 -26
  618. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +19 -4
  619. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +1888 -430
  620. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +19 -4
  621. data/sig/metronome_sdk/models/v2/contract_get_edit_history_params.rbs +5 -1
  622. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +2826 -521
  623. data/sig/metronome_sdk/models/v2/contract_list_params.rbs +9 -1
  624. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +1849 -334
  625. data/sig/metronome_sdk/models/v2/contract_retrieve_params.rbs +8 -1
  626. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +1849 -334
  627. data/sig/metronome_sdk/models.rbs +5 -0
  628. data/sig/metronome_sdk/request_options.rbs +1 -1
  629. data/sig/metronome_sdk/resources/v1/alerts.rbs +2 -2
  630. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +2 -2
  631. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +4 -4
  632. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbs +1 -1
  633. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +5 -4
  634. data/sig/metronome_sdk/resources/v1/contracts/rate_cards.rbs +9 -4
  635. data/sig/metronome_sdk/resources/v1/contracts.rbs +33 -25
  636. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +3 -3
  637. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -0
  638. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +3 -2
  639. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +2 -1
  640. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -1
  641. data/sig/metronome_sdk/resources/v1/customers/plans.rbs +3 -3
  642. data/sig/metronome_sdk/resources/v1/customers.rbs +3 -3
  643. data/sig/metronome_sdk/resources/v1/dashboards.rbs +3 -3
  644. data/sig/metronome_sdk/resources/v1/usage.rbs +3 -3
  645. data/sig/metronome_sdk/resources/v2/contracts.rbs +31 -21
  646. metadata +25 -85
  647. data/lib/metronome_sdk/models/base_usage_filter.rb +0 -27
  648. data/lib/metronome_sdk/models/commit.rb +0 -848
  649. data/lib/metronome_sdk/models/contract_without_amendments.rb +0 -1431
  650. data/lib/metronome_sdk/models/credit.rb +0 -476
  651. data/lib/metronome_sdk/models/credit_type_data.rb +0 -21
  652. data/lib/metronome_sdk/models/discount.rb +0 -68
  653. data/lib/metronome_sdk/models/event_type_filter.rb +0 -35
  654. data/lib/metronome_sdk/models/id.rb +0 -15
  655. data/lib/metronome_sdk/models/override.rb +0 -368
  656. data/lib/metronome_sdk/models/pro_service.rb +0 -75
  657. data/lib/metronome_sdk/models/property_filter.rb +0 -55
  658. data/lib/metronome_sdk/models/rate.rb +0 -106
  659. data/lib/metronome_sdk/models/schedule_duration.rb +0 -50
  660. data/lib/metronome_sdk/models/schedule_point_in_time.rb +0 -62
  661. data/lib/metronome_sdk/models/scheduled_charge.rb +0 -76
  662. data/lib/metronome_sdk/models/tier.rb +0 -21
  663. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +0 -152
  664. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +0 -57
  665. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +0 -43
  666. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +0 -71
  667. data/lib/metronome_sdk/models/v1/customer.rb +0 -55
  668. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +0 -269
  669. data/lib/metronome_sdk/models/v1/plan_detail.rb +0 -200
  670. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +0 -38
  671. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +0 -38
  672. data/rbi/metronome_sdk/models/base_usage_filter.rbi +0 -27
  673. data/rbi/metronome_sdk/models/commit.rbi +0 -1283
  674. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +0 -2407
  675. data/rbi/metronome_sdk/models/credit.rbi +0 -697
  676. data/rbi/metronome_sdk/models/credit_type_data.rbi +0 -19
  677. data/rbi/metronome_sdk/models/discount.rbi +0 -90
  678. data/rbi/metronome_sdk/models/event_type_filter.rbi +0 -40
  679. data/rbi/metronome_sdk/models/id.rbi +0 -16
  680. data/rbi/metronome_sdk/models/override.rbi +0 -503
  681. data/rbi/metronome_sdk/models/pro_service.rbi +0 -92
  682. data/rbi/metronome_sdk/models/property_filter.rbi +0 -75
  683. data/rbi/metronome_sdk/models/rate.rbi +0 -143
  684. data/rbi/metronome_sdk/models/schedule_duration.rbi +0 -58
  685. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +0 -92
  686. data/rbi/metronome_sdk/models/scheduled_charge.rbi +0 -104
  687. data/rbi/metronome_sdk/models/tier.rbi +0 -22
  688. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +0 -214
  689. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +0 -80
  690. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +0 -62
  691. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +0 -81
  692. data/rbi/metronome_sdk/models/v1/customer.rbi +0 -68
  693. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +0 -175
  694. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +0 -445
  695. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +0 -1756
  696. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +0 -303
  697. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +0 -43
  698. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +0 -48
  699. data/sig/metronome_sdk/models/base_usage_filter.rbs +0 -24
  700. data/sig/metronome_sdk/models/commit.rbs +0 -750
  701. data/sig/metronome_sdk/models/contract_without_amendments.rbs +0 -1122
  702. data/sig/metronome_sdk/models/credit.rbs +0 -415
  703. data/sig/metronome_sdk/models/credit_type_data.rbs +0 -15
  704. data/sig/metronome_sdk/models/discount.rbs +0 -56
  705. data/sig/metronome_sdk/models/event_type_filter.rbs +0 -23
  706. data/sig/metronome_sdk/models/id.rbs +0 -13
  707. data/sig/metronome_sdk/models/override.rbs +0 -343
  708. data/sig/metronome_sdk/models/pro_service.rbs +0 -52
  709. data/sig/metronome_sdk/models/property_filter.rbs +0 -36
  710. data/sig/metronome_sdk/models/rate.rbs +0 -86
  711. data/sig/metronome_sdk/models/schedule_duration.rbs +0 -48
  712. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +0 -65
  713. data/sig/metronome_sdk/models/scheduled_charge.rbs +0 -62
  714. data/sig/metronome_sdk/models/tier.rbs +0 -17
  715. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +0 -104
  716. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +0 -43
  717. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +0 -38
  718. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +0 -44
  719. data/sig/metronome_sdk/models/v1/customer.rbs +0 -38
  720. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +0 -213
  721. data/sig/metronome_sdk/models/v1/plan_detail.rbs +0 -173
  722. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +0 -34
  723. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +0 -34
@@ -4,7 +4,21 @@ module MetronomeSDK
4
4
  module Models
5
5
  module V1
6
6
  class ContractListBalancesResponse < MetronomeSDK::Internal::Type::BaseModel
7
- sig { returns(T::Array[T.any(MetronomeSDK::Models::Commit, MetronomeSDK::Models::Credit)]) }
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ MetronomeSDK::Models::V1::ContractListBalancesResponse,
11
+ MetronomeSDK::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ sig do
16
+ returns(
17
+ T::Array[
18
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::Variants
19
+ ]
20
+ )
21
+ end
8
22
  attr_accessor :data
9
23
 
10
24
  sig { returns(T.nilable(String)) }
@@ -12,29 +26,3411 @@ module MetronomeSDK
12
26
 
13
27
  sig do
14
28
  params(
15
- data: T::Array[T.any(MetronomeSDK::Models::Commit, MetronomeSDK::Internal::AnyHash, MetronomeSDK::Models::Credit)],
29
+ data:
30
+ T::Array[
31
+ T.any(
32
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::OrHash,
33
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::OrHash
34
+ )
35
+ ],
16
36
  next_page: T.nilable(String)
17
- )
18
- .returns(T.attached_class)
37
+ ).returns(T.attached_class)
38
+ end
39
+ def self.new(data:, next_page:)
19
40
  end
20
- def self.new(data:, next_page:); end
21
41
 
22
42
  sig do
23
- override
24
- .returns(
25
- {
26
- data: T::Array[T.any(MetronomeSDK::Models::Commit, MetronomeSDK::Models::Credit)],
27
- next_page: T.nilable(String)
28
- }
29
- )
43
+ override.returns(
44
+ {
45
+ data:
46
+ T::Array[
47
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::Variants
48
+ ],
49
+ next_page: T.nilable(String)
50
+ }
51
+ )
52
+ end
53
+ def to_hash
30
54
  end
31
- def to_hash; end
32
55
 
33
56
  module Data
34
57
  extend MetronomeSDK::Internal::Type::Union
35
58
 
36
- sig { override.returns([MetronomeSDK::Models::Commit, MetronomeSDK::Models::Credit]) }
37
- def self.variants; end
59
+ Variants =
60
+ T.type_alias do
61
+ T.any(
62
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0,
63
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1
64
+ )
65
+ end
66
+
67
+ class UnionMember0 < MetronomeSDK::Internal::Type::BaseModel
68
+ OrHash =
69
+ T.type_alias do
70
+ T.any(
71
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0,
72
+ MetronomeSDK::Internal::AnyHash
73
+ )
74
+ end
75
+
76
+ sig { returns(String) }
77
+ attr_accessor :id
78
+
79
+ sig do
80
+ returns(
81
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Product
82
+ )
83
+ end
84
+ attr_reader :product
85
+
86
+ sig do
87
+ params(
88
+ product:
89
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Product::OrHash
90
+ ).void
91
+ end
92
+ attr_writer :product
93
+
94
+ sig do
95
+ returns(
96
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Type::TaggedSymbol
97
+ )
98
+ end
99
+ attr_accessor :type
100
+
101
+ # The schedule that the customer will gain access to the credits purposed with
102
+ # this commit.
103
+ sig do
104
+ returns(
105
+ T.nilable(
106
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::AccessSchedule
107
+ )
108
+ )
109
+ end
110
+ attr_reader :access_schedule
111
+
112
+ sig do
113
+ params(
114
+ access_schedule:
115
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::AccessSchedule::OrHash
116
+ ).void
117
+ end
118
+ attr_writer :access_schedule
119
+
120
+ # (DEPRECATED) Use access_schedule + invoice_schedule instead.
121
+ sig { returns(T.nilable(Float)) }
122
+ attr_reader :amount
123
+
124
+ sig { params(amount: Float).void }
125
+ attr_writer :amount
126
+
127
+ sig { returns(T.nilable(T::Array[String])) }
128
+ attr_reader :applicable_contract_ids
129
+
130
+ sig { params(applicable_contract_ids: T::Array[String]).void }
131
+ attr_writer :applicable_contract_ids
132
+
133
+ sig { returns(T.nilable(T::Array[String])) }
134
+ attr_reader :applicable_product_ids
135
+
136
+ sig { params(applicable_product_ids: T::Array[String]).void }
137
+ attr_writer :applicable_product_ids
138
+
139
+ sig { returns(T.nilable(T::Array[String])) }
140
+ attr_reader :applicable_product_tags
141
+
142
+ sig { params(applicable_product_tags: T::Array[String]).void }
143
+ attr_writer :applicable_product_tags
144
+
145
+ # RFC 3339 timestamp indicating when the commit was archived. If not provided, the
146
+ # commit is not archived.
147
+ sig { returns(T.nilable(Time)) }
148
+ attr_reader :archived_at
149
+
150
+ sig { params(archived_at: Time).void }
151
+ attr_writer :archived_at
152
+
153
+ # The current balance of the credit or commit. This balance reflects the amount of
154
+ # credit or commit that the customer has access to use at this moment - thus,
155
+ # expired and upcoming credit or commit segments contribute 0 to the balance. The
156
+ # balance will match the sum of all ledger entries with the exception of the case
157
+ # where the sum of negative manual ledger entries exceeds the positive amount
158
+ # remaining on the credit or commit - in that case, the balance will be 0. All
159
+ # manual ledger entries associated with active credit or commit segments are
160
+ # included in the balance, including future-dated manual ledger entries.
161
+ sig { returns(T.nilable(Float)) }
162
+ attr_reader :balance
163
+
164
+ sig { params(balance: Float).void }
165
+ attr_writer :balance
166
+
167
+ sig do
168
+ returns(
169
+ T.nilable(
170
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Contract
171
+ )
172
+ )
173
+ end
174
+ attr_reader :contract
175
+
176
+ sig do
177
+ params(
178
+ contract:
179
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Contract::OrHash
180
+ ).void
181
+ end
182
+ attr_writer :contract
183
+
184
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
185
+ attr_reader :custom_fields
186
+
187
+ sig { params(custom_fields: T::Hash[Symbol, String]).void }
188
+ attr_writer :custom_fields
189
+
190
+ sig { returns(T.nilable(String)) }
191
+ attr_reader :description
192
+
193
+ sig { params(description: String).void }
194
+ attr_writer :description
195
+
196
+ # The contract that this commit will be billed on.
197
+ sig do
198
+ returns(
199
+ T.nilable(
200
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::InvoiceContract
201
+ )
202
+ )
203
+ end
204
+ attr_reader :invoice_contract
205
+
206
+ sig do
207
+ params(
208
+ invoice_contract:
209
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::InvoiceContract::OrHash
210
+ ).void
211
+ end
212
+ attr_writer :invoice_contract
213
+
214
+ # The schedule that the customer will be invoiced for this commit.
215
+ sig do
216
+ returns(
217
+ T.nilable(
218
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::InvoiceSchedule
219
+ )
220
+ )
221
+ end
222
+ attr_reader :invoice_schedule
223
+
224
+ sig do
225
+ params(
226
+ invoice_schedule:
227
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::InvoiceSchedule::OrHash
228
+ ).void
229
+ end
230
+ attr_writer :invoice_schedule
231
+
232
+ # A list of ordered events that impact the balance of a commit. For example, an
233
+ # invoice deduction or a rollover.
234
+ sig do
235
+ returns(
236
+ T.nilable(
237
+ T::Array[
238
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::Variants
239
+ ]
240
+ )
241
+ )
242
+ end
243
+ attr_reader :ledger
244
+
245
+ sig do
246
+ params(
247
+ ledger:
248
+ T::Array[
249
+ T.any(
250
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember0::OrHash,
251
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember1::OrHash,
252
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember2::OrHash,
253
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember3::OrHash,
254
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember4::OrHash,
255
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember5::OrHash,
256
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember6::OrHash,
257
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember7::OrHash,
258
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember8::OrHash,
259
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember9::OrHash,
260
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember10::OrHash,
261
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember11::OrHash,
262
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember12::OrHash
263
+ )
264
+ ]
265
+ ).void
266
+ end
267
+ attr_writer :ledger
268
+
269
+ sig { returns(T.nilable(String)) }
270
+ attr_reader :name
271
+
272
+ sig { params(name: String).void }
273
+ attr_writer :name
274
+
275
+ # This field's availability is dependent on your client's configuration.
276
+ sig { returns(T.nilable(String)) }
277
+ attr_reader :netsuite_sales_order_id
278
+
279
+ sig { params(netsuite_sales_order_id: String).void }
280
+ attr_writer :netsuite_sales_order_id
281
+
282
+ # If multiple credits or commits are applicable, the one with the lower priority
283
+ # will apply first.
284
+ sig { returns(T.nilable(Float)) }
285
+ attr_reader :priority
286
+
287
+ sig { params(priority: Float).void }
288
+ attr_writer :priority
289
+
290
+ sig do
291
+ returns(
292
+ T.nilable(
293
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::RateType::TaggedSymbol
294
+ )
295
+ )
296
+ end
297
+ attr_reader :rate_type
298
+
299
+ sig do
300
+ params(
301
+ rate_type:
302
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::RateType::OrSymbol
303
+ ).void
304
+ end
305
+ attr_writer :rate_type
306
+
307
+ sig do
308
+ returns(
309
+ T.nilable(
310
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::RolledOverFrom
311
+ )
312
+ )
313
+ end
314
+ attr_reader :rolled_over_from
315
+
316
+ sig do
317
+ params(
318
+ rolled_over_from:
319
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::RolledOverFrom::OrHash
320
+ ).void
321
+ end
322
+ attr_writer :rolled_over_from
323
+
324
+ sig { returns(T.nilable(Float)) }
325
+ attr_reader :rollover_fraction
326
+
327
+ sig { params(rollover_fraction: Float).void }
328
+ attr_writer :rollover_fraction
329
+
330
+ # This field's availability is dependent on your client's configuration.
331
+ sig { returns(T.nilable(String)) }
332
+ attr_reader :salesforce_opportunity_id
333
+
334
+ sig { params(salesforce_opportunity_id: String).void }
335
+ attr_writer :salesforce_opportunity_id
336
+
337
+ # List of filters that determine what kind of customer usage draws down a commit
338
+ # or credit. A customer's usage needs to meet the condition of at least one of the
339
+ # specifiers to contribute to a commit's or credit's drawdown.
340
+ sig do
341
+ returns(
342
+ T.nilable(
343
+ T::Array[
344
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Specifier
345
+ ]
346
+ )
347
+ )
348
+ end
349
+ attr_reader :specifiers
350
+
351
+ sig do
352
+ params(
353
+ specifiers:
354
+ T::Array[
355
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Specifier::OrHash
356
+ ]
357
+ ).void
358
+ end
359
+ attr_writer :specifiers
360
+
361
+ # Prevents the creation of duplicates. If a request to create a commit or credit
362
+ # is made with a uniqueness key that was previously used to create a commit or
363
+ # credit, a new record will not be created and the request will fail with a 409
364
+ # error.
365
+ sig { returns(T.nilable(String)) }
366
+ attr_reader :uniqueness_key
367
+
368
+ sig { params(uniqueness_key: String).void }
369
+ attr_writer :uniqueness_key
370
+
371
+ sig do
372
+ params(
373
+ id: String,
374
+ product:
375
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Product::OrHash,
376
+ type:
377
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Type::OrSymbol,
378
+ access_schedule:
379
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::AccessSchedule::OrHash,
380
+ amount: Float,
381
+ applicable_contract_ids: T::Array[String],
382
+ applicable_product_ids: T::Array[String],
383
+ applicable_product_tags: T::Array[String],
384
+ archived_at: Time,
385
+ balance: Float,
386
+ contract:
387
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Contract::OrHash,
388
+ custom_fields: T::Hash[Symbol, String],
389
+ description: String,
390
+ invoice_contract:
391
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::InvoiceContract::OrHash,
392
+ invoice_schedule:
393
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::InvoiceSchedule::OrHash,
394
+ ledger:
395
+ T::Array[
396
+ T.any(
397
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember0::OrHash,
398
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember1::OrHash,
399
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember2::OrHash,
400
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember3::OrHash,
401
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember4::OrHash,
402
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember5::OrHash,
403
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember6::OrHash,
404
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember7::OrHash,
405
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember8::OrHash,
406
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember9::OrHash,
407
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember10::OrHash,
408
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember11::OrHash,
409
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember12::OrHash
410
+ )
411
+ ],
412
+ name: String,
413
+ netsuite_sales_order_id: String,
414
+ priority: Float,
415
+ rate_type:
416
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::RateType::OrSymbol,
417
+ rolled_over_from:
418
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::RolledOverFrom::OrHash,
419
+ rollover_fraction: Float,
420
+ salesforce_opportunity_id: String,
421
+ specifiers:
422
+ T::Array[
423
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Specifier::OrHash
424
+ ],
425
+ uniqueness_key: String
426
+ ).returns(T.attached_class)
427
+ end
428
+ def self.new(
429
+ id:,
430
+ product:,
431
+ type:,
432
+ # The schedule that the customer will gain access to the credits purposed with
433
+ # this commit.
434
+ access_schedule: nil,
435
+ # (DEPRECATED) Use access_schedule + invoice_schedule instead.
436
+ amount: nil,
437
+ applicable_contract_ids: nil,
438
+ applicable_product_ids: nil,
439
+ applicable_product_tags: nil,
440
+ # RFC 3339 timestamp indicating when the commit was archived. If not provided, the
441
+ # commit is not archived.
442
+ archived_at: nil,
443
+ # The current balance of the credit or commit. This balance reflects the amount of
444
+ # credit or commit that the customer has access to use at this moment - thus,
445
+ # expired and upcoming credit or commit segments contribute 0 to the balance. The
446
+ # balance will match the sum of all ledger entries with the exception of the case
447
+ # where the sum of negative manual ledger entries exceeds the positive amount
448
+ # remaining on the credit or commit - in that case, the balance will be 0. All
449
+ # manual ledger entries associated with active credit or commit segments are
450
+ # included in the balance, including future-dated manual ledger entries.
451
+ balance: nil,
452
+ contract: nil,
453
+ custom_fields: nil,
454
+ description: nil,
455
+ # The contract that this commit will be billed on.
456
+ invoice_contract: nil,
457
+ # The schedule that the customer will be invoiced for this commit.
458
+ invoice_schedule: nil,
459
+ # A list of ordered events that impact the balance of a commit. For example, an
460
+ # invoice deduction or a rollover.
461
+ ledger: nil,
462
+ name: nil,
463
+ # This field's availability is dependent on your client's configuration.
464
+ netsuite_sales_order_id: nil,
465
+ # If multiple credits or commits are applicable, the one with the lower priority
466
+ # will apply first.
467
+ priority: nil,
468
+ rate_type: nil,
469
+ rolled_over_from: nil,
470
+ rollover_fraction: nil,
471
+ # This field's availability is dependent on your client's configuration.
472
+ salesforce_opportunity_id: nil,
473
+ # List of filters that determine what kind of customer usage draws down a commit
474
+ # or credit. A customer's usage needs to meet the condition of at least one of the
475
+ # specifiers to contribute to a commit's or credit's drawdown.
476
+ specifiers: nil,
477
+ # Prevents the creation of duplicates. If a request to create a commit or credit
478
+ # is made with a uniqueness key that was previously used to create a commit or
479
+ # credit, a new record will not be created and the request will fail with a 409
480
+ # error.
481
+ uniqueness_key: nil
482
+ )
483
+ end
484
+
485
+ sig do
486
+ override.returns(
487
+ {
488
+ id: String,
489
+ product:
490
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Product,
491
+ type:
492
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Type::TaggedSymbol,
493
+ access_schedule:
494
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::AccessSchedule,
495
+ amount: Float,
496
+ applicable_contract_ids: T::Array[String],
497
+ applicable_product_ids: T::Array[String],
498
+ applicable_product_tags: T::Array[String],
499
+ archived_at: Time,
500
+ balance: Float,
501
+ contract:
502
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Contract,
503
+ custom_fields: T::Hash[Symbol, String],
504
+ description: String,
505
+ invoice_contract:
506
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::InvoiceContract,
507
+ invoice_schedule:
508
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::InvoiceSchedule,
509
+ ledger:
510
+ T::Array[
511
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::Variants
512
+ ],
513
+ name: String,
514
+ netsuite_sales_order_id: String,
515
+ priority: Float,
516
+ rate_type:
517
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::RateType::TaggedSymbol,
518
+ rolled_over_from:
519
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::RolledOverFrom,
520
+ rollover_fraction: Float,
521
+ salesforce_opportunity_id: String,
522
+ specifiers:
523
+ T::Array[
524
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Specifier
525
+ ],
526
+ uniqueness_key: String
527
+ }
528
+ )
529
+ end
530
+ def to_hash
531
+ end
532
+
533
+ class Product < MetronomeSDK::Internal::Type::BaseModel
534
+ OrHash =
535
+ T.type_alias do
536
+ T.any(
537
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Product,
538
+ MetronomeSDK::Internal::AnyHash
539
+ )
540
+ end
541
+
542
+ sig { returns(String) }
543
+ attr_accessor :id
544
+
545
+ sig { returns(String) }
546
+ attr_accessor :name
547
+
548
+ sig { params(id: String, name: String).returns(T.attached_class) }
549
+ def self.new(id:, name:)
550
+ end
551
+
552
+ sig { override.returns({ id: String, name: String }) }
553
+ def to_hash
554
+ end
555
+ end
556
+
557
+ module Type
558
+ extend MetronomeSDK::Internal::Type::Enum
559
+
560
+ TaggedSymbol =
561
+ T.type_alias do
562
+ T.all(
563
+ Symbol,
564
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Type
565
+ )
566
+ end
567
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
568
+
569
+ PREPAID =
570
+ T.let(
571
+ :PREPAID,
572
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Type::TaggedSymbol
573
+ )
574
+ POSTPAID =
575
+ T.let(
576
+ :POSTPAID,
577
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Type::TaggedSymbol
578
+ )
579
+
580
+ sig do
581
+ override.returns(
582
+ T::Array[
583
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Type::TaggedSymbol
584
+ ]
585
+ )
586
+ end
587
+ def self.values
588
+ end
589
+ end
590
+
591
+ class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
592
+ OrHash =
593
+ T.type_alias do
594
+ T.any(
595
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::AccessSchedule,
596
+ MetronomeSDK::Internal::AnyHash
597
+ )
598
+ end
599
+
600
+ sig do
601
+ returns(
602
+ T::Array[
603
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::AccessSchedule::ScheduleItem
604
+ ]
605
+ )
606
+ end
607
+ attr_accessor :schedule_items
608
+
609
+ sig do
610
+ returns(
611
+ T.nilable(
612
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::AccessSchedule::CreditType
613
+ )
614
+ )
615
+ end
616
+ attr_reader :credit_type
617
+
618
+ sig do
619
+ params(
620
+ credit_type:
621
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::AccessSchedule::CreditType::OrHash
622
+ ).void
623
+ end
624
+ attr_writer :credit_type
625
+
626
+ # The schedule that the customer will gain access to the credits purposed with
627
+ # this commit.
628
+ sig do
629
+ params(
630
+ schedule_items:
631
+ T::Array[
632
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::AccessSchedule::ScheduleItem::OrHash
633
+ ],
634
+ credit_type:
635
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::AccessSchedule::CreditType::OrHash
636
+ ).returns(T.attached_class)
637
+ end
638
+ def self.new(schedule_items:, credit_type: nil)
639
+ end
640
+
641
+ sig do
642
+ override.returns(
643
+ {
644
+ schedule_items:
645
+ T::Array[
646
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::AccessSchedule::ScheduleItem
647
+ ],
648
+ credit_type:
649
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::AccessSchedule::CreditType
650
+ }
651
+ )
652
+ end
653
+ def to_hash
654
+ end
655
+
656
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
657
+ OrHash =
658
+ T.type_alias do
659
+ T.any(
660
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::AccessSchedule::ScheduleItem,
661
+ MetronomeSDK::Internal::AnyHash
662
+ )
663
+ end
664
+
665
+ sig { returns(String) }
666
+ attr_accessor :id
667
+
668
+ sig { returns(Float) }
669
+ attr_accessor :amount
670
+
671
+ sig { returns(Time) }
672
+ attr_accessor :ending_before
673
+
674
+ sig { returns(Time) }
675
+ attr_accessor :starting_at
676
+
677
+ sig do
678
+ params(
679
+ id: String,
680
+ amount: Float,
681
+ ending_before: Time,
682
+ starting_at: Time
683
+ ).returns(T.attached_class)
684
+ end
685
+ def self.new(id:, amount:, ending_before:, starting_at:)
686
+ end
687
+
688
+ sig do
689
+ override.returns(
690
+ {
691
+ id: String,
692
+ amount: Float,
693
+ ending_before: Time,
694
+ starting_at: Time
695
+ }
696
+ )
697
+ end
698
+ def to_hash
699
+ end
700
+ end
701
+
702
+ class CreditType < MetronomeSDK::Internal::Type::BaseModel
703
+ OrHash =
704
+ T.type_alias do
705
+ T.any(
706
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::AccessSchedule::CreditType,
707
+ MetronomeSDK::Internal::AnyHash
708
+ )
709
+ end
710
+
711
+ sig { returns(String) }
712
+ attr_accessor :id
713
+
714
+ sig { returns(String) }
715
+ attr_accessor :name
716
+
717
+ sig do
718
+ params(id: String, name: String).returns(T.attached_class)
719
+ end
720
+ def self.new(id:, name:)
721
+ end
722
+
723
+ sig { override.returns({ id: String, name: String }) }
724
+ def to_hash
725
+ end
726
+ end
727
+ end
728
+
729
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
730
+ OrHash =
731
+ T.type_alias do
732
+ T.any(
733
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Contract,
734
+ MetronomeSDK::Internal::AnyHash
735
+ )
736
+ end
737
+
738
+ sig { returns(String) }
739
+ attr_accessor :id
740
+
741
+ sig { params(id: String).returns(T.attached_class) }
742
+ def self.new(id:)
743
+ end
744
+
745
+ sig { override.returns({ id: String }) }
746
+ def to_hash
747
+ end
748
+ end
749
+
750
+ class InvoiceContract < MetronomeSDK::Internal::Type::BaseModel
751
+ OrHash =
752
+ T.type_alias do
753
+ T.any(
754
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::InvoiceContract,
755
+ MetronomeSDK::Internal::AnyHash
756
+ )
757
+ end
758
+
759
+ sig { returns(String) }
760
+ attr_accessor :id
761
+
762
+ # The contract that this commit will be billed on.
763
+ sig { params(id: String).returns(T.attached_class) }
764
+ def self.new(id:)
765
+ end
766
+
767
+ sig { override.returns({ id: String }) }
768
+ def to_hash
769
+ end
770
+ end
771
+
772
+ class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
773
+ OrHash =
774
+ T.type_alias do
775
+ T.any(
776
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::InvoiceSchedule,
777
+ MetronomeSDK::Internal::AnyHash
778
+ )
779
+ end
780
+
781
+ sig do
782
+ returns(
783
+ T.nilable(
784
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::InvoiceSchedule::CreditType
785
+ )
786
+ )
787
+ end
788
+ attr_reader :credit_type
789
+
790
+ sig do
791
+ params(
792
+ credit_type:
793
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::InvoiceSchedule::CreditType::OrHash
794
+ ).void
795
+ end
796
+ attr_writer :credit_type
797
+
798
+ sig do
799
+ returns(
800
+ T.nilable(
801
+ T::Array[
802
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::InvoiceSchedule::ScheduleItem
803
+ ]
804
+ )
805
+ )
806
+ end
807
+ attr_reader :schedule_items
808
+
809
+ sig do
810
+ params(
811
+ schedule_items:
812
+ T::Array[
813
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::InvoiceSchedule::ScheduleItem::OrHash
814
+ ]
815
+ ).void
816
+ end
817
+ attr_writer :schedule_items
818
+
819
+ # The schedule that the customer will be invoiced for this commit.
820
+ sig do
821
+ params(
822
+ credit_type:
823
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::InvoiceSchedule::CreditType::OrHash,
824
+ schedule_items:
825
+ T::Array[
826
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::InvoiceSchedule::ScheduleItem::OrHash
827
+ ]
828
+ ).returns(T.attached_class)
829
+ end
830
+ def self.new(credit_type: nil, schedule_items: nil)
831
+ end
832
+
833
+ sig do
834
+ override.returns(
835
+ {
836
+ credit_type:
837
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::InvoiceSchedule::CreditType,
838
+ schedule_items:
839
+ T::Array[
840
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::InvoiceSchedule::ScheduleItem
841
+ ]
842
+ }
843
+ )
844
+ end
845
+ def to_hash
846
+ end
847
+
848
+ class CreditType < MetronomeSDK::Internal::Type::BaseModel
849
+ OrHash =
850
+ T.type_alias do
851
+ T.any(
852
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::InvoiceSchedule::CreditType,
853
+ MetronomeSDK::Internal::AnyHash
854
+ )
855
+ end
856
+
857
+ sig { returns(String) }
858
+ attr_accessor :id
859
+
860
+ sig { returns(String) }
861
+ attr_accessor :name
862
+
863
+ sig do
864
+ params(id: String, name: String).returns(T.attached_class)
865
+ end
866
+ def self.new(id:, name:)
867
+ end
868
+
869
+ sig { override.returns({ id: String, name: String }) }
870
+ def to_hash
871
+ end
872
+ end
873
+
874
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
875
+ OrHash =
876
+ T.type_alias do
877
+ T.any(
878
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::InvoiceSchedule::ScheduleItem,
879
+ MetronomeSDK::Internal::AnyHash
880
+ )
881
+ end
882
+
883
+ sig { returns(String) }
884
+ attr_accessor :id
885
+
886
+ sig { returns(Float) }
887
+ attr_accessor :amount
888
+
889
+ sig { returns(String) }
890
+ attr_accessor :invoice_id
891
+
892
+ sig { returns(Float) }
893
+ attr_accessor :quantity
894
+
895
+ sig { returns(Time) }
896
+ attr_accessor :timestamp
897
+
898
+ sig { returns(Float) }
899
+ attr_accessor :unit_price
900
+
901
+ sig do
902
+ params(
903
+ id: String,
904
+ amount: Float,
905
+ invoice_id: String,
906
+ quantity: Float,
907
+ timestamp: Time,
908
+ unit_price: Float
909
+ ).returns(T.attached_class)
910
+ end
911
+ def self.new(
912
+ id:,
913
+ amount:,
914
+ invoice_id:,
915
+ quantity:,
916
+ timestamp:,
917
+ unit_price:
918
+ )
919
+ end
920
+
921
+ sig do
922
+ override.returns(
923
+ {
924
+ id: String,
925
+ amount: Float,
926
+ invoice_id: String,
927
+ quantity: Float,
928
+ timestamp: Time,
929
+ unit_price: Float
930
+ }
931
+ )
932
+ end
933
+ def to_hash
934
+ end
935
+ end
936
+ end
937
+
938
+ module Ledger
939
+ extend MetronomeSDK::Internal::Type::Union
940
+
941
+ Variants =
942
+ T.type_alias do
943
+ T.any(
944
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember0,
945
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember1,
946
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember2,
947
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember3,
948
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember4,
949
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember5,
950
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember6,
951
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember7,
952
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember8,
953
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember9,
954
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember10,
955
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember11,
956
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember12
957
+ )
958
+ end
959
+
960
+ class UnionMember0 < MetronomeSDK::Internal::Type::BaseModel
961
+ OrHash =
962
+ T.type_alias do
963
+ T.any(
964
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember0,
965
+ MetronomeSDK::Internal::AnyHash
966
+ )
967
+ end
968
+
969
+ sig { returns(Float) }
970
+ attr_accessor :amount
971
+
972
+ sig { returns(String) }
973
+ attr_accessor :segment_id
974
+
975
+ sig { returns(Time) }
976
+ attr_accessor :timestamp
977
+
978
+ sig do
979
+ returns(
980
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember0::Type::TaggedSymbol
981
+ )
982
+ end
983
+ attr_accessor :type
984
+
985
+ sig do
986
+ params(
987
+ amount: Float,
988
+ segment_id: String,
989
+ timestamp: Time,
990
+ type:
991
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember0::Type::OrSymbol
992
+ ).returns(T.attached_class)
993
+ end
994
+ def self.new(amount:, segment_id:, timestamp:, type:)
995
+ end
996
+
997
+ sig do
998
+ override.returns(
999
+ {
1000
+ amount: Float,
1001
+ segment_id: String,
1002
+ timestamp: Time,
1003
+ type:
1004
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember0::Type::TaggedSymbol
1005
+ }
1006
+ )
1007
+ end
1008
+ def to_hash
1009
+ end
1010
+
1011
+ module Type
1012
+ extend MetronomeSDK::Internal::Type::Enum
1013
+
1014
+ TaggedSymbol =
1015
+ T.type_alias do
1016
+ T.all(
1017
+ Symbol,
1018
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember0::Type
1019
+ )
1020
+ end
1021
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1022
+
1023
+ PREPAID_COMMIT_SEGMENT_START =
1024
+ T.let(
1025
+ :PREPAID_COMMIT_SEGMENT_START,
1026
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember0::Type::TaggedSymbol
1027
+ )
1028
+
1029
+ sig do
1030
+ override.returns(
1031
+ T::Array[
1032
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember0::Type::TaggedSymbol
1033
+ ]
1034
+ )
1035
+ end
1036
+ def self.values
1037
+ end
1038
+ end
1039
+ end
1040
+
1041
+ class UnionMember1 < MetronomeSDK::Internal::Type::BaseModel
1042
+ OrHash =
1043
+ T.type_alias do
1044
+ T.any(
1045
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember1,
1046
+ MetronomeSDK::Internal::AnyHash
1047
+ )
1048
+ end
1049
+
1050
+ sig { returns(Float) }
1051
+ attr_accessor :amount
1052
+
1053
+ sig { returns(String) }
1054
+ attr_accessor :invoice_id
1055
+
1056
+ sig { returns(String) }
1057
+ attr_accessor :segment_id
1058
+
1059
+ sig { returns(Time) }
1060
+ attr_accessor :timestamp
1061
+
1062
+ sig do
1063
+ returns(
1064
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember1::Type::TaggedSymbol
1065
+ )
1066
+ end
1067
+ attr_accessor :type
1068
+
1069
+ sig do
1070
+ params(
1071
+ amount: Float,
1072
+ invoice_id: String,
1073
+ segment_id: String,
1074
+ timestamp: Time,
1075
+ type:
1076
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember1::Type::OrSymbol
1077
+ ).returns(T.attached_class)
1078
+ end
1079
+ def self.new(
1080
+ amount:,
1081
+ invoice_id:,
1082
+ segment_id:,
1083
+ timestamp:,
1084
+ type:
1085
+ )
1086
+ end
1087
+
1088
+ sig do
1089
+ override.returns(
1090
+ {
1091
+ amount: Float,
1092
+ invoice_id: String,
1093
+ segment_id: String,
1094
+ timestamp: Time,
1095
+ type:
1096
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember1::Type::TaggedSymbol
1097
+ }
1098
+ )
1099
+ end
1100
+ def to_hash
1101
+ end
1102
+
1103
+ module Type
1104
+ extend MetronomeSDK::Internal::Type::Enum
1105
+
1106
+ TaggedSymbol =
1107
+ T.type_alias do
1108
+ T.all(
1109
+ Symbol,
1110
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember1::Type
1111
+ )
1112
+ end
1113
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1114
+
1115
+ PREPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION =
1116
+ T.let(
1117
+ :PREPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION,
1118
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember1::Type::TaggedSymbol
1119
+ )
1120
+
1121
+ sig do
1122
+ override.returns(
1123
+ T::Array[
1124
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember1::Type::TaggedSymbol
1125
+ ]
1126
+ )
1127
+ end
1128
+ def self.values
1129
+ end
1130
+ end
1131
+ end
1132
+
1133
+ class UnionMember2 < MetronomeSDK::Internal::Type::BaseModel
1134
+ OrHash =
1135
+ T.type_alias do
1136
+ T.any(
1137
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember2,
1138
+ MetronomeSDK::Internal::AnyHash
1139
+ )
1140
+ end
1141
+
1142
+ sig { returns(Float) }
1143
+ attr_accessor :amount
1144
+
1145
+ sig { returns(String) }
1146
+ attr_accessor :new_contract_id
1147
+
1148
+ sig { returns(String) }
1149
+ attr_accessor :segment_id
1150
+
1151
+ sig { returns(Time) }
1152
+ attr_accessor :timestamp
1153
+
1154
+ sig do
1155
+ returns(
1156
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember2::Type::TaggedSymbol
1157
+ )
1158
+ end
1159
+ attr_accessor :type
1160
+
1161
+ sig do
1162
+ params(
1163
+ amount: Float,
1164
+ new_contract_id: String,
1165
+ segment_id: String,
1166
+ timestamp: Time,
1167
+ type:
1168
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember2::Type::OrSymbol
1169
+ ).returns(T.attached_class)
1170
+ end
1171
+ def self.new(
1172
+ amount:,
1173
+ new_contract_id:,
1174
+ segment_id:,
1175
+ timestamp:,
1176
+ type:
1177
+ )
1178
+ end
1179
+
1180
+ sig do
1181
+ override.returns(
1182
+ {
1183
+ amount: Float,
1184
+ new_contract_id: String,
1185
+ segment_id: String,
1186
+ timestamp: Time,
1187
+ type:
1188
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember2::Type::TaggedSymbol
1189
+ }
1190
+ )
1191
+ end
1192
+ def to_hash
1193
+ end
1194
+
1195
+ module Type
1196
+ extend MetronomeSDK::Internal::Type::Enum
1197
+
1198
+ TaggedSymbol =
1199
+ T.type_alias do
1200
+ T.all(
1201
+ Symbol,
1202
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember2::Type
1203
+ )
1204
+ end
1205
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1206
+
1207
+ PREPAID_COMMIT_ROLLOVER =
1208
+ T.let(
1209
+ :PREPAID_COMMIT_ROLLOVER,
1210
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember2::Type::TaggedSymbol
1211
+ )
1212
+
1213
+ sig do
1214
+ override.returns(
1215
+ T::Array[
1216
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember2::Type::TaggedSymbol
1217
+ ]
1218
+ )
1219
+ end
1220
+ def self.values
1221
+ end
1222
+ end
1223
+ end
1224
+
1225
+ class UnionMember3 < MetronomeSDK::Internal::Type::BaseModel
1226
+ OrHash =
1227
+ T.type_alias do
1228
+ T.any(
1229
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember3,
1230
+ MetronomeSDK::Internal::AnyHash
1231
+ )
1232
+ end
1233
+
1234
+ sig { returns(Float) }
1235
+ attr_accessor :amount
1236
+
1237
+ sig { returns(String) }
1238
+ attr_accessor :segment_id
1239
+
1240
+ sig { returns(Time) }
1241
+ attr_accessor :timestamp
1242
+
1243
+ sig do
1244
+ returns(
1245
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember3::Type::TaggedSymbol
1246
+ )
1247
+ end
1248
+ attr_accessor :type
1249
+
1250
+ sig do
1251
+ params(
1252
+ amount: Float,
1253
+ segment_id: String,
1254
+ timestamp: Time,
1255
+ type:
1256
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember3::Type::OrSymbol
1257
+ ).returns(T.attached_class)
1258
+ end
1259
+ def self.new(amount:, segment_id:, timestamp:, type:)
1260
+ end
1261
+
1262
+ sig do
1263
+ override.returns(
1264
+ {
1265
+ amount: Float,
1266
+ segment_id: String,
1267
+ timestamp: Time,
1268
+ type:
1269
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember3::Type::TaggedSymbol
1270
+ }
1271
+ )
1272
+ end
1273
+ def to_hash
1274
+ end
1275
+
1276
+ module Type
1277
+ extend MetronomeSDK::Internal::Type::Enum
1278
+
1279
+ TaggedSymbol =
1280
+ T.type_alias do
1281
+ T.all(
1282
+ Symbol,
1283
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember3::Type
1284
+ )
1285
+ end
1286
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1287
+
1288
+ PREPAID_COMMIT_EXPIRATION =
1289
+ T.let(
1290
+ :PREPAID_COMMIT_EXPIRATION,
1291
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember3::Type::TaggedSymbol
1292
+ )
1293
+
1294
+ sig do
1295
+ override.returns(
1296
+ T::Array[
1297
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember3::Type::TaggedSymbol
1298
+ ]
1299
+ )
1300
+ end
1301
+ def self.values
1302
+ end
1303
+ end
1304
+ end
1305
+
1306
+ class UnionMember4 < MetronomeSDK::Internal::Type::BaseModel
1307
+ OrHash =
1308
+ T.type_alias do
1309
+ T.any(
1310
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember4,
1311
+ MetronomeSDK::Internal::AnyHash
1312
+ )
1313
+ end
1314
+
1315
+ sig { returns(Float) }
1316
+ attr_accessor :amount
1317
+
1318
+ sig { returns(String) }
1319
+ attr_accessor :invoice_id
1320
+
1321
+ sig { returns(String) }
1322
+ attr_accessor :segment_id
1323
+
1324
+ sig { returns(Time) }
1325
+ attr_accessor :timestamp
1326
+
1327
+ sig do
1328
+ returns(
1329
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember4::Type::TaggedSymbol
1330
+ )
1331
+ end
1332
+ attr_accessor :type
1333
+
1334
+ sig do
1335
+ params(
1336
+ amount: Float,
1337
+ invoice_id: String,
1338
+ segment_id: String,
1339
+ timestamp: Time,
1340
+ type:
1341
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember4::Type::OrSymbol
1342
+ ).returns(T.attached_class)
1343
+ end
1344
+ def self.new(
1345
+ amount:,
1346
+ invoice_id:,
1347
+ segment_id:,
1348
+ timestamp:,
1349
+ type:
1350
+ )
1351
+ end
1352
+
1353
+ sig do
1354
+ override.returns(
1355
+ {
1356
+ amount: Float,
1357
+ invoice_id: String,
1358
+ segment_id: String,
1359
+ timestamp: Time,
1360
+ type:
1361
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember4::Type::TaggedSymbol
1362
+ }
1363
+ )
1364
+ end
1365
+ def to_hash
1366
+ end
1367
+
1368
+ module Type
1369
+ extend MetronomeSDK::Internal::Type::Enum
1370
+
1371
+ TaggedSymbol =
1372
+ T.type_alias do
1373
+ T.all(
1374
+ Symbol,
1375
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember4::Type
1376
+ )
1377
+ end
1378
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1379
+
1380
+ PREPAID_COMMIT_CANCELED =
1381
+ T.let(
1382
+ :PREPAID_COMMIT_CANCELED,
1383
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember4::Type::TaggedSymbol
1384
+ )
1385
+
1386
+ sig do
1387
+ override.returns(
1388
+ T::Array[
1389
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember4::Type::TaggedSymbol
1390
+ ]
1391
+ )
1392
+ end
1393
+ def self.values
1394
+ end
1395
+ end
1396
+ end
1397
+
1398
+ class UnionMember5 < MetronomeSDK::Internal::Type::BaseModel
1399
+ OrHash =
1400
+ T.type_alias do
1401
+ T.any(
1402
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember5,
1403
+ MetronomeSDK::Internal::AnyHash
1404
+ )
1405
+ end
1406
+
1407
+ sig { returns(Float) }
1408
+ attr_accessor :amount
1409
+
1410
+ sig { returns(String) }
1411
+ attr_accessor :invoice_id
1412
+
1413
+ sig { returns(String) }
1414
+ attr_accessor :segment_id
1415
+
1416
+ sig { returns(Time) }
1417
+ attr_accessor :timestamp
1418
+
1419
+ sig do
1420
+ returns(
1421
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember5::Type::TaggedSymbol
1422
+ )
1423
+ end
1424
+ attr_accessor :type
1425
+
1426
+ sig do
1427
+ params(
1428
+ amount: Float,
1429
+ invoice_id: String,
1430
+ segment_id: String,
1431
+ timestamp: Time,
1432
+ type:
1433
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember5::Type::OrSymbol
1434
+ ).returns(T.attached_class)
1435
+ end
1436
+ def self.new(
1437
+ amount:,
1438
+ invoice_id:,
1439
+ segment_id:,
1440
+ timestamp:,
1441
+ type:
1442
+ )
1443
+ end
1444
+
1445
+ sig do
1446
+ override.returns(
1447
+ {
1448
+ amount: Float,
1449
+ invoice_id: String,
1450
+ segment_id: String,
1451
+ timestamp: Time,
1452
+ type:
1453
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember5::Type::TaggedSymbol
1454
+ }
1455
+ )
1456
+ end
1457
+ def to_hash
1458
+ end
1459
+
1460
+ module Type
1461
+ extend MetronomeSDK::Internal::Type::Enum
1462
+
1463
+ TaggedSymbol =
1464
+ T.type_alias do
1465
+ T.all(
1466
+ Symbol,
1467
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember5::Type
1468
+ )
1469
+ end
1470
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1471
+
1472
+ PREPAID_COMMIT_CREDITED =
1473
+ T.let(
1474
+ :PREPAID_COMMIT_CREDITED,
1475
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember5::Type::TaggedSymbol
1476
+ )
1477
+
1478
+ sig do
1479
+ override.returns(
1480
+ T::Array[
1481
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember5::Type::TaggedSymbol
1482
+ ]
1483
+ )
1484
+ end
1485
+ def self.values
1486
+ end
1487
+ end
1488
+ end
1489
+
1490
+ class UnionMember6 < MetronomeSDK::Internal::Type::BaseModel
1491
+ OrHash =
1492
+ T.type_alias do
1493
+ T.any(
1494
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember6,
1495
+ MetronomeSDK::Internal::AnyHash
1496
+ )
1497
+ end
1498
+
1499
+ sig { returns(Float) }
1500
+ attr_accessor :amount
1501
+
1502
+ sig { returns(Time) }
1503
+ attr_accessor :timestamp
1504
+
1505
+ sig do
1506
+ returns(
1507
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember6::Type::TaggedSymbol
1508
+ )
1509
+ end
1510
+ attr_accessor :type
1511
+
1512
+ sig do
1513
+ params(
1514
+ amount: Float,
1515
+ timestamp: Time,
1516
+ type:
1517
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember6::Type::OrSymbol
1518
+ ).returns(T.attached_class)
1519
+ end
1520
+ def self.new(amount:, timestamp:, type:)
1521
+ end
1522
+
1523
+ sig do
1524
+ override.returns(
1525
+ {
1526
+ amount: Float,
1527
+ timestamp: Time,
1528
+ type:
1529
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember6::Type::TaggedSymbol
1530
+ }
1531
+ )
1532
+ end
1533
+ def to_hash
1534
+ end
1535
+
1536
+ module Type
1537
+ extend MetronomeSDK::Internal::Type::Enum
1538
+
1539
+ TaggedSymbol =
1540
+ T.type_alias do
1541
+ T.all(
1542
+ Symbol,
1543
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember6::Type
1544
+ )
1545
+ end
1546
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1547
+
1548
+ POSTPAID_COMMIT_INITIAL_BALANCE =
1549
+ T.let(
1550
+ :POSTPAID_COMMIT_INITIAL_BALANCE,
1551
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember6::Type::TaggedSymbol
1552
+ )
1553
+
1554
+ sig do
1555
+ override.returns(
1556
+ T::Array[
1557
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember6::Type::TaggedSymbol
1558
+ ]
1559
+ )
1560
+ end
1561
+ def self.values
1562
+ end
1563
+ end
1564
+ end
1565
+
1566
+ class UnionMember7 < MetronomeSDK::Internal::Type::BaseModel
1567
+ OrHash =
1568
+ T.type_alias do
1569
+ T.any(
1570
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember7,
1571
+ MetronomeSDK::Internal::AnyHash
1572
+ )
1573
+ end
1574
+
1575
+ sig { returns(Float) }
1576
+ attr_accessor :amount
1577
+
1578
+ sig { returns(String) }
1579
+ attr_accessor :invoice_id
1580
+
1581
+ sig { returns(String) }
1582
+ attr_accessor :segment_id
1583
+
1584
+ sig { returns(Time) }
1585
+ attr_accessor :timestamp
1586
+
1587
+ sig do
1588
+ returns(
1589
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember7::Type::TaggedSymbol
1590
+ )
1591
+ end
1592
+ attr_accessor :type
1593
+
1594
+ sig do
1595
+ params(
1596
+ amount: Float,
1597
+ invoice_id: String,
1598
+ segment_id: String,
1599
+ timestamp: Time,
1600
+ type:
1601
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember7::Type::OrSymbol
1602
+ ).returns(T.attached_class)
1603
+ end
1604
+ def self.new(
1605
+ amount:,
1606
+ invoice_id:,
1607
+ segment_id:,
1608
+ timestamp:,
1609
+ type:
1610
+ )
1611
+ end
1612
+
1613
+ sig do
1614
+ override.returns(
1615
+ {
1616
+ amount: Float,
1617
+ invoice_id: String,
1618
+ segment_id: String,
1619
+ timestamp: Time,
1620
+ type:
1621
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember7::Type::TaggedSymbol
1622
+ }
1623
+ )
1624
+ end
1625
+ def to_hash
1626
+ end
1627
+
1628
+ module Type
1629
+ extend MetronomeSDK::Internal::Type::Enum
1630
+
1631
+ TaggedSymbol =
1632
+ T.type_alias do
1633
+ T.all(
1634
+ Symbol,
1635
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember7::Type
1636
+ )
1637
+ end
1638
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1639
+
1640
+ POSTPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION =
1641
+ T.let(
1642
+ :POSTPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION,
1643
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember7::Type::TaggedSymbol
1644
+ )
1645
+
1646
+ sig do
1647
+ override.returns(
1648
+ T::Array[
1649
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember7::Type::TaggedSymbol
1650
+ ]
1651
+ )
1652
+ end
1653
+ def self.values
1654
+ end
1655
+ end
1656
+ end
1657
+
1658
+ class UnionMember8 < MetronomeSDK::Internal::Type::BaseModel
1659
+ OrHash =
1660
+ T.type_alias do
1661
+ T.any(
1662
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember8,
1663
+ MetronomeSDK::Internal::AnyHash
1664
+ )
1665
+ end
1666
+
1667
+ sig { returns(Float) }
1668
+ attr_accessor :amount
1669
+
1670
+ sig { returns(String) }
1671
+ attr_accessor :new_contract_id
1672
+
1673
+ sig { returns(String) }
1674
+ attr_accessor :segment_id
1675
+
1676
+ sig { returns(Time) }
1677
+ attr_accessor :timestamp
1678
+
1679
+ sig do
1680
+ returns(
1681
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember8::Type::TaggedSymbol
1682
+ )
1683
+ end
1684
+ attr_accessor :type
1685
+
1686
+ sig do
1687
+ params(
1688
+ amount: Float,
1689
+ new_contract_id: String,
1690
+ segment_id: String,
1691
+ timestamp: Time,
1692
+ type:
1693
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember8::Type::OrSymbol
1694
+ ).returns(T.attached_class)
1695
+ end
1696
+ def self.new(
1697
+ amount:,
1698
+ new_contract_id:,
1699
+ segment_id:,
1700
+ timestamp:,
1701
+ type:
1702
+ )
1703
+ end
1704
+
1705
+ sig do
1706
+ override.returns(
1707
+ {
1708
+ amount: Float,
1709
+ new_contract_id: String,
1710
+ segment_id: String,
1711
+ timestamp: Time,
1712
+ type:
1713
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember8::Type::TaggedSymbol
1714
+ }
1715
+ )
1716
+ end
1717
+ def to_hash
1718
+ end
1719
+
1720
+ module Type
1721
+ extend MetronomeSDK::Internal::Type::Enum
1722
+
1723
+ TaggedSymbol =
1724
+ T.type_alias do
1725
+ T.all(
1726
+ Symbol,
1727
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember8::Type
1728
+ )
1729
+ end
1730
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1731
+
1732
+ POSTPAID_COMMIT_ROLLOVER =
1733
+ T.let(
1734
+ :POSTPAID_COMMIT_ROLLOVER,
1735
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember8::Type::TaggedSymbol
1736
+ )
1737
+
1738
+ sig do
1739
+ override.returns(
1740
+ T::Array[
1741
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember8::Type::TaggedSymbol
1742
+ ]
1743
+ )
1744
+ end
1745
+ def self.values
1746
+ end
1747
+ end
1748
+ end
1749
+
1750
+ class UnionMember9 < MetronomeSDK::Internal::Type::BaseModel
1751
+ OrHash =
1752
+ T.type_alias do
1753
+ T.any(
1754
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember9,
1755
+ MetronomeSDK::Internal::AnyHash
1756
+ )
1757
+ end
1758
+
1759
+ sig { returns(Float) }
1760
+ attr_accessor :amount
1761
+
1762
+ sig { returns(String) }
1763
+ attr_accessor :invoice_id
1764
+
1765
+ sig { returns(Time) }
1766
+ attr_accessor :timestamp
1767
+
1768
+ sig do
1769
+ returns(
1770
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember9::Type::TaggedSymbol
1771
+ )
1772
+ end
1773
+ attr_accessor :type
1774
+
1775
+ sig do
1776
+ params(
1777
+ amount: Float,
1778
+ invoice_id: String,
1779
+ timestamp: Time,
1780
+ type:
1781
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember9::Type::OrSymbol
1782
+ ).returns(T.attached_class)
1783
+ end
1784
+ def self.new(amount:, invoice_id:, timestamp:, type:)
1785
+ end
1786
+
1787
+ sig do
1788
+ override.returns(
1789
+ {
1790
+ amount: Float,
1791
+ invoice_id: String,
1792
+ timestamp: Time,
1793
+ type:
1794
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember9::Type::TaggedSymbol
1795
+ }
1796
+ )
1797
+ end
1798
+ def to_hash
1799
+ end
1800
+
1801
+ module Type
1802
+ extend MetronomeSDK::Internal::Type::Enum
1803
+
1804
+ TaggedSymbol =
1805
+ T.type_alias do
1806
+ T.all(
1807
+ Symbol,
1808
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember9::Type
1809
+ )
1810
+ end
1811
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1812
+
1813
+ POSTPAID_COMMIT_TRUEUP =
1814
+ T.let(
1815
+ :POSTPAID_COMMIT_TRUEUP,
1816
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember9::Type::TaggedSymbol
1817
+ )
1818
+
1819
+ sig do
1820
+ override.returns(
1821
+ T::Array[
1822
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember9::Type::TaggedSymbol
1823
+ ]
1824
+ )
1825
+ end
1826
+ def self.values
1827
+ end
1828
+ end
1829
+ end
1830
+
1831
+ class UnionMember10 < MetronomeSDK::Internal::Type::BaseModel
1832
+ OrHash =
1833
+ T.type_alias do
1834
+ T.any(
1835
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember10,
1836
+ MetronomeSDK::Internal::AnyHash
1837
+ )
1838
+ end
1839
+
1840
+ sig { returns(Float) }
1841
+ attr_accessor :amount
1842
+
1843
+ sig { returns(String) }
1844
+ attr_accessor :reason
1845
+
1846
+ sig { returns(Time) }
1847
+ attr_accessor :timestamp
1848
+
1849
+ sig do
1850
+ returns(
1851
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember10::Type::TaggedSymbol
1852
+ )
1853
+ end
1854
+ attr_accessor :type
1855
+
1856
+ sig do
1857
+ params(
1858
+ amount: Float,
1859
+ reason: String,
1860
+ timestamp: Time,
1861
+ type:
1862
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember10::Type::OrSymbol
1863
+ ).returns(T.attached_class)
1864
+ end
1865
+ def self.new(amount:, reason:, timestamp:, type:)
1866
+ end
1867
+
1868
+ sig do
1869
+ override.returns(
1870
+ {
1871
+ amount: Float,
1872
+ reason: String,
1873
+ timestamp: Time,
1874
+ type:
1875
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember10::Type::TaggedSymbol
1876
+ }
1877
+ )
1878
+ end
1879
+ def to_hash
1880
+ end
1881
+
1882
+ module Type
1883
+ extend MetronomeSDK::Internal::Type::Enum
1884
+
1885
+ TaggedSymbol =
1886
+ T.type_alias do
1887
+ T.all(
1888
+ Symbol,
1889
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember10::Type
1890
+ )
1891
+ end
1892
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1893
+
1894
+ PREPAID_COMMIT_MANUAL =
1895
+ T.let(
1896
+ :PREPAID_COMMIT_MANUAL,
1897
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember10::Type::TaggedSymbol
1898
+ )
1899
+
1900
+ sig do
1901
+ override.returns(
1902
+ T::Array[
1903
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember10::Type::TaggedSymbol
1904
+ ]
1905
+ )
1906
+ end
1907
+ def self.values
1908
+ end
1909
+ end
1910
+ end
1911
+
1912
+ class UnionMember11 < MetronomeSDK::Internal::Type::BaseModel
1913
+ OrHash =
1914
+ T.type_alias do
1915
+ T.any(
1916
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember11,
1917
+ MetronomeSDK::Internal::AnyHash
1918
+ )
1919
+ end
1920
+
1921
+ sig { returns(Float) }
1922
+ attr_accessor :amount
1923
+
1924
+ sig { returns(String) }
1925
+ attr_accessor :reason
1926
+
1927
+ sig { returns(Time) }
1928
+ attr_accessor :timestamp
1929
+
1930
+ sig do
1931
+ returns(
1932
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember11::Type::TaggedSymbol
1933
+ )
1934
+ end
1935
+ attr_accessor :type
1936
+
1937
+ sig do
1938
+ params(
1939
+ amount: Float,
1940
+ reason: String,
1941
+ timestamp: Time,
1942
+ type:
1943
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember11::Type::OrSymbol
1944
+ ).returns(T.attached_class)
1945
+ end
1946
+ def self.new(amount:, reason:, timestamp:, type:)
1947
+ end
1948
+
1949
+ sig do
1950
+ override.returns(
1951
+ {
1952
+ amount: Float,
1953
+ reason: String,
1954
+ timestamp: Time,
1955
+ type:
1956
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember11::Type::TaggedSymbol
1957
+ }
1958
+ )
1959
+ end
1960
+ def to_hash
1961
+ end
1962
+
1963
+ module Type
1964
+ extend MetronomeSDK::Internal::Type::Enum
1965
+
1966
+ TaggedSymbol =
1967
+ T.type_alias do
1968
+ T.all(
1969
+ Symbol,
1970
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember11::Type
1971
+ )
1972
+ end
1973
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1974
+
1975
+ POSTPAID_COMMIT_MANUAL =
1976
+ T.let(
1977
+ :POSTPAID_COMMIT_MANUAL,
1978
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember11::Type::TaggedSymbol
1979
+ )
1980
+
1981
+ sig do
1982
+ override.returns(
1983
+ T::Array[
1984
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember11::Type::TaggedSymbol
1985
+ ]
1986
+ )
1987
+ end
1988
+ def self.values
1989
+ end
1990
+ end
1991
+ end
1992
+
1993
+ class UnionMember12 < MetronomeSDK::Internal::Type::BaseModel
1994
+ OrHash =
1995
+ T.type_alias do
1996
+ T.any(
1997
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember12,
1998
+ MetronomeSDK::Internal::AnyHash
1999
+ )
2000
+ end
2001
+
2002
+ sig { returns(Float) }
2003
+ attr_accessor :amount
2004
+
2005
+ sig { returns(Time) }
2006
+ attr_accessor :timestamp
2007
+
2008
+ sig do
2009
+ returns(
2010
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember12::Type::TaggedSymbol
2011
+ )
2012
+ end
2013
+ attr_accessor :type
2014
+
2015
+ sig do
2016
+ params(
2017
+ amount: Float,
2018
+ timestamp: Time,
2019
+ type:
2020
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember12::Type::OrSymbol
2021
+ ).returns(T.attached_class)
2022
+ end
2023
+ def self.new(amount:, timestamp:, type:)
2024
+ end
2025
+
2026
+ sig do
2027
+ override.returns(
2028
+ {
2029
+ amount: Float,
2030
+ timestamp: Time,
2031
+ type:
2032
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember12::Type::TaggedSymbol
2033
+ }
2034
+ )
2035
+ end
2036
+ def to_hash
2037
+ end
2038
+
2039
+ module Type
2040
+ extend MetronomeSDK::Internal::Type::Enum
2041
+
2042
+ TaggedSymbol =
2043
+ T.type_alias do
2044
+ T.all(
2045
+ Symbol,
2046
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember12::Type
2047
+ )
2048
+ end
2049
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2050
+
2051
+ POSTPAID_COMMIT_EXPIRATION =
2052
+ T.let(
2053
+ :POSTPAID_COMMIT_EXPIRATION,
2054
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember12::Type::TaggedSymbol
2055
+ )
2056
+
2057
+ sig do
2058
+ override.returns(
2059
+ T::Array[
2060
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::UnionMember12::Type::TaggedSymbol
2061
+ ]
2062
+ )
2063
+ end
2064
+ def self.values
2065
+ end
2066
+ end
2067
+ end
2068
+
2069
+ sig do
2070
+ override.returns(
2071
+ T::Array[
2072
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Ledger::Variants
2073
+ ]
2074
+ )
2075
+ end
2076
+ def self.variants
2077
+ end
2078
+ end
2079
+
2080
+ module RateType
2081
+ extend MetronomeSDK::Internal::Type::Enum
2082
+
2083
+ TaggedSymbol =
2084
+ T.type_alias do
2085
+ T.all(
2086
+ Symbol,
2087
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::RateType
2088
+ )
2089
+ end
2090
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2091
+
2092
+ COMMIT_RATE =
2093
+ T.let(
2094
+ :COMMIT_RATE,
2095
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::RateType::TaggedSymbol
2096
+ )
2097
+ LIST_RATE =
2098
+ T.let(
2099
+ :LIST_RATE,
2100
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::RateType::TaggedSymbol
2101
+ )
2102
+
2103
+ sig do
2104
+ override.returns(
2105
+ T::Array[
2106
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::RateType::TaggedSymbol
2107
+ ]
2108
+ )
2109
+ end
2110
+ def self.values
2111
+ end
2112
+ end
2113
+
2114
+ class RolledOverFrom < MetronomeSDK::Internal::Type::BaseModel
2115
+ OrHash =
2116
+ T.type_alias do
2117
+ T.any(
2118
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::RolledOverFrom,
2119
+ MetronomeSDK::Internal::AnyHash
2120
+ )
2121
+ end
2122
+
2123
+ sig { returns(String) }
2124
+ attr_accessor :commit_id
2125
+
2126
+ sig { returns(String) }
2127
+ attr_accessor :contract_id
2128
+
2129
+ sig do
2130
+ params(commit_id: String, contract_id: String).returns(
2131
+ T.attached_class
2132
+ )
2133
+ end
2134
+ def self.new(commit_id:, contract_id:)
2135
+ end
2136
+
2137
+ sig do
2138
+ override.returns({ commit_id: String, contract_id: String })
2139
+ end
2140
+ def to_hash
2141
+ end
2142
+ end
2143
+
2144
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
2145
+ OrHash =
2146
+ T.type_alias do
2147
+ T.any(
2148
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember0::Specifier,
2149
+ MetronomeSDK::Internal::AnyHash
2150
+ )
2151
+ end
2152
+
2153
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
2154
+ attr_reader :presentation_group_values
2155
+
2156
+ sig do
2157
+ params(presentation_group_values: T::Hash[Symbol, String]).void
2158
+ end
2159
+ attr_writer :presentation_group_values
2160
+
2161
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
2162
+ attr_reader :pricing_group_values
2163
+
2164
+ sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
2165
+ attr_writer :pricing_group_values
2166
+
2167
+ # If provided, the specifier will only apply to the product with the specified ID.
2168
+ sig { returns(T.nilable(String)) }
2169
+ attr_reader :product_id
2170
+
2171
+ sig { params(product_id: String).void }
2172
+ attr_writer :product_id
2173
+
2174
+ # If provided, the specifier will only apply to products with all the specified
2175
+ # tags.
2176
+ sig { returns(T.nilable(T::Array[String])) }
2177
+ attr_reader :product_tags
2178
+
2179
+ sig { params(product_tags: T::Array[String]).void }
2180
+ attr_writer :product_tags
2181
+
2182
+ sig do
2183
+ params(
2184
+ presentation_group_values: T::Hash[Symbol, String],
2185
+ pricing_group_values: T::Hash[Symbol, String],
2186
+ product_id: String,
2187
+ product_tags: T::Array[String]
2188
+ ).returns(T.attached_class)
2189
+ end
2190
+ def self.new(
2191
+ presentation_group_values: nil,
2192
+ pricing_group_values: nil,
2193
+ # If provided, the specifier will only apply to the product with the specified ID.
2194
+ product_id: nil,
2195
+ # If provided, the specifier will only apply to products with all the specified
2196
+ # tags.
2197
+ product_tags: nil
2198
+ )
2199
+ end
2200
+
2201
+ sig do
2202
+ override.returns(
2203
+ {
2204
+ presentation_group_values: T::Hash[Symbol, String],
2205
+ pricing_group_values: T::Hash[Symbol, String],
2206
+ product_id: String,
2207
+ product_tags: T::Array[String]
2208
+ }
2209
+ )
2210
+ end
2211
+ def to_hash
2212
+ end
2213
+ end
2214
+ end
2215
+
2216
+ class UnionMember1 < MetronomeSDK::Internal::Type::BaseModel
2217
+ OrHash =
2218
+ T.type_alias do
2219
+ T.any(
2220
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1,
2221
+ MetronomeSDK::Internal::AnyHash
2222
+ )
2223
+ end
2224
+
2225
+ sig { returns(String) }
2226
+ attr_accessor :id
2227
+
2228
+ sig do
2229
+ returns(
2230
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Product
2231
+ )
2232
+ end
2233
+ attr_reader :product
2234
+
2235
+ sig do
2236
+ params(
2237
+ product:
2238
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Product::OrHash
2239
+ ).void
2240
+ end
2241
+ attr_writer :product
2242
+
2243
+ sig do
2244
+ returns(
2245
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Type::TaggedSymbol
2246
+ )
2247
+ end
2248
+ attr_accessor :type
2249
+
2250
+ # The schedule that the customer will gain access to the credits.
2251
+ sig do
2252
+ returns(
2253
+ T.nilable(
2254
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::AccessSchedule
2255
+ )
2256
+ )
2257
+ end
2258
+ attr_reader :access_schedule
2259
+
2260
+ sig do
2261
+ params(
2262
+ access_schedule:
2263
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::AccessSchedule::OrHash
2264
+ ).void
2265
+ end
2266
+ attr_writer :access_schedule
2267
+
2268
+ sig { returns(T.nilable(T::Array[String])) }
2269
+ attr_reader :applicable_contract_ids
2270
+
2271
+ sig { params(applicable_contract_ids: T::Array[String]).void }
2272
+ attr_writer :applicable_contract_ids
2273
+
2274
+ sig { returns(T.nilable(T::Array[String])) }
2275
+ attr_reader :applicable_product_ids
2276
+
2277
+ sig { params(applicable_product_ids: T::Array[String]).void }
2278
+ attr_writer :applicable_product_ids
2279
+
2280
+ sig { returns(T.nilable(T::Array[String])) }
2281
+ attr_reader :applicable_product_tags
2282
+
2283
+ sig { params(applicable_product_tags: T::Array[String]).void }
2284
+ attr_writer :applicable_product_tags
2285
+
2286
+ # The current balance of the credit or commit. This balance reflects the amount of
2287
+ # credit or commit that the customer has access to use at this moment - thus,
2288
+ # expired and upcoming credit or commit segments contribute 0 to the balance. The
2289
+ # balance will match the sum of all ledger entries with the exception of the case
2290
+ # where the sum of negative manual ledger entries exceeds the positive amount
2291
+ # remaining on the credit or commit - in that case, the balance will be 0. All
2292
+ # manual ledger entries associated with active credit or commit segments are
2293
+ # included in the balance, including future-dated manual ledger entries.
2294
+ sig { returns(T.nilable(Float)) }
2295
+ attr_reader :balance
2296
+
2297
+ sig { params(balance: Float).void }
2298
+ attr_writer :balance
2299
+
2300
+ sig do
2301
+ returns(
2302
+ T.nilable(
2303
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Contract
2304
+ )
2305
+ )
2306
+ end
2307
+ attr_reader :contract
2308
+
2309
+ sig do
2310
+ params(
2311
+ contract:
2312
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Contract::OrHash
2313
+ ).void
2314
+ end
2315
+ attr_writer :contract
2316
+
2317
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
2318
+ attr_reader :custom_fields
2319
+
2320
+ sig { params(custom_fields: T::Hash[Symbol, String]).void }
2321
+ attr_writer :custom_fields
2322
+
2323
+ sig { returns(T.nilable(String)) }
2324
+ attr_reader :description
2325
+
2326
+ sig { params(description: String).void }
2327
+ attr_writer :description
2328
+
2329
+ # A list of ordered events that impact the balance of a credit. For example, an
2330
+ # invoice deduction or an expiration.
2331
+ sig do
2332
+ returns(
2333
+ T.nilable(
2334
+ T::Array[
2335
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::Variants
2336
+ ]
2337
+ )
2338
+ )
2339
+ end
2340
+ attr_reader :ledger
2341
+
2342
+ sig do
2343
+ params(
2344
+ ledger:
2345
+ T::Array[
2346
+ T.any(
2347
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember0::OrHash,
2348
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember1::OrHash,
2349
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember2::OrHash,
2350
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember3::OrHash,
2351
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember4::OrHash,
2352
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember5::OrHash
2353
+ )
2354
+ ]
2355
+ ).void
2356
+ end
2357
+ attr_writer :ledger
2358
+
2359
+ sig { returns(T.nilable(String)) }
2360
+ attr_reader :name
2361
+
2362
+ sig { params(name: String).void }
2363
+ attr_writer :name
2364
+
2365
+ # This field's availability is dependent on your client's configuration.
2366
+ sig { returns(T.nilable(String)) }
2367
+ attr_reader :netsuite_sales_order_id
2368
+
2369
+ sig { params(netsuite_sales_order_id: String).void }
2370
+ attr_writer :netsuite_sales_order_id
2371
+
2372
+ # If multiple credits or commits are applicable, the one with the lower priority
2373
+ # will apply first.
2374
+ sig { returns(T.nilable(Float)) }
2375
+ attr_reader :priority
2376
+
2377
+ sig { params(priority: Float).void }
2378
+ attr_writer :priority
2379
+
2380
+ sig do
2381
+ returns(
2382
+ T.nilable(
2383
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::RateType::TaggedSymbol
2384
+ )
2385
+ )
2386
+ end
2387
+ attr_reader :rate_type
2388
+
2389
+ sig do
2390
+ params(
2391
+ rate_type:
2392
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::RateType::OrSymbol
2393
+ ).void
2394
+ end
2395
+ attr_writer :rate_type
2396
+
2397
+ # This field's availability is dependent on your client's configuration.
2398
+ sig { returns(T.nilable(String)) }
2399
+ attr_reader :salesforce_opportunity_id
2400
+
2401
+ sig { params(salesforce_opportunity_id: String).void }
2402
+ attr_writer :salesforce_opportunity_id
2403
+
2404
+ # List of filters that determine what kind of customer usage draws down a commit
2405
+ # or credit. A customer's usage needs to meet the condition of at least one of the
2406
+ # specifiers to contribute to a commit's or credit's drawdown.
2407
+ sig do
2408
+ returns(
2409
+ T.nilable(
2410
+ T::Array[
2411
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Specifier
2412
+ ]
2413
+ )
2414
+ )
2415
+ end
2416
+ attr_reader :specifiers
2417
+
2418
+ sig do
2419
+ params(
2420
+ specifiers:
2421
+ T::Array[
2422
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Specifier::OrHash
2423
+ ]
2424
+ ).void
2425
+ end
2426
+ attr_writer :specifiers
2427
+
2428
+ # Prevents the creation of duplicates. If a request to create a commit or credit
2429
+ # is made with a uniqueness key that was previously used to create a commit or
2430
+ # credit, a new record will not be created and the request will fail with a 409
2431
+ # error.
2432
+ sig { returns(T.nilable(String)) }
2433
+ attr_reader :uniqueness_key
2434
+
2435
+ sig { params(uniqueness_key: String).void }
2436
+ attr_writer :uniqueness_key
2437
+
2438
+ sig do
2439
+ params(
2440
+ id: String,
2441
+ product:
2442
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Product::OrHash,
2443
+ type:
2444
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Type::OrSymbol,
2445
+ access_schedule:
2446
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::AccessSchedule::OrHash,
2447
+ applicable_contract_ids: T::Array[String],
2448
+ applicable_product_ids: T::Array[String],
2449
+ applicable_product_tags: T::Array[String],
2450
+ balance: Float,
2451
+ contract:
2452
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Contract::OrHash,
2453
+ custom_fields: T::Hash[Symbol, String],
2454
+ description: String,
2455
+ ledger:
2456
+ T::Array[
2457
+ T.any(
2458
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember0::OrHash,
2459
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember1::OrHash,
2460
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember2::OrHash,
2461
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember3::OrHash,
2462
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember4::OrHash,
2463
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember5::OrHash
2464
+ )
2465
+ ],
2466
+ name: String,
2467
+ netsuite_sales_order_id: String,
2468
+ priority: Float,
2469
+ rate_type:
2470
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::RateType::OrSymbol,
2471
+ salesforce_opportunity_id: String,
2472
+ specifiers:
2473
+ T::Array[
2474
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Specifier::OrHash
2475
+ ],
2476
+ uniqueness_key: String
2477
+ ).returns(T.attached_class)
2478
+ end
2479
+ def self.new(
2480
+ id:,
2481
+ product:,
2482
+ type:,
2483
+ # The schedule that the customer will gain access to the credits.
2484
+ access_schedule: nil,
2485
+ applicable_contract_ids: nil,
2486
+ applicable_product_ids: nil,
2487
+ applicable_product_tags: nil,
2488
+ # The current balance of the credit or commit. This balance reflects the amount of
2489
+ # credit or commit that the customer has access to use at this moment - thus,
2490
+ # expired and upcoming credit or commit segments contribute 0 to the balance. The
2491
+ # balance will match the sum of all ledger entries with the exception of the case
2492
+ # where the sum of negative manual ledger entries exceeds the positive amount
2493
+ # remaining on the credit or commit - in that case, the balance will be 0. All
2494
+ # manual ledger entries associated with active credit or commit segments are
2495
+ # included in the balance, including future-dated manual ledger entries.
2496
+ balance: nil,
2497
+ contract: nil,
2498
+ custom_fields: nil,
2499
+ description: nil,
2500
+ # A list of ordered events that impact the balance of a credit. For example, an
2501
+ # invoice deduction or an expiration.
2502
+ ledger: nil,
2503
+ name: nil,
2504
+ # This field's availability is dependent on your client's configuration.
2505
+ netsuite_sales_order_id: nil,
2506
+ # If multiple credits or commits are applicable, the one with the lower priority
2507
+ # will apply first.
2508
+ priority: nil,
2509
+ rate_type: nil,
2510
+ # This field's availability is dependent on your client's configuration.
2511
+ salesforce_opportunity_id: nil,
2512
+ # List of filters that determine what kind of customer usage draws down a commit
2513
+ # or credit. A customer's usage needs to meet the condition of at least one of the
2514
+ # specifiers to contribute to a commit's or credit's drawdown.
2515
+ specifiers: nil,
2516
+ # Prevents the creation of duplicates. If a request to create a commit or credit
2517
+ # is made with a uniqueness key that was previously used to create a commit or
2518
+ # credit, a new record will not be created and the request will fail with a 409
2519
+ # error.
2520
+ uniqueness_key: nil
2521
+ )
2522
+ end
2523
+
2524
+ sig do
2525
+ override.returns(
2526
+ {
2527
+ id: String,
2528
+ product:
2529
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Product,
2530
+ type:
2531
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Type::TaggedSymbol,
2532
+ access_schedule:
2533
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::AccessSchedule,
2534
+ applicable_contract_ids: T::Array[String],
2535
+ applicable_product_ids: T::Array[String],
2536
+ applicable_product_tags: T::Array[String],
2537
+ balance: Float,
2538
+ contract:
2539
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Contract,
2540
+ custom_fields: T::Hash[Symbol, String],
2541
+ description: String,
2542
+ ledger:
2543
+ T::Array[
2544
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::Variants
2545
+ ],
2546
+ name: String,
2547
+ netsuite_sales_order_id: String,
2548
+ priority: Float,
2549
+ rate_type:
2550
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::RateType::TaggedSymbol,
2551
+ salesforce_opportunity_id: String,
2552
+ specifiers:
2553
+ T::Array[
2554
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Specifier
2555
+ ],
2556
+ uniqueness_key: String
2557
+ }
2558
+ )
2559
+ end
2560
+ def to_hash
2561
+ end
2562
+
2563
+ class Product < MetronomeSDK::Internal::Type::BaseModel
2564
+ OrHash =
2565
+ T.type_alias do
2566
+ T.any(
2567
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Product,
2568
+ MetronomeSDK::Internal::AnyHash
2569
+ )
2570
+ end
2571
+
2572
+ sig { returns(String) }
2573
+ attr_accessor :id
2574
+
2575
+ sig { returns(String) }
2576
+ attr_accessor :name
2577
+
2578
+ sig { params(id: String, name: String).returns(T.attached_class) }
2579
+ def self.new(id:, name:)
2580
+ end
2581
+
2582
+ sig { override.returns({ id: String, name: String }) }
2583
+ def to_hash
2584
+ end
2585
+ end
2586
+
2587
+ module Type
2588
+ extend MetronomeSDK::Internal::Type::Enum
2589
+
2590
+ TaggedSymbol =
2591
+ T.type_alias do
2592
+ T.all(
2593
+ Symbol,
2594
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Type
2595
+ )
2596
+ end
2597
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2598
+
2599
+ CREDIT =
2600
+ T.let(
2601
+ :CREDIT,
2602
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Type::TaggedSymbol
2603
+ )
2604
+
2605
+ sig do
2606
+ override.returns(
2607
+ T::Array[
2608
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Type::TaggedSymbol
2609
+ ]
2610
+ )
2611
+ end
2612
+ def self.values
2613
+ end
2614
+ end
2615
+
2616
+ class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
2617
+ OrHash =
2618
+ T.type_alias do
2619
+ T.any(
2620
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::AccessSchedule,
2621
+ MetronomeSDK::Internal::AnyHash
2622
+ )
2623
+ end
2624
+
2625
+ sig do
2626
+ returns(
2627
+ T::Array[
2628
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::AccessSchedule::ScheduleItem
2629
+ ]
2630
+ )
2631
+ end
2632
+ attr_accessor :schedule_items
2633
+
2634
+ sig do
2635
+ returns(
2636
+ T.nilable(
2637
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::AccessSchedule::CreditType
2638
+ )
2639
+ )
2640
+ end
2641
+ attr_reader :credit_type
2642
+
2643
+ sig do
2644
+ params(
2645
+ credit_type:
2646
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::AccessSchedule::CreditType::OrHash
2647
+ ).void
2648
+ end
2649
+ attr_writer :credit_type
2650
+
2651
+ # The schedule that the customer will gain access to the credits.
2652
+ sig do
2653
+ params(
2654
+ schedule_items:
2655
+ T::Array[
2656
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::AccessSchedule::ScheduleItem::OrHash
2657
+ ],
2658
+ credit_type:
2659
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::AccessSchedule::CreditType::OrHash
2660
+ ).returns(T.attached_class)
2661
+ end
2662
+ def self.new(schedule_items:, credit_type: nil)
2663
+ end
2664
+
2665
+ sig do
2666
+ override.returns(
2667
+ {
2668
+ schedule_items:
2669
+ T::Array[
2670
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::AccessSchedule::ScheduleItem
2671
+ ],
2672
+ credit_type:
2673
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::AccessSchedule::CreditType
2674
+ }
2675
+ )
2676
+ end
2677
+ def to_hash
2678
+ end
2679
+
2680
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2681
+ OrHash =
2682
+ T.type_alias do
2683
+ T.any(
2684
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::AccessSchedule::ScheduleItem,
2685
+ MetronomeSDK::Internal::AnyHash
2686
+ )
2687
+ end
2688
+
2689
+ sig { returns(String) }
2690
+ attr_accessor :id
2691
+
2692
+ sig { returns(Float) }
2693
+ attr_accessor :amount
2694
+
2695
+ sig { returns(Time) }
2696
+ attr_accessor :ending_before
2697
+
2698
+ sig { returns(Time) }
2699
+ attr_accessor :starting_at
2700
+
2701
+ sig do
2702
+ params(
2703
+ id: String,
2704
+ amount: Float,
2705
+ ending_before: Time,
2706
+ starting_at: Time
2707
+ ).returns(T.attached_class)
2708
+ end
2709
+ def self.new(id:, amount:, ending_before:, starting_at:)
2710
+ end
2711
+
2712
+ sig do
2713
+ override.returns(
2714
+ {
2715
+ id: String,
2716
+ amount: Float,
2717
+ ending_before: Time,
2718
+ starting_at: Time
2719
+ }
2720
+ )
2721
+ end
2722
+ def to_hash
2723
+ end
2724
+ end
2725
+
2726
+ class CreditType < MetronomeSDK::Internal::Type::BaseModel
2727
+ OrHash =
2728
+ T.type_alias do
2729
+ T.any(
2730
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::AccessSchedule::CreditType,
2731
+ MetronomeSDK::Internal::AnyHash
2732
+ )
2733
+ end
2734
+
2735
+ sig { returns(String) }
2736
+ attr_accessor :id
2737
+
2738
+ sig { returns(String) }
2739
+ attr_accessor :name
2740
+
2741
+ sig do
2742
+ params(id: String, name: String).returns(T.attached_class)
2743
+ end
2744
+ def self.new(id:, name:)
2745
+ end
2746
+
2747
+ sig { override.returns({ id: String, name: String }) }
2748
+ def to_hash
2749
+ end
2750
+ end
2751
+ end
2752
+
2753
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
2754
+ OrHash =
2755
+ T.type_alias do
2756
+ T.any(
2757
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Contract,
2758
+ MetronomeSDK::Internal::AnyHash
2759
+ )
2760
+ end
2761
+
2762
+ sig { returns(String) }
2763
+ attr_accessor :id
2764
+
2765
+ sig { params(id: String).returns(T.attached_class) }
2766
+ def self.new(id:)
2767
+ end
2768
+
2769
+ sig { override.returns({ id: String }) }
2770
+ def to_hash
2771
+ end
2772
+ end
2773
+
2774
+ module Ledger
2775
+ extend MetronomeSDK::Internal::Type::Union
2776
+
2777
+ Variants =
2778
+ T.type_alias do
2779
+ T.any(
2780
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember0,
2781
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember1,
2782
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember2,
2783
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember3,
2784
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember4,
2785
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember5
2786
+ )
2787
+ end
2788
+
2789
+ class UnionMember0 < MetronomeSDK::Internal::Type::BaseModel
2790
+ OrHash =
2791
+ T.type_alias do
2792
+ T.any(
2793
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember0,
2794
+ MetronomeSDK::Internal::AnyHash
2795
+ )
2796
+ end
2797
+
2798
+ sig { returns(Float) }
2799
+ attr_accessor :amount
2800
+
2801
+ sig { returns(String) }
2802
+ attr_accessor :segment_id
2803
+
2804
+ sig { returns(Time) }
2805
+ attr_accessor :timestamp
2806
+
2807
+ sig do
2808
+ returns(
2809
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember0::Type::TaggedSymbol
2810
+ )
2811
+ end
2812
+ attr_accessor :type
2813
+
2814
+ sig do
2815
+ params(
2816
+ amount: Float,
2817
+ segment_id: String,
2818
+ timestamp: Time,
2819
+ type:
2820
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember0::Type::OrSymbol
2821
+ ).returns(T.attached_class)
2822
+ end
2823
+ def self.new(amount:, segment_id:, timestamp:, type:)
2824
+ end
2825
+
2826
+ sig do
2827
+ override.returns(
2828
+ {
2829
+ amount: Float,
2830
+ segment_id: String,
2831
+ timestamp: Time,
2832
+ type:
2833
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember0::Type::TaggedSymbol
2834
+ }
2835
+ )
2836
+ end
2837
+ def to_hash
2838
+ end
2839
+
2840
+ module Type
2841
+ extend MetronomeSDK::Internal::Type::Enum
2842
+
2843
+ TaggedSymbol =
2844
+ T.type_alias do
2845
+ T.all(
2846
+ Symbol,
2847
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember0::Type
2848
+ )
2849
+ end
2850
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2851
+
2852
+ CREDIT_SEGMENT_START =
2853
+ T.let(
2854
+ :CREDIT_SEGMENT_START,
2855
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember0::Type::TaggedSymbol
2856
+ )
2857
+
2858
+ sig do
2859
+ override.returns(
2860
+ T::Array[
2861
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember0::Type::TaggedSymbol
2862
+ ]
2863
+ )
2864
+ end
2865
+ def self.values
2866
+ end
2867
+ end
2868
+ end
2869
+
2870
+ class UnionMember1 < MetronomeSDK::Internal::Type::BaseModel
2871
+ OrHash =
2872
+ T.type_alias do
2873
+ T.any(
2874
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember1,
2875
+ MetronomeSDK::Internal::AnyHash
2876
+ )
2877
+ end
2878
+
2879
+ sig { returns(Float) }
2880
+ attr_accessor :amount
2881
+
2882
+ sig { returns(String) }
2883
+ attr_accessor :invoice_id
2884
+
2885
+ sig { returns(String) }
2886
+ attr_accessor :segment_id
2887
+
2888
+ sig { returns(Time) }
2889
+ attr_accessor :timestamp
2890
+
2891
+ sig do
2892
+ returns(
2893
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember1::Type::TaggedSymbol
2894
+ )
2895
+ end
2896
+ attr_accessor :type
2897
+
2898
+ sig do
2899
+ params(
2900
+ amount: Float,
2901
+ invoice_id: String,
2902
+ segment_id: String,
2903
+ timestamp: Time,
2904
+ type:
2905
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember1::Type::OrSymbol
2906
+ ).returns(T.attached_class)
2907
+ end
2908
+ def self.new(
2909
+ amount:,
2910
+ invoice_id:,
2911
+ segment_id:,
2912
+ timestamp:,
2913
+ type:
2914
+ )
2915
+ end
2916
+
2917
+ sig do
2918
+ override.returns(
2919
+ {
2920
+ amount: Float,
2921
+ invoice_id: String,
2922
+ segment_id: String,
2923
+ timestamp: Time,
2924
+ type:
2925
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember1::Type::TaggedSymbol
2926
+ }
2927
+ )
2928
+ end
2929
+ def to_hash
2930
+ end
2931
+
2932
+ module Type
2933
+ extend MetronomeSDK::Internal::Type::Enum
2934
+
2935
+ TaggedSymbol =
2936
+ T.type_alias do
2937
+ T.all(
2938
+ Symbol,
2939
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember1::Type
2940
+ )
2941
+ end
2942
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2943
+
2944
+ CREDIT_AUTOMATED_INVOICE_DEDUCTION =
2945
+ T.let(
2946
+ :CREDIT_AUTOMATED_INVOICE_DEDUCTION,
2947
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember1::Type::TaggedSymbol
2948
+ )
2949
+
2950
+ sig do
2951
+ override.returns(
2952
+ T::Array[
2953
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember1::Type::TaggedSymbol
2954
+ ]
2955
+ )
2956
+ end
2957
+ def self.values
2958
+ end
2959
+ end
2960
+ end
2961
+
2962
+ class UnionMember2 < MetronomeSDK::Internal::Type::BaseModel
2963
+ OrHash =
2964
+ T.type_alias do
2965
+ T.any(
2966
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember2,
2967
+ MetronomeSDK::Internal::AnyHash
2968
+ )
2969
+ end
2970
+
2971
+ sig { returns(Float) }
2972
+ attr_accessor :amount
2973
+
2974
+ sig { returns(String) }
2975
+ attr_accessor :segment_id
2976
+
2977
+ sig { returns(Time) }
2978
+ attr_accessor :timestamp
2979
+
2980
+ sig do
2981
+ returns(
2982
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember2::Type::TaggedSymbol
2983
+ )
2984
+ end
2985
+ attr_accessor :type
2986
+
2987
+ sig do
2988
+ params(
2989
+ amount: Float,
2990
+ segment_id: String,
2991
+ timestamp: Time,
2992
+ type:
2993
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember2::Type::OrSymbol
2994
+ ).returns(T.attached_class)
2995
+ end
2996
+ def self.new(amount:, segment_id:, timestamp:, type:)
2997
+ end
2998
+
2999
+ sig do
3000
+ override.returns(
3001
+ {
3002
+ amount: Float,
3003
+ segment_id: String,
3004
+ timestamp: Time,
3005
+ type:
3006
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember2::Type::TaggedSymbol
3007
+ }
3008
+ )
3009
+ end
3010
+ def to_hash
3011
+ end
3012
+
3013
+ module Type
3014
+ extend MetronomeSDK::Internal::Type::Enum
3015
+
3016
+ TaggedSymbol =
3017
+ T.type_alias do
3018
+ T.all(
3019
+ Symbol,
3020
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember2::Type
3021
+ )
3022
+ end
3023
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3024
+
3025
+ CREDIT_EXPIRATION =
3026
+ T.let(
3027
+ :CREDIT_EXPIRATION,
3028
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember2::Type::TaggedSymbol
3029
+ )
3030
+
3031
+ sig do
3032
+ override.returns(
3033
+ T::Array[
3034
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember2::Type::TaggedSymbol
3035
+ ]
3036
+ )
3037
+ end
3038
+ def self.values
3039
+ end
3040
+ end
3041
+ end
3042
+
3043
+ class UnionMember3 < MetronomeSDK::Internal::Type::BaseModel
3044
+ OrHash =
3045
+ T.type_alias do
3046
+ T.any(
3047
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember3,
3048
+ MetronomeSDK::Internal::AnyHash
3049
+ )
3050
+ end
3051
+
3052
+ sig { returns(Float) }
3053
+ attr_accessor :amount
3054
+
3055
+ sig { returns(String) }
3056
+ attr_accessor :invoice_id
3057
+
3058
+ sig { returns(String) }
3059
+ attr_accessor :segment_id
3060
+
3061
+ sig { returns(Time) }
3062
+ attr_accessor :timestamp
3063
+
3064
+ sig do
3065
+ returns(
3066
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember3::Type::TaggedSymbol
3067
+ )
3068
+ end
3069
+ attr_accessor :type
3070
+
3071
+ sig do
3072
+ params(
3073
+ amount: Float,
3074
+ invoice_id: String,
3075
+ segment_id: String,
3076
+ timestamp: Time,
3077
+ type:
3078
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember3::Type::OrSymbol
3079
+ ).returns(T.attached_class)
3080
+ end
3081
+ def self.new(
3082
+ amount:,
3083
+ invoice_id:,
3084
+ segment_id:,
3085
+ timestamp:,
3086
+ type:
3087
+ )
3088
+ end
3089
+
3090
+ sig do
3091
+ override.returns(
3092
+ {
3093
+ amount: Float,
3094
+ invoice_id: String,
3095
+ segment_id: String,
3096
+ timestamp: Time,
3097
+ type:
3098
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember3::Type::TaggedSymbol
3099
+ }
3100
+ )
3101
+ end
3102
+ def to_hash
3103
+ end
3104
+
3105
+ module Type
3106
+ extend MetronomeSDK::Internal::Type::Enum
3107
+
3108
+ TaggedSymbol =
3109
+ T.type_alias do
3110
+ T.all(
3111
+ Symbol,
3112
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember3::Type
3113
+ )
3114
+ end
3115
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3116
+
3117
+ CREDIT_CANCELED =
3118
+ T.let(
3119
+ :CREDIT_CANCELED,
3120
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember3::Type::TaggedSymbol
3121
+ )
3122
+
3123
+ sig do
3124
+ override.returns(
3125
+ T::Array[
3126
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember3::Type::TaggedSymbol
3127
+ ]
3128
+ )
3129
+ end
3130
+ def self.values
3131
+ end
3132
+ end
3133
+ end
3134
+
3135
+ class UnionMember4 < MetronomeSDK::Internal::Type::BaseModel
3136
+ OrHash =
3137
+ T.type_alias do
3138
+ T.any(
3139
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember4,
3140
+ MetronomeSDK::Internal::AnyHash
3141
+ )
3142
+ end
3143
+
3144
+ sig { returns(Float) }
3145
+ attr_accessor :amount
3146
+
3147
+ sig { returns(String) }
3148
+ attr_accessor :invoice_id
3149
+
3150
+ sig { returns(String) }
3151
+ attr_accessor :segment_id
3152
+
3153
+ sig { returns(Time) }
3154
+ attr_accessor :timestamp
3155
+
3156
+ sig do
3157
+ returns(
3158
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember4::Type::TaggedSymbol
3159
+ )
3160
+ end
3161
+ attr_accessor :type
3162
+
3163
+ sig do
3164
+ params(
3165
+ amount: Float,
3166
+ invoice_id: String,
3167
+ segment_id: String,
3168
+ timestamp: Time,
3169
+ type:
3170
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember4::Type::OrSymbol
3171
+ ).returns(T.attached_class)
3172
+ end
3173
+ def self.new(
3174
+ amount:,
3175
+ invoice_id:,
3176
+ segment_id:,
3177
+ timestamp:,
3178
+ type:
3179
+ )
3180
+ end
3181
+
3182
+ sig do
3183
+ override.returns(
3184
+ {
3185
+ amount: Float,
3186
+ invoice_id: String,
3187
+ segment_id: String,
3188
+ timestamp: Time,
3189
+ type:
3190
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember4::Type::TaggedSymbol
3191
+ }
3192
+ )
3193
+ end
3194
+ def to_hash
3195
+ end
3196
+
3197
+ module Type
3198
+ extend MetronomeSDK::Internal::Type::Enum
3199
+
3200
+ TaggedSymbol =
3201
+ T.type_alias do
3202
+ T.all(
3203
+ Symbol,
3204
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember4::Type
3205
+ )
3206
+ end
3207
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3208
+
3209
+ CREDIT_CREDITED =
3210
+ T.let(
3211
+ :CREDIT_CREDITED,
3212
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember4::Type::TaggedSymbol
3213
+ )
3214
+
3215
+ sig do
3216
+ override.returns(
3217
+ T::Array[
3218
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember4::Type::TaggedSymbol
3219
+ ]
3220
+ )
3221
+ end
3222
+ def self.values
3223
+ end
3224
+ end
3225
+ end
3226
+
3227
+ class UnionMember5 < MetronomeSDK::Internal::Type::BaseModel
3228
+ OrHash =
3229
+ T.type_alias do
3230
+ T.any(
3231
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember5,
3232
+ MetronomeSDK::Internal::AnyHash
3233
+ )
3234
+ end
3235
+
3236
+ sig { returns(Float) }
3237
+ attr_accessor :amount
3238
+
3239
+ sig { returns(String) }
3240
+ attr_accessor :reason
3241
+
3242
+ sig { returns(Time) }
3243
+ attr_accessor :timestamp
3244
+
3245
+ sig do
3246
+ returns(
3247
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember5::Type::TaggedSymbol
3248
+ )
3249
+ end
3250
+ attr_accessor :type
3251
+
3252
+ sig do
3253
+ params(
3254
+ amount: Float,
3255
+ reason: String,
3256
+ timestamp: Time,
3257
+ type:
3258
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember5::Type::OrSymbol
3259
+ ).returns(T.attached_class)
3260
+ end
3261
+ def self.new(amount:, reason:, timestamp:, type:)
3262
+ end
3263
+
3264
+ sig do
3265
+ override.returns(
3266
+ {
3267
+ amount: Float,
3268
+ reason: String,
3269
+ timestamp: Time,
3270
+ type:
3271
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember5::Type::TaggedSymbol
3272
+ }
3273
+ )
3274
+ end
3275
+ def to_hash
3276
+ end
3277
+
3278
+ module Type
3279
+ extend MetronomeSDK::Internal::Type::Enum
3280
+
3281
+ TaggedSymbol =
3282
+ T.type_alias do
3283
+ T.all(
3284
+ Symbol,
3285
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember5::Type
3286
+ )
3287
+ end
3288
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3289
+
3290
+ CREDIT_MANUAL =
3291
+ T.let(
3292
+ :CREDIT_MANUAL,
3293
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember5::Type::TaggedSymbol
3294
+ )
3295
+
3296
+ sig do
3297
+ override.returns(
3298
+ T::Array[
3299
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::UnionMember5::Type::TaggedSymbol
3300
+ ]
3301
+ )
3302
+ end
3303
+ def self.values
3304
+ end
3305
+ end
3306
+ end
3307
+
3308
+ sig do
3309
+ override.returns(
3310
+ T::Array[
3311
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Ledger::Variants
3312
+ ]
3313
+ )
3314
+ end
3315
+ def self.variants
3316
+ end
3317
+ end
3318
+
3319
+ module RateType
3320
+ extend MetronomeSDK::Internal::Type::Enum
3321
+
3322
+ TaggedSymbol =
3323
+ T.type_alias do
3324
+ T.all(
3325
+ Symbol,
3326
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::RateType
3327
+ )
3328
+ end
3329
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3330
+
3331
+ COMMIT_RATE =
3332
+ T.let(
3333
+ :COMMIT_RATE,
3334
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::RateType::TaggedSymbol
3335
+ )
3336
+ LIST_RATE =
3337
+ T.let(
3338
+ :LIST_RATE,
3339
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::RateType::TaggedSymbol
3340
+ )
3341
+
3342
+ sig do
3343
+ override.returns(
3344
+ T::Array[
3345
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::RateType::TaggedSymbol
3346
+ ]
3347
+ )
3348
+ end
3349
+ def self.values
3350
+ end
3351
+ end
3352
+
3353
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
3354
+ OrHash =
3355
+ T.type_alias do
3356
+ T.any(
3357
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::UnionMember1::Specifier,
3358
+ MetronomeSDK::Internal::AnyHash
3359
+ )
3360
+ end
3361
+
3362
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
3363
+ attr_reader :presentation_group_values
3364
+
3365
+ sig do
3366
+ params(presentation_group_values: T::Hash[Symbol, String]).void
3367
+ end
3368
+ attr_writer :presentation_group_values
3369
+
3370
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
3371
+ attr_reader :pricing_group_values
3372
+
3373
+ sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
3374
+ attr_writer :pricing_group_values
3375
+
3376
+ # If provided, the specifier will only apply to the product with the specified ID.
3377
+ sig { returns(T.nilable(String)) }
3378
+ attr_reader :product_id
3379
+
3380
+ sig { params(product_id: String).void }
3381
+ attr_writer :product_id
3382
+
3383
+ # If provided, the specifier will only apply to products with all the specified
3384
+ # tags.
3385
+ sig { returns(T.nilable(T::Array[String])) }
3386
+ attr_reader :product_tags
3387
+
3388
+ sig { params(product_tags: T::Array[String]).void }
3389
+ attr_writer :product_tags
3390
+
3391
+ sig do
3392
+ params(
3393
+ presentation_group_values: T::Hash[Symbol, String],
3394
+ pricing_group_values: T::Hash[Symbol, String],
3395
+ product_id: String,
3396
+ product_tags: T::Array[String]
3397
+ ).returns(T.attached_class)
3398
+ end
3399
+ def self.new(
3400
+ presentation_group_values: nil,
3401
+ pricing_group_values: nil,
3402
+ # If provided, the specifier will only apply to the product with the specified ID.
3403
+ product_id: nil,
3404
+ # If provided, the specifier will only apply to products with all the specified
3405
+ # tags.
3406
+ product_tags: nil
3407
+ )
3408
+ end
3409
+
3410
+ sig do
3411
+ override.returns(
3412
+ {
3413
+ presentation_group_values: T::Hash[Symbol, String],
3414
+ pricing_group_values: T::Hash[Symbol, String],
3415
+ product_id: String,
3416
+ product_tags: T::Array[String]
3417
+ }
3418
+ )
3419
+ end
3420
+ def to_hash
3421
+ end
3422
+ end
3423
+ end
3424
+
3425
+ sig do
3426
+ override.returns(
3427
+ T::Array[
3428
+ MetronomeSDK::Models::V1::ContractListBalancesResponse::Data::Variants
3429
+ ]
3430
+ )
3431
+ end
3432
+ def self.variants
3433
+ end
38
3434
  end
39
3435
  end
40
3436
  end