metronome-sdk 0.1.0.pre.alpha.2 → 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 (551) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +45 -0
  3. data/README.md +120 -74
  4. data/SECURITY.md +2 -2
  5. data/lib/metronome_sdk/client.rb +4 -4
  6. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +3 -1
  7. data/lib/metronome_sdk/internal/type/array_of.rb +8 -0
  8. data/lib/metronome_sdk/internal/type/base_model.rb +13 -0
  9. data/lib/metronome_sdk/internal/type/boolean.rb +8 -0
  10. data/lib/metronome_sdk/internal/type/enum.rb +12 -0
  11. data/lib/metronome_sdk/internal/type/file_input.rb +7 -0
  12. data/lib/metronome_sdk/internal/type/hash_of.rb +8 -0
  13. data/lib/metronome_sdk/internal/type/union.rb +12 -0
  14. data/lib/metronome_sdk/internal/type/unknown.rb +8 -0
  15. data/lib/metronome_sdk/internal/util.rb +54 -1
  16. data/lib/metronome_sdk/internal.rb +3 -0
  17. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +14 -3
  18. data/lib/metronome_sdk/models/v1/alert_create_params.rb +11 -11
  19. data/lib/metronome_sdk/models/v1/alert_create_response.rb +14 -3
  20. data/lib/metronome_sdk/models/v1/audit_log_list_params.rb +2 -2
  21. data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +8 -2
  22. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +14 -3
  23. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +88 -8
  24. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +14 -3
  25. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +85 -6
  26. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +85 -8
  27. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +291 -143
  28. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +14 -3
  29. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +14 -3
  30. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +12 -12
  31. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +1276 -3
  32. data/lib/metronome_sdk/models/v1/contract_create_params.rb +827 -299
  33. data/lib/metronome_sdk/models/v1/contract_create_response.rb +14 -3
  34. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +1644 -8
  35. data/lib/metronome_sdk/models/v1/contract_list_response.rb +10879 -55
  36. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +33 -5
  37. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +317 -10
  38. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +10908 -55
  39. data/lib/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rb +34 -0
  40. data/lib/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rb +81 -0
  41. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +4 -4
  42. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +1276 -3
  43. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +14 -3
  44. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +14 -3
  45. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +99 -8
  46. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +14 -3
  47. data/lib/metronome_sdk/models/v1/contracts/product_list_params.rb +4 -4
  48. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +561 -12
  49. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +8 -2
  50. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +559 -14
  51. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +97 -6
  52. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +14 -3
  53. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_params.rb +8 -2
  54. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +14 -3
  55. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +4 -4
  56. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +14 -3
  57. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +42 -6
  58. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +8 -2
  59. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +33 -5
  60. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +181 -7
  61. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +42 -6
  62. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +2 -2
  63. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +14 -3
  64. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +14 -3
  65. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +2 -2
  66. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +14 -3
  67. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +86 -20
  68. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +16 -3
  69. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +76 -14
  70. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +61 -9
  71. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +33 -5
  72. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +180 -7
  73. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +85 -21
  74. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +14 -3
  75. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +14 -3
  76. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +153 -11
  77. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +175 -14
  78. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +14 -3
  79. data/lib/metronome_sdk/models/v1/custom_field_add_key_params.rb +2 -2
  80. data/lib/metronome_sdk/models/v1/custom_field_delete_values_params.rb +2 -2
  81. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +2 -2
  82. data/lib/metronome_sdk/models/v1/custom_field_remove_key_params.rb +2 -2
  83. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +2 -2
  84. data/lib/metronome_sdk/models/v1/customer_archive_params.rb +8 -2
  85. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +14 -3
  86. data/lib/metronome_sdk/models/v1/customer_create_params.rb +20 -20
  87. data/lib/metronome_sdk/models/v1/customer_create_response.rb +50 -3
  88. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +86 -6
  89. data/lib/metronome_sdk/models/v1/{customer_detail.rb → customer_list_response.rb} +15 -14
  90. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +126 -3
  91. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +50 -3
  92. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +2 -2
  93. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +276 -5
  94. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +2 -2
  95. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +279 -3
  96. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +6 -6
  97. data/lib/metronome_sdk/models/v1/customers/billing_config_delete_params.rb +2 -2
  98. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rb +2 -2
  99. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +78 -26
  100. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +14 -3
  101. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +1047 -3
  102. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +14 -3
  103. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +59 -7
  104. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +14 -3
  105. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +593 -3
  106. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +14 -3
  107. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +4 -4
  108. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +1271 -2
  109. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +2 -2
  110. data/lib/metronome_sdk/models/v1/customers/{invoice.rb → invoice_list_response.rb} +303 -118
  111. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +1276 -3
  112. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +16 -15
  113. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +14 -3
  114. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +21 -3
  115. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +13 -13
  116. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +286 -3
  117. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +20 -3
  118. data/lib/metronome_sdk/models/v1/plan_list_customers_params.rb +2 -2
  119. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +128 -3
  120. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +2 -2
  121. data/lib/metronome_sdk/models/v1/usage_list_params.rb +9 -8
  122. data/lib/metronome_sdk/models/v1/usage_list_with_groups_params.rb +5 -5
  123. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +69 -17
  124. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +14 -3
  125. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +61 -9
  126. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +14 -3
  127. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +1147 -377
  128. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +14 -3
  129. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +2212 -119
  130. data/lib/metronome_sdk/models/v2/contract_list_response.rb +1233 -202
  131. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +1235 -201
  132. data/lib/metronome_sdk/models.rb +28 -49
  133. data/lib/metronome_sdk/resources/v1/alerts.rb +3 -3
  134. data/lib/metronome_sdk/resources/v1/audit_logs.rb +1 -1
  135. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +3 -3
  136. data/lib/metronome_sdk/resources/v1/contracts/products.rb +9 -6
  137. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +1 -1
  138. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +8 -6
  139. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +4 -4
  140. data/lib/metronome_sdk/resources/v1/contracts.rb +55 -28
  141. data/lib/metronome_sdk/resources/v1/credit_grants.rb +3 -3
  142. data/lib/metronome_sdk/resources/v1/custom_fields.rb +5 -5
  143. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +2 -2
  144. data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +5 -5
  145. data/lib/metronome_sdk/resources/v1/customers/commits.rb +7 -5
  146. data/lib/metronome_sdk/resources/v1/customers/credits.rb +5 -3
  147. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +5 -5
  148. data/lib/metronome_sdk/resources/v1/customers/plans.rb +3 -3
  149. data/lib/metronome_sdk/resources/v1/customers.rb +6 -5
  150. data/lib/metronome_sdk/resources/v1/dashboards.rb +4 -4
  151. data/lib/metronome_sdk/resources/v1/plans.rb +1 -1
  152. data/lib/metronome_sdk/resources/v1/usage.rb +5 -5
  153. data/lib/metronome_sdk/resources/v2/contracts.rb +39 -27
  154. data/lib/metronome_sdk/version.rb +1 -1
  155. data/lib/metronome_sdk.rb +7 -28
  156. data/rbi/metronome_sdk/internal/transport/pooled_net_requester.rbi +5 -1
  157. data/rbi/metronome_sdk/internal/type/array_of.rbi +6 -0
  158. data/rbi/metronome_sdk/internal/type/base_model.rbi +5 -0
  159. data/rbi/metronome_sdk/internal/type/boolean.rbi +6 -0
  160. data/rbi/metronome_sdk/internal/type/enum.rbi +5 -0
  161. data/rbi/metronome_sdk/internal/type/file_input.rbi +5 -0
  162. data/rbi/metronome_sdk/internal/type/hash_of.rbi +6 -0
  163. data/rbi/metronome_sdk/internal/type/union.rbi +5 -0
  164. data/rbi/metronome_sdk/internal/type/unknown.rbi +6 -0
  165. data/rbi/metronome_sdk/internal/util.rbi +34 -0
  166. data/rbi/metronome_sdk/internal.rbi +5 -0
  167. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +37 -4
  168. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +4 -4
  169. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +37 -4
  170. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +12 -6
  171. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +44 -4
  172. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +177 -8
  173. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +43 -4
  174. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +177 -8
  175. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +175 -8
  176. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +341 -7
  177. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +37 -4
  178. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +39 -4
  179. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +2595 -3
  180. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1230 -74
  181. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +37 -4
  182. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +3375 -5
  183. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +23626 -686
  184. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbi +72 -0
  185. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +698 -12
  186. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +23626 -686
  187. data/rbi/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rbi +58 -0
  188. data/rbi/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rbi +212 -0
  189. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +2595 -3
  190. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +44 -4
  191. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +44 -4
  192. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +209 -8
  193. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +44 -4
  194. data/rbi/metronome_sdk/models/v1/contracts/product_list_params.rbi +3 -3
  195. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +1143 -76
  196. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +9 -3
  197. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +1137 -76
  198. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +209 -8
  199. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +44 -4
  200. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbi +9 -3
  201. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbi +44 -4
  202. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +44 -4
  203. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +74 -8
  204. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +9 -3
  205. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbi +72 -0
  206. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +410 -8
  207. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +74 -8
  208. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +44 -4
  209. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +44 -4
  210. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +44 -4
  211. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +180 -8
  212. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +45 -4
  213. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +180 -8
  214. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +149 -12
  215. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbi +72 -0
  216. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +410 -8
  217. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +166 -8
  218. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +41 -4
  219. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +39 -4
  220. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +231 -10
  221. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +281 -14
  222. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +39 -4
  223. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +12 -6
  224. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +39 -4
  225. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +84 -6
  226. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +177 -8
  227. data/rbi/metronome_sdk/models/v1/{customer_detail.rbi → customer_list_response.rbi} +26 -19
  228. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +255 -6
  229. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +86 -6
  230. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +623 -3
  231. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +622 -4
  232. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +109 -0
  233. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +44 -4
  234. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +2164 -3
  235. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +44 -4
  236. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +109 -0
  237. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +44 -4
  238. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +1224 -3
  239. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +44 -4
  240. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +2561 -4
  241. data/rbi/metronome_sdk/models/v1/customers/{invoice.rbi → invoice_list_response.rbi} +589 -182
  242. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +2612 -6
  243. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +41 -4
  244. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +39 -4
  245. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +560 -6
  246. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +37 -4
  247. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +248 -4
  248. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +105 -0
  249. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +41 -4
  250. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +105 -0
  251. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +41 -4
  252. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +1980 -285
  253. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +37 -4
  254. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +7604 -2906
  255. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +3855 -1534
  256. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +3855 -1534
  257. data/rbi/metronome_sdk/models.rbi +0 -32
  258. data/rbi/metronome_sdk/resources/v1/alerts.rbi +2 -2
  259. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +6 -2
  260. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +6 -5
  261. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +9 -1
  262. data/rbi/metronome_sdk/resources/v1/contracts.rbi +30 -1
  263. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +9 -0
  264. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +9 -0
  265. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +1 -1
  266. data/rbi/metronome_sdk/resources/v1/customers.rbi +5 -2
  267. data/rbi/metronome_sdk/resources/v2/contracts.rbi +49 -1
  268. data/sig/metronome_sdk/internal/transport/pooled_net_requester.rbs +2 -0
  269. data/sig/metronome_sdk/internal/type/array_of.rbs +3 -0
  270. data/sig/metronome_sdk/internal/type/base_model.rbs +2 -0
  271. data/sig/metronome_sdk/internal/type/boolean.rbs +3 -0
  272. data/sig/metronome_sdk/internal/type/enum.rbs +2 -0
  273. data/sig/metronome_sdk/internal/type/file_input.rbs +2 -0
  274. data/sig/metronome_sdk/internal/type/hash_of.rbs +3 -0
  275. data/sig/metronome_sdk/internal/type/union.rbs +2 -0
  276. data/sig/metronome_sdk/internal/type/unknown.rbs +3 -0
  277. data/sig/metronome_sdk/internal/util.rbs +12 -0
  278. data/sig/metronome_sdk/internal.rbs +2 -0
  279. data/sig/metronome_sdk/models/v1/alert_archive_params.rbs +6 -0
  280. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +20 -3
  281. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +29 -4
  282. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +20 -3
  283. data/sig/metronome_sdk/models/v1/audit_log_list_params.rbs +11 -0
  284. data/sig/metronome_sdk/models/v1/audit_log_list_response.rbs +16 -0
  285. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +13 -3
  286. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +20 -3
  287. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +83 -10
  288. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +20 -3
  289. data/sig/metronome_sdk/models/v1/billable_metric_list_params.rbs +7 -0
  290. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +84 -10
  291. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_params.rbs +5 -0
  292. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +88 -10
  293. data/sig/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbs +11 -0
  294. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +456 -79
  295. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +20 -3
  296. data/sig/metronome_sdk/models/v1/contract_archive_params.rbs +7 -0
  297. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +20 -3
  298. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbs +47 -12
  299. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +1292 -3
  300. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +1087 -198
  301. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +20 -3
  302. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +14 -0
  303. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +1647 -1
  304. data/sig/metronome_sdk/models/v1/contract_list_params.rbs +10 -0
  305. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +10802 -104
  306. data/sig/metronome_sdk/models/v1/contract_retrieve_params.rbs +8 -0
  307. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbs +39 -0
  308. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +316 -12
  309. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +10802 -104
  310. data/sig/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_params.rbs +34 -0
  311. data/sig/metronome_sdk/models/v1/contract_retrieve_subscription_quantity_history_response.rbs +101 -0
  312. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rbs +21 -0
  313. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +1292 -3
  314. data/sig/metronome_sdk/models/v1/contract_set_usage_filter_params.rbs +9 -0
  315. data/sig/metronome_sdk/models/v1/contract_update_end_date_params.rbs +8 -0
  316. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +20 -3
  317. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rbs +7 -0
  318. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rbs +10 -0
  319. data/sig/metronome_sdk/models/v1/contracts/named_schedule_update_params.rbs +9 -0
  320. data/sig/metronome_sdk/models/v1/contracts/product_archive_params.rbs +5 -0
  321. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +22 -3
  322. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +98 -6
  323. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +22 -3
  324. data/sig/metronome_sdk/models/v1/contracts/product_list_params.rbs +7 -0
  325. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +491 -12
  326. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +13 -3
  327. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +495 -12
  328. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +99 -6
  329. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +22 -3
  330. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +13 -3
  331. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +22 -3
  332. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_params.rbs +21 -0
  333. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +22 -3
  334. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_params.rbs +7 -0
  335. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +55 -8
  336. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +13 -3
  337. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbs +38 -0
  338. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +188 -8
  339. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +59 -8
  340. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_params.rbs +14 -0
  341. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +22 -3
  342. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rbs +8 -0
  343. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rbs +10 -0
  344. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rbs +10 -0
  345. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rbs +6 -0
  346. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +22 -3
  347. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rbs +8 -0
  348. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +22 -3
  349. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +97 -18
  350. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +22 -3
  351. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +89 -14
  352. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +78 -15
  353. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbs +38 -0
  354. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +183 -8
  355. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +98 -6
  356. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +20 -3
  357. data/sig/metronome_sdk/models/v1/credit_grant_edit_params.rbs +8 -0
  358. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +20 -3
  359. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +9 -0
  360. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +145 -9
  361. data/sig/metronome_sdk/models/v1/credit_grant_list_params.rbs +11 -0
  362. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +174 -12
  363. data/sig/metronome_sdk/models/v1/credit_grant_void_params.rbs +7 -0
  364. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +20 -3
  365. data/sig/metronome_sdk/models/v1/custom_field_add_key_params.rbs +7 -0
  366. data/sig/metronome_sdk/models/v1/custom_field_delete_values_params.rbs +7 -0
  367. data/sig/metronome_sdk/models/v1/custom_field_list_keys_params.rbs +12 -6
  368. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +11 -0
  369. data/sig/metronome_sdk/models/v1/custom_field_remove_key_params.rbs +6 -0
  370. data/sig/metronome_sdk/models/v1/custom_field_set_values_params.rbs +7 -0
  371. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +13 -3
  372. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +20 -3
  373. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +52 -26
  374. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +49 -3
  375. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_params.rbs +9 -0
  376. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +88 -10
  377. data/sig/metronome_sdk/models/v1/customer_list_costs_params.rbs +9 -0
  378. data/sig/metronome_sdk/models/v1/customer_list_costs_response.rbs +19 -0
  379. data/sig/metronome_sdk/models/v1/customer_list_params.rbs +10 -0
  380. data/sig/metronome_sdk/models/v1/customer_list_response.rbs +109 -0
  381. data/sig/metronome_sdk/models/v1/customer_retrieve_params.rbs +5 -0
  382. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +113 -3
  383. data/sig/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rbs +6 -0
  384. data/sig/metronome_sdk/models/v1/customer_set_name_params.rbs +6 -0
  385. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +49 -3
  386. data/sig/metronome_sdk/models/v1/customer_update_config_params.rbs +7 -0
  387. data/sig/metronome_sdk/models/v1/customers/alert_list_params.rbs +13 -6
  388. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +247 -3
  389. data/sig/metronome_sdk/models/v1/customers/alert_reset_params.rbs +6 -0
  390. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +7 -0
  391. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +248 -3
  392. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +10 -0
  393. data/sig/metronome_sdk/models/v1/customers/billing_config_delete_params.rbs +6 -0
  394. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbs +6 -0
  395. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +16 -0
  396. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +116 -8
  397. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +22 -3
  398. data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +14 -0
  399. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +1061 -3
  400. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_params.rbs +8 -0
  401. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +22 -3
  402. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +82 -0
  403. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +22 -3
  404. data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +14 -0
  405. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +600 -3
  406. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_params.rbs +7 -0
  407. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +22 -3
  408. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_params.rbs +11 -0
  409. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_response.rbs +2 -0
  410. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rbs +14 -0
  411. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +1282 -7
  412. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +13 -0
  413. data/sig/metronome_sdk/models/v1/customers/invoice_list_response.rbs +1290 -0
  414. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_params.rbs +7 -0
  415. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +1295 -3
  416. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rbs +7 -0
  417. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rbs +10 -0
  418. data/sig/metronome_sdk/models/v1/customers/named_schedule_update_params.rbs +9 -0
  419. data/sig/metronome_sdk/models/v1/customers/plan_add_params.rbs +38 -4
  420. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +20 -3
  421. data/sig/metronome_sdk/models/v1/customers/plan_end_params.rbs +9 -0
  422. data/sig/metronome_sdk/models/v1/customers/plan_end_response.rbs +2 -0
  423. data/sig/metronome_sdk/models/v1/customers/plan_list_params.rbs +7 -0
  424. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rbs +8 -0
  425. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbs +14 -0
  426. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +38 -3
  427. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +28 -6
  428. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rbs +6 -0
  429. data/sig/metronome_sdk/models/v1/invoice_regenerate_params.rbs +5 -0
  430. data/sig/metronome_sdk/models/v1/invoice_regenerate_response.rbs +6 -0
  431. data/sig/metronome_sdk/models/v1/invoice_void_params.rbs +5 -0
  432. data/sig/metronome_sdk/models/v1/invoice_void_response.rbs +6 -0
  433. data/sig/metronome_sdk/models/v1/plan_get_details_params.rbs +5 -0
  434. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +268 -3
  435. data/sig/metronome_sdk/models/v1/plan_list_charges_params.rbs +7 -0
  436. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +43 -3
  437. data/sig/metronome_sdk/models/v1/plan_list_customers_params.rbs +8 -0
  438. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +121 -3
  439. data/sig/metronome_sdk/models/v1/plan_list_params.rbs +6 -0
  440. data/sig/metronome_sdk/models/v1/plan_list_response.rbs +7 -0
  441. data/sig/metronome_sdk/models/v1/pricing_unit_list_params.rbs +6 -0
  442. data/sig/metronome_sdk/models/v1/pricing_unit_list_response.rbs +2 -0
  443. data/sig/metronome_sdk/models/v1/service_list_params.rbs +2 -0
  444. data/sig/metronome_sdk/models/v1/service_list_response.rbs +10 -0
  445. data/sig/metronome_sdk/models/v1/usage_ingest_params.rbs +13 -0
  446. data/sig/metronome_sdk/models/v1/usage_list_params.rbs +17 -0
  447. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +15 -0
  448. data/sig/metronome_sdk/models/v1/usage_list_with_groups_params.rbs +15 -0
  449. data/sig/metronome_sdk/models/v1/usage_list_with_groups_response.rbs +8 -0
  450. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +110 -1
  451. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +20 -3
  452. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +85 -1
  453. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +20 -3
  454. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +1476 -212
  455. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +20 -3
  456. data/sig/metronome_sdk/models/v2/contract_get_edit_history_params.rbs +6 -0
  457. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +2855 -442
  458. data/sig/metronome_sdk/models/v2/contract_list_params.rbs +10 -0
  459. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +1743 -194
  460. data/sig/metronome_sdk/models/v2/contract_retrieve_params.rbs +9 -0
  461. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +1743 -194
  462. data/sig/metronome_sdk/models.rbs +0 -32
  463. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +2 -2
  464. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +4 -4
  465. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +2 -1
  466. data/sig/metronome_sdk/resources/v1/contracts.rbs +9 -1
  467. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +1 -1
  468. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -1
  469. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +1 -0
  470. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +1 -0
  471. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -1
  472. data/sig/metronome_sdk/resources/v1/customers.rbs +1 -1
  473. data/sig/metronome_sdk/resources/v2/contracts.rbs +7 -1
  474. metadata +14 -83
  475. data/lib/metronome_sdk/models/base_usage_filter.rb +0 -27
  476. data/lib/metronome_sdk/models/commit.rb +0 -867
  477. data/lib/metronome_sdk/models/contract_without_amendments.rb +0 -1437
  478. data/lib/metronome_sdk/models/credit.rb +0 -484
  479. data/lib/metronome_sdk/models/credit_type_data.rb +0 -21
  480. data/lib/metronome_sdk/models/discount.rb +0 -68
  481. data/lib/metronome_sdk/models/event_type_filter.rb +0 -33
  482. data/lib/metronome_sdk/models/id.rb +0 -15
  483. data/lib/metronome_sdk/models/override.rb +0 -362
  484. data/lib/metronome_sdk/models/pro_service.rb +0 -73
  485. data/lib/metronome_sdk/models/property_filter.rb +0 -52
  486. data/lib/metronome_sdk/models/rate.rb +0 -101
  487. data/lib/metronome_sdk/models/schedule_duration.rb +0 -50
  488. data/lib/metronome_sdk/models/schedule_point_in_time.rb +0 -62
  489. data/lib/metronome_sdk/models/scheduled_charge.rb +0 -76
  490. data/lib/metronome_sdk/models/tier.rb +0 -21
  491. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +0 -148
  492. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +0 -57
  493. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +0 -45
  494. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +0 -69
  495. data/lib/metronome_sdk/models/v1/customer.rb +0 -53
  496. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +0 -270
  497. data/lib/metronome_sdk/models/v1/plan_detail.rb +0 -200
  498. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +0 -38
  499. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +0 -38
  500. data/rbi/metronome_sdk/models/base_usage_filter.rbi +0 -46
  501. data/rbi/metronome_sdk/models/commit.rbi +0 -1625
  502. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +0 -2939
  503. data/rbi/metronome_sdk/models/credit.rbi +0 -879
  504. data/rbi/metronome_sdk/models/credit_type_data.rbi +0 -26
  505. data/rbi/metronome_sdk/models/discount.rbi +0 -106
  506. data/rbi/metronome_sdk/models/event_type_filter.rbi +0 -57
  507. data/rbi/metronome_sdk/models/id.rbi +0 -23
  508. data/rbi/metronome_sdk/models/override.rbi +0 -609
  509. data/rbi/metronome_sdk/models/pro_service.rbi +0 -98
  510. data/rbi/metronome_sdk/models/property_filter.rbi +0 -88
  511. data/rbi/metronome_sdk/models/rate.rbi +0 -155
  512. data/rbi/metronome_sdk/models/schedule_duration.rbi +0 -89
  513. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +0 -121
  514. data/rbi/metronome_sdk/models/scheduled_charge.rbi +0 -119
  515. data/rbi/metronome_sdk/models/tier.rbi +0 -29
  516. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +0 -237
  517. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +0 -111
  518. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +0 -94
  519. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +0 -90
  520. data/rbi/metronome_sdk/models/v1/customer.rbi +0 -74
  521. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +0 -572
  522. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +0 -349
  523. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +0 -79
  524. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +0 -80
  525. data/sig/metronome_sdk/models/base_usage_filter.rbs +0 -22
  526. data/sig/metronome_sdk/models/commit.rbs +0 -714
  527. data/sig/metronome_sdk/models/contract_without_amendments.rbs +0 -1072
  528. data/sig/metronome_sdk/models/credit.rbs +0 -397
  529. data/sig/metronome_sdk/models/credit_type_data.rbs +0 -13
  530. data/sig/metronome_sdk/models/discount.rbs +0 -52
  531. data/sig/metronome_sdk/models/event_type_filter.rbs +0 -21
  532. data/sig/metronome_sdk/models/id.rbs +0 -11
  533. data/sig/metronome_sdk/models/override.rbs +0 -329
  534. data/sig/metronome_sdk/models/pro_service.rbs +0 -50
  535. data/sig/metronome_sdk/models/property_filter.rbs +0 -34
  536. data/sig/metronome_sdk/models/rate.rbs +0 -82
  537. data/sig/metronome_sdk/models/schedule_duration.rbs +0 -44
  538. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +0 -61
  539. data/sig/metronome_sdk/models/scheduled_charge.rbs +0 -58
  540. data/sig/metronome_sdk/models/tier.rbs +0 -15
  541. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +0 -102
  542. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +0 -41
  543. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +0 -36
  544. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +0 -42
  545. data/sig/metronome_sdk/models/v1/customer.rbs +0 -36
  546. data/sig/metronome_sdk/models/v1/customer_detail.rbs +0 -90
  547. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +0 -205
  548. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +0 -977
  549. data/sig/metronome_sdk/models/v1/plan_detail.rbs +0 -165
  550. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +0 -29
  551. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +0 -32
@@ -13,27 +13,2633 @@ module MetronomeSDK
13
13
  )
14
14
  end
15
15
 
16
- sig { returns(MetronomeSDK::V1::Customers::Invoice) }
16
+ sig do
17
+ returns(
18
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data
19
+ )
20
+ end
17
21
  attr_reader :data
18
22
 
19
23
  sig do
20
- params(data: MetronomeSDK::V1::Customers::Invoice::OrHash).void
24
+ params(
25
+ data:
26
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::OrHash
27
+ ).void
21
28
  end
22
29
  attr_writer :data
23
30
 
24
31
  sig do
25
- params(data: MetronomeSDK::V1::Customers::Invoice::OrHash).returns(
26
- T.attached_class
27
- )
32
+ params(
33
+ data:
34
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::OrHash
35
+ ).returns(T.attached_class)
28
36
  end
29
37
  def self.new(data:)
30
38
  end
31
39
 
32
40
  sig do
33
- override.returns({ data: MetronomeSDK::V1::Customers::Invoice })
41
+ override.returns(
42
+ {
43
+ data:
44
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data
45
+ }
46
+ )
34
47
  end
35
48
  def to_hash
36
49
  end
50
+
51
+ class Data < MetronomeSDK::Internal::Type::BaseModel
52
+ OrHash =
53
+ T.type_alias do
54
+ T.any(
55
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data,
56
+ MetronomeSDK::Internal::AnyHash
57
+ )
58
+ end
59
+
60
+ sig { returns(String) }
61
+ attr_accessor :id
62
+
63
+ sig do
64
+ returns(
65
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CreditType
66
+ )
67
+ end
68
+ attr_reader :credit_type
69
+
70
+ sig do
71
+ params(
72
+ credit_type:
73
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CreditType::OrHash
74
+ ).void
75
+ end
76
+ attr_writer :credit_type
77
+
78
+ sig { returns(String) }
79
+ attr_accessor :customer_id
80
+
81
+ sig do
82
+ returns(
83
+ T::Array[
84
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem
85
+ ]
86
+ )
87
+ end
88
+ attr_accessor :line_items
89
+
90
+ sig { returns(String) }
91
+ attr_accessor :status
92
+
93
+ sig { returns(Float) }
94
+ attr_accessor :total
95
+
96
+ sig { returns(String) }
97
+ attr_accessor :type
98
+
99
+ sig { returns(T.nilable(String)) }
100
+ attr_reader :amendment_id
101
+
102
+ sig { params(amendment_id: String).void }
103
+ attr_writer :amendment_id
104
+
105
+ # This field's availability is dependent on your client's configuration.
106
+ sig do
107
+ returns(
108
+ T.nilable(
109
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::BillableStatus::TaggedSymbol
110
+ )
111
+ )
112
+ end
113
+ attr_reader :billable_status
114
+
115
+ sig do
116
+ params(
117
+ billable_status:
118
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::BillableStatus::OrSymbol
119
+ ).void
120
+ end
121
+ attr_writer :billable_status
122
+
123
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
124
+ attr_reader :contract_custom_fields
125
+
126
+ sig { params(contract_custom_fields: T::Hash[Symbol, String]).void }
127
+ attr_writer :contract_custom_fields
128
+
129
+ sig { returns(T.nilable(String)) }
130
+ attr_reader :contract_id
131
+
132
+ sig { params(contract_id: String).void }
133
+ attr_writer :contract_id
134
+
135
+ sig do
136
+ returns(
137
+ T.nilable(
138
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord
139
+ )
140
+ )
141
+ end
142
+ attr_reader :correction_record
143
+
144
+ sig do
145
+ params(
146
+ correction_record:
147
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::OrHash
148
+ ).void
149
+ end
150
+ attr_writer :correction_record
151
+
152
+ # When the invoice was created (UTC). This field is present for correction
153
+ # invoices only.
154
+ sig { returns(T.nilable(Time)) }
155
+ attr_reader :created_at
156
+
157
+ sig { params(created_at: Time).void }
158
+ attr_writer :created_at
159
+
160
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
161
+ attr_reader :custom_fields
162
+
163
+ sig { params(custom_fields: T::Hash[Symbol, T.anything]).void }
164
+ attr_writer :custom_fields
165
+
166
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
167
+ attr_reader :customer_custom_fields
168
+
169
+ sig { params(customer_custom_fields: T::Hash[Symbol, String]).void }
170
+ attr_writer :customer_custom_fields
171
+
172
+ # End of the usage period this invoice covers (UTC)
173
+ sig { returns(T.nilable(Time)) }
174
+ attr_reader :end_timestamp
175
+
176
+ sig { params(end_timestamp: Time).void }
177
+ attr_writer :end_timestamp
178
+
179
+ sig do
180
+ returns(
181
+ T.nilable(
182
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice
183
+ )
184
+ )
185
+ end
186
+ attr_reader :external_invoice
187
+
188
+ sig do
189
+ params(
190
+ external_invoice:
191
+ T.nilable(
192
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::OrHash
193
+ )
194
+ ).void
195
+ end
196
+ attr_writer :external_invoice
197
+
198
+ sig do
199
+ returns(
200
+ T.nilable(
201
+ T::Array[
202
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::InvoiceAdjustment
203
+ ]
204
+ )
205
+ )
206
+ end
207
+ attr_reader :invoice_adjustments
208
+
209
+ sig do
210
+ params(
211
+ invoice_adjustments:
212
+ T::Array[
213
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::InvoiceAdjustment::OrHash
214
+ ]
215
+ ).void
216
+ end
217
+ attr_writer :invoice_adjustments
218
+
219
+ # When the invoice was issued (UTC)
220
+ sig { returns(T.nilable(Time)) }
221
+ attr_reader :issued_at
222
+
223
+ sig { params(issued_at: Time).void }
224
+ attr_writer :issued_at
225
+
226
+ sig { returns(T.nilable(Float)) }
227
+ attr_reader :net_payment_terms_days
228
+
229
+ sig { params(net_payment_terms_days: Float).void }
230
+ attr_writer :net_payment_terms_days
231
+
232
+ # This field's availability is dependent on your client's configuration.
233
+ sig { returns(T.nilable(String)) }
234
+ attr_reader :netsuite_sales_order_id
235
+
236
+ sig { params(netsuite_sales_order_id: String).void }
237
+ attr_writer :netsuite_sales_order_id
238
+
239
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
240
+ attr_reader :plan_custom_fields
241
+
242
+ sig { params(plan_custom_fields: T::Hash[Symbol, String]).void }
243
+ attr_writer :plan_custom_fields
244
+
245
+ sig { returns(T.nilable(String)) }
246
+ attr_reader :plan_id
247
+
248
+ sig { params(plan_id: String).void }
249
+ attr_writer :plan_id
250
+
251
+ sig { returns(T.nilable(String)) }
252
+ attr_reader :plan_name
253
+
254
+ sig { params(plan_name: String).void }
255
+ attr_writer :plan_name
256
+
257
+ # Only present for contract invoices with reseller royalties.
258
+ sig do
259
+ returns(
260
+ T.nilable(
261
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ResellerRoyalty
262
+ )
263
+ )
264
+ end
265
+ attr_reader :reseller_royalty
266
+
267
+ sig do
268
+ params(
269
+ reseller_royalty:
270
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ResellerRoyalty::OrHash
271
+ ).void
272
+ end
273
+ attr_writer :reseller_royalty
274
+
275
+ # This field's availability is dependent on your client's configuration.
276
+ sig { returns(T.nilable(String)) }
277
+ attr_reader :salesforce_opportunity_id
278
+
279
+ sig { params(salesforce_opportunity_id: String).void }
280
+ attr_writer :salesforce_opportunity_id
281
+
282
+ # Beginning of the usage period this invoice covers (UTC)
283
+ sig { returns(T.nilable(Time)) }
284
+ attr_reader :start_timestamp
285
+
286
+ sig { params(start_timestamp: Time).void }
287
+ attr_writer :start_timestamp
288
+
289
+ sig { returns(T.nilable(Float)) }
290
+ attr_reader :subtotal
291
+
292
+ sig { params(subtotal: Float).void }
293
+ attr_writer :subtotal
294
+
295
+ sig do
296
+ params(
297
+ id: String,
298
+ credit_type:
299
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CreditType::OrHash,
300
+ customer_id: String,
301
+ line_items:
302
+ T::Array[
303
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::OrHash
304
+ ],
305
+ status: String,
306
+ total: Float,
307
+ type: String,
308
+ amendment_id: String,
309
+ billable_status:
310
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::BillableStatus::OrSymbol,
311
+ contract_custom_fields: T::Hash[Symbol, String],
312
+ contract_id: String,
313
+ correction_record:
314
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::OrHash,
315
+ created_at: Time,
316
+ custom_fields: T::Hash[Symbol, T.anything],
317
+ customer_custom_fields: T::Hash[Symbol, String],
318
+ end_timestamp: Time,
319
+ external_invoice:
320
+ T.nilable(
321
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::OrHash
322
+ ),
323
+ invoice_adjustments:
324
+ T::Array[
325
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::InvoiceAdjustment::OrHash
326
+ ],
327
+ issued_at: Time,
328
+ net_payment_terms_days: Float,
329
+ netsuite_sales_order_id: String,
330
+ plan_custom_fields: T::Hash[Symbol, String],
331
+ plan_id: String,
332
+ plan_name: String,
333
+ reseller_royalty:
334
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ResellerRoyalty::OrHash,
335
+ salesforce_opportunity_id: String,
336
+ start_timestamp: Time,
337
+ subtotal: Float
338
+ ).returns(T.attached_class)
339
+ end
340
+ def self.new(
341
+ id:,
342
+ credit_type:,
343
+ customer_id:,
344
+ line_items:,
345
+ status:,
346
+ total:,
347
+ type:,
348
+ amendment_id: nil,
349
+ # This field's availability is dependent on your client's configuration.
350
+ billable_status: nil,
351
+ contract_custom_fields: nil,
352
+ contract_id: nil,
353
+ correction_record: nil,
354
+ # When the invoice was created (UTC). This field is present for correction
355
+ # invoices only.
356
+ created_at: nil,
357
+ custom_fields: nil,
358
+ customer_custom_fields: nil,
359
+ # End of the usage period this invoice covers (UTC)
360
+ end_timestamp: nil,
361
+ external_invoice: nil,
362
+ invoice_adjustments: nil,
363
+ # When the invoice was issued (UTC)
364
+ issued_at: nil,
365
+ net_payment_terms_days: nil,
366
+ # This field's availability is dependent on your client's configuration.
367
+ netsuite_sales_order_id: nil,
368
+ plan_custom_fields: nil,
369
+ plan_id: nil,
370
+ plan_name: nil,
371
+ # Only present for contract invoices with reseller royalties.
372
+ reseller_royalty: nil,
373
+ # This field's availability is dependent on your client's configuration.
374
+ salesforce_opportunity_id: nil,
375
+ # Beginning of the usage period this invoice covers (UTC)
376
+ start_timestamp: nil,
377
+ subtotal: nil
378
+ )
379
+ end
380
+
381
+ sig do
382
+ override.returns(
383
+ {
384
+ id: String,
385
+ credit_type:
386
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CreditType,
387
+ customer_id: String,
388
+ line_items:
389
+ T::Array[
390
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem
391
+ ],
392
+ status: String,
393
+ total: Float,
394
+ type: String,
395
+ amendment_id: String,
396
+ billable_status:
397
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::BillableStatus::TaggedSymbol,
398
+ contract_custom_fields: T::Hash[Symbol, String],
399
+ contract_id: String,
400
+ correction_record:
401
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord,
402
+ created_at: Time,
403
+ custom_fields: T::Hash[Symbol, T.anything],
404
+ customer_custom_fields: T::Hash[Symbol, String],
405
+ end_timestamp: Time,
406
+ external_invoice:
407
+ T.nilable(
408
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice
409
+ ),
410
+ invoice_adjustments:
411
+ T::Array[
412
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::InvoiceAdjustment
413
+ ],
414
+ issued_at: Time,
415
+ net_payment_terms_days: Float,
416
+ netsuite_sales_order_id: String,
417
+ plan_custom_fields: T::Hash[Symbol, String],
418
+ plan_id: String,
419
+ plan_name: String,
420
+ reseller_royalty:
421
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ResellerRoyalty,
422
+ salesforce_opportunity_id: String,
423
+ start_timestamp: Time,
424
+ subtotal: Float
425
+ }
426
+ )
427
+ end
428
+ def to_hash
429
+ end
430
+
431
+ class CreditType < MetronomeSDK::Internal::Type::BaseModel
432
+ OrHash =
433
+ T.type_alias do
434
+ T.any(
435
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CreditType,
436
+ MetronomeSDK::Internal::AnyHash
437
+ )
438
+ end
439
+
440
+ sig { returns(String) }
441
+ attr_accessor :id
442
+
443
+ sig { returns(String) }
444
+ attr_accessor :name
445
+
446
+ sig { params(id: String, name: String).returns(T.attached_class) }
447
+ def self.new(id:, name:)
448
+ end
449
+
450
+ sig { override.returns({ id: String, name: String }) }
451
+ def to_hash
452
+ end
453
+ end
454
+
455
+ class LineItem < MetronomeSDK::Internal::Type::BaseModel
456
+ OrHash =
457
+ T.type_alias do
458
+ T.any(
459
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem,
460
+ MetronomeSDK::Internal::AnyHash
461
+ )
462
+ end
463
+
464
+ sig do
465
+ returns(
466
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::CreditType
467
+ )
468
+ end
469
+ attr_reader :credit_type
470
+
471
+ sig do
472
+ params(
473
+ credit_type:
474
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::CreditType::OrHash
475
+ ).void
476
+ end
477
+ attr_writer :credit_type
478
+
479
+ sig { returns(String) }
480
+ attr_accessor :name
481
+
482
+ sig { returns(Float) }
483
+ attr_accessor :total
484
+
485
+ # Details about the credit or commit that was applied to this line item. Only
486
+ # present on line items with product of `USAGE`, `SUBSCRIPTION` or `COMPOSITE`
487
+ # types.
488
+ sig do
489
+ returns(
490
+ T.nilable(
491
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::AppliedCommitOrCredit
492
+ )
493
+ )
494
+ end
495
+ attr_reader :applied_commit_or_credit
496
+
497
+ sig do
498
+ params(
499
+ applied_commit_or_credit:
500
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::AppliedCommitOrCredit::OrHash
501
+ ).void
502
+ end
503
+ attr_writer :applied_commit_or_credit
504
+
505
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
506
+ attr_reader :commit_custom_fields
507
+
508
+ sig { params(commit_custom_fields: T::Hash[Symbol, String]).void }
509
+ attr_writer :commit_custom_fields
510
+
511
+ # For line items with product of `USAGE`, `SUBSCRIPTION`, or `COMPOSITE` types,
512
+ # the ID of the credit or commit that was applied to this line item. For line
513
+ # items with product type of `FIXED`, the ID of the prepaid or postpaid commit
514
+ # that is being paid for.
515
+ sig { returns(T.nilable(String)) }
516
+ attr_reader :commit_id
517
+
518
+ sig { params(commit_id: String).void }
519
+ attr_writer :commit_id
520
+
521
+ sig { returns(T.nilable(String)) }
522
+ attr_reader :commit_netsuite_item_id
523
+
524
+ sig { params(commit_netsuite_item_id: String).void }
525
+ attr_writer :commit_netsuite_item_id
526
+
527
+ sig { returns(T.nilable(String)) }
528
+ attr_reader :commit_netsuite_sales_order_id
529
+
530
+ sig { params(commit_netsuite_sales_order_id: String).void }
531
+ attr_writer :commit_netsuite_sales_order_id
532
+
533
+ sig { returns(T.nilable(String)) }
534
+ attr_reader :commit_segment_id
535
+
536
+ sig { params(commit_segment_id: String).void }
537
+ attr_writer :commit_segment_id
538
+
539
+ # `PrepaidCommit` (for commit types `PREPAID` and `CREDIT`) or `PostpaidCommit`
540
+ # (for commit type `POSTPAID`).
541
+ sig { returns(T.nilable(String)) }
542
+ attr_reader :commit_type
543
+
544
+ sig { params(commit_type: String).void }
545
+ attr_writer :commit_type
546
+
547
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
548
+ attr_reader :custom_fields
549
+
550
+ sig { params(custom_fields: T::Hash[Symbol, String]).void }
551
+ attr_writer :custom_fields
552
+
553
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
554
+ attr_reader :discount_custom_fields
555
+
556
+ sig do
557
+ params(discount_custom_fields: T::Hash[Symbol, String]).void
558
+ end
559
+ attr_writer :discount_custom_fields
560
+
561
+ # ID of the discount applied to this line item.
562
+ sig { returns(T.nilable(String)) }
563
+ attr_reader :discount_id
564
+
565
+ sig { params(discount_id: String).void }
566
+ attr_writer :discount_id
567
+
568
+ # The line item's end date (exclusive).
569
+ sig { returns(T.nilable(Time)) }
570
+ attr_reader :ending_before
571
+
572
+ sig { params(ending_before: Time).void }
573
+ attr_writer :ending_before
574
+
575
+ sig { returns(T.nilable(String)) }
576
+ attr_reader :group_key
577
+
578
+ sig { params(group_key: String).void }
579
+ attr_writer :group_key
580
+
581
+ sig { returns(T.nilable(String)) }
582
+ attr_accessor :group_value
583
+
584
+ # Indicates whether the line item is prorated for `SUBSCRIPTION` type product.
585
+ sig { returns(T.nilable(T::Boolean)) }
586
+ attr_reader :is_prorated
587
+
588
+ sig { params(is_prorated: T::Boolean).void }
589
+ attr_writer :is_prorated
590
+
591
+ # Only present for contract invoices and when the `include_list_prices` query
592
+ # parameter is set to true. This will include the list rate for the charge if
593
+ # applicable. Only present for usage and subscription line items.
594
+ sig do
595
+ returns(
596
+ T.nilable(
597
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ListPrice
598
+ )
599
+ )
600
+ end
601
+ attr_reader :list_price
602
+
603
+ sig do
604
+ params(
605
+ list_price:
606
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ListPrice::OrHash
607
+ ).void
608
+ end
609
+ attr_writer :list_price
610
+
611
+ sig { returns(T.nilable(String)) }
612
+ attr_reader :metadata
613
+
614
+ sig { params(metadata: String).void }
615
+ attr_writer :metadata
616
+
617
+ # The end date for the billing period on the invoice.
618
+ sig { returns(T.nilable(Time)) }
619
+ attr_reader :netsuite_invoice_billing_end
620
+
621
+ sig { params(netsuite_invoice_billing_end: Time).void }
622
+ attr_writer :netsuite_invoice_billing_end
623
+
624
+ # The start date for the billing period on the invoice.
625
+ sig { returns(T.nilable(Time)) }
626
+ attr_reader :netsuite_invoice_billing_start
627
+
628
+ sig { params(netsuite_invoice_billing_start: Time).void }
629
+ attr_writer :netsuite_invoice_billing_start
630
+
631
+ sig { returns(T.nilable(String)) }
632
+ attr_reader :netsuite_item_id
633
+
634
+ sig { params(netsuite_item_id: String).void }
635
+ attr_writer :netsuite_item_id
636
+
637
+ # Only present for line items paying for a postpaid commit true-up.
638
+ sig do
639
+ returns(
640
+ T.nilable(
641
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::PostpaidCommit
642
+ )
643
+ )
644
+ end
645
+ attr_reader :postpaid_commit
646
+
647
+ sig do
648
+ params(
649
+ postpaid_commit:
650
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::PostpaidCommit::OrHash
651
+ ).void
652
+ end
653
+ attr_writer :postpaid_commit
654
+
655
+ # Includes the presentation group values associated with this line item if
656
+ # presentation group keys are used.
657
+ sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) }
658
+ attr_reader :presentation_group_values
659
+
660
+ sig do
661
+ params(
662
+ presentation_group_values: T::Hash[Symbol, T.nilable(String)]
663
+ ).void
664
+ end
665
+ attr_writer :presentation_group_values
666
+
667
+ # Includes the pricing group values associated with this line item if dimensional
668
+ # pricing is used.
669
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
670
+ attr_reader :pricing_group_values
671
+
672
+ sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
673
+ attr_writer :pricing_group_values
674
+
675
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
676
+ attr_reader :product_custom_fields
677
+
678
+ sig do
679
+ params(product_custom_fields: T::Hash[Symbol, String]).void
680
+ end
681
+ attr_writer :product_custom_fields
682
+
683
+ # ID of the product associated with the line item.
684
+ sig { returns(T.nilable(String)) }
685
+ attr_reader :product_id
686
+
687
+ sig { params(product_id: String).void }
688
+ attr_writer :product_id
689
+
690
+ # The current product tags associated with the line item's `product_id`.
691
+ sig { returns(T.nilable(T::Array[String])) }
692
+ attr_reader :product_tags
693
+
694
+ sig { params(product_tags: T::Array[String]).void }
695
+ attr_writer :product_tags
696
+
697
+ # The type of the line item's product. Possible values are `FixedProductListItem`
698
+ # (for `FIXED` type products), `UsageProductListItem` (for `USAGE` type products),
699
+ # `SubscriptionProductListItem` (for `SUBSCRIPTION` type products) or
700
+ # `CompositeProductListItem` (for `COMPOSITE` type products). For scheduled
701
+ # charges, commit and credit payments, the value is `FixedProductListItem`.
702
+ sig { returns(T.nilable(String)) }
703
+ attr_reader :product_type
704
+
705
+ sig { params(product_type: String).void }
706
+ attr_writer :product_type
707
+
708
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
709
+ attr_reader :professional_service_custom_fields
710
+
711
+ sig do
712
+ params(
713
+ professional_service_custom_fields: T::Hash[Symbol, String]
714
+ ).void
715
+ end
716
+ attr_writer :professional_service_custom_fields
717
+
718
+ sig { returns(T.nilable(String)) }
719
+ attr_reader :professional_service_id
720
+
721
+ sig { params(professional_service_id: String).void }
722
+ attr_writer :professional_service_id
723
+
724
+ # The quantity associated with the line item.
725
+ sig { returns(T.nilable(Float)) }
726
+ attr_reader :quantity
727
+
728
+ sig { params(quantity: Float).void }
729
+ attr_writer :quantity
730
+
731
+ sig do
732
+ returns(
733
+ T.nilable(
734
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ResellerType::TaggedSymbol
735
+ )
736
+ )
737
+ end
738
+ attr_reader :reseller_type
739
+
740
+ sig do
741
+ params(
742
+ reseller_type:
743
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ResellerType::OrSymbol
744
+ ).void
745
+ end
746
+ attr_writer :reseller_type
747
+
748
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
749
+ attr_reader :scheduled_charge_custom_fields
750
+
751
+ sig do
752
+ params(
753
+ scheduled_charge_custom_fields: T::Hash[Symbol, String]
754
+ ).void
755
+ end
756
+ attr_writer :scheduled_charge_custom_fields
757
+
758
+ # ID of scheduled charge.
759
+ sig { returns(T.nilable(String)) }
760
+ attr_reader :scheduled_charge_id
761
+
762
+ sig { params(scheduled_charge_id: String).void }
763
+ attr_writer :scheduled_charge_id
764
+
765
+ # The line item's start date (inclusive).
766
+ sig { returns(T.nilable(Time)) }
767
+ attr_reader :starting_at
768
+
769
+ sig { params(starting_at: Time).void }
770
+ attr_writer :starting_at
771
+
772
+ sig do
773
+ returns(
774
+ T.nilable(
775
+ T::Array[
776
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::SubLineItem
777
+ ]
778
+ )
779
+ )
780
+ end
781
+ attr_reader :sub_line_items
782
+
783
+ sig do
784
+ params(
785
+ sub_line_items:
786
+ T::Array[
787
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::SubLineItem::OrHash
788
+ ]
789
+ ).void
790
+ end
791
+ attr_writer :sub_line_items
792
+
793
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
794
+ attr_reader :subscription_custom_fields
795
+
796
+ sig do
797
+ params(subscription_custom_fields: T::Hash[Symbol, String]).void
798
+ end
799
+ attr_writer :subscription_custom_fields
800
+
801
+ # Populated if the line item has a tiered price.
802
+ sig do
803
+ returns(
804
+ T.nilable(
805
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::Tier
806
+ )
807
+ )
808
+ end
809
+ attr_reader :tier
810
+
811
+ sig do
812
+ params(
813
+ tier:
814
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::Tier::OrHash
815
+ ).void
816
+ end
817
+ attr_writer :tier
818
+
819
+ # The unit price associated with the line item.
820
+ sig { returns(T.nilable(Float)) }
821
+ attr_reader :unit_price
822
+
823
+ sig { params(unit_price: Float).void }
824
+ attr_writer :unit_price
825
+
826
+ sig do
827
+ params(
828
+ credit_type:
829
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::CreditType::OrHash,
830
+ name: String,
831
+ total: Float,
832
+ applied_commit_or_credit:
833
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::AppliedCommitOrCredit::OrHash,
834
+ commit_custom_fields: T::Hash[Symbol, String],
835
+ commit_id: String,
836
+ commit_netsuite_item_id: String,
837
+ commit_netsuite_sales_order_id: String,
838
+ commit_segment_id: String,
839
+ commit_type: String,
840
+ custom_fields: T::Hash[Symbol, String],
841
+ discount_custom_fields: T::Hash[Symbol, String],
842
+ discount_id: String,
843
+ ending_before: Time,
844
+ group_key: String,
845
+ group_value: T.nilable(String),
846
+ is_prorated: T::Boolean,
847
+ list_price:
848
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ListPrice::OrHash,
849
+ metadata: String,
850
+ netsuite_invoice_billing_end: Time,
851
+ netsuite_invoice_billing_start: Time,
852
+ netsuite_item_id: String,
853
+ postpaid_commit:
854
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::PostpaidCommit::OrHash,
855
+ presentation_group_values: T::Hash[Symbol, T.nilable(String)],
856
+ pricing_group_values: T::Hash[Symbol, String],
857
+ product_custom_fields: T::Hash[Symbol, String],
858
+ product_id: String,
859
+ product_tags: T::Array[String],
860
+ product_type: String,
861
+ professional_service_custom_fields: T::Hash[Symbol, String],
862
+ professional_service_id: String,
863
+ quantity: Float,
864
+ reseller_type:
865
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ResellerType::OrSymbol,
866
+ scheduled_charge_custom_fields: T::Hash[Symbol, String],
867
+ scheduled_charge_id: String,
868
+ starting_at: Time,
869
+ sub_line_items:
870
+ T::Array[
871
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::SubLineItem::OrHash
872
+ ],
873
+ subscription_custom_fields: T::Hash[Symbol, String],
874
+ tier:
875
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::Tier::OrHash,
876
+ unit_price: Float
877
+ ).returns(T.attached_class)
878
+ end
879
+ def self.new(
880
+ credit_type:,
881
+ name:,
882
+ total:,
883
+ # Details about the credit or commit that was applied to this line item. Only
884
+ # present on line items with product of `USAGE`, `SUBSCRIPTION` or `COMPOSITE`
885
+ # types.
886
+ applied_commit_or_credit: nil,
887
+ commit_custom_fields: nil,
888
+ # For line items with product of `USAGE`, `SUBSCRIPTION`, or `COMPOSITE` types,
889
+ # the ID of the credit or commit that was applied to this line item. For line
890
+ # items with product type of `FIXED`, the ID of the prepaid or postpaid commit
891
+ # that is being paid for.
892
+ commit_id: nil,
893
+ commit_netsuite_item_id: nil,
894
+ commit_netsuite_sales_order_id: nil,
895
+ commit_segment_id: nil,
896
+ # `PrepaidCommit` (for commit types `PREPAID` and `CREDIT`) or `PostpaidCommit`
897
+ # (for commit type `POSTPAID`).
898
+ commit_type: nil,
899
+ custom_fields: nil,
900
+ discount_custom_fields: nil,
901
+ # ID of the discount applied to this line item.
902
+ discount_id: nil,
903
+ # The line item's end date (exclusive).
904
+ ending_before: nil,
905
+ group_key: nil,
906
+ group_value: nil,
907
+ # Indicates whether the line item is prorated for `SUBSCRIPTION` type product.
908
+ is_prorated: nil,
909
+ # Only present for contract invoices and when the `include_list_prices` query
910
+ # parameter is set to true. This will include the list rate for the charge if
911
+ # applicable. Only present for usage and subscription line items.
912
+ list_price: nil,
913
+ metadata: nil,
914
+ # The end date for the billing period on the invoice.
915
+ netsuite_invoice_billing_end: nil,
916
+ # The start date for the billing period on the invoice.
917
+ netsuite_invoice_billing_start: nil,
918
+ netsuite_item_id: nil,
919
+ # Only present for line items paying for a postpaid commit true-up.
920
+ postpaid_commit: nil,
921
+ # Includes the presentation group values associated with this line item if
922
+ # presentation group keys are used.
923
+ presentation_group_values: nil,
924
+ # Includes the pricing group values associated with this line item if dimensional
925
+ # pricing is used.
926
+ pricing_group_values: nil,
927
+ product_custom_fields: nil,
928
+ # ID of the product associated with the line item.
929
+ product_id: nil,
930
+ # The current product tags associated with the line item's `product_id`.
931
+ product_tags: nil,
932
+ # The type of the line item's product. Possible values are `FixedProductListItem`
933
+ # (for `FIXED` type products), `UsageProductListItem` (for `USAGE` type products),
934
+ # `SubscriptionProductListItem` (for `SUBSCRIPTION` type products) or
935
+ # `CompositeProductListItem` (for `COMPOSITE` type products). For scheduled
936
+ # charges, commit and credit payments, the value is `FixedProductListItem`.
937
+ product_type: nil,
938
+ professional_service_custom_fields: nil,
939
+ professional_service_id: nil,
940
+ # The quantity associated with the line item.
941
+ quantity: nil,
942
+ reseller_type: nil,
943
+ scheduled_charge_custom_fields: nil,
944
+ # ID of scheduled charge.
945
+ scheduled_charge_id: nil,
946
+ # The line item's start date (inclusive).
947
+ starting_at: nil,
948
+ sub_line_items: nil,
949
+ subscription_custom_fields: nil,
950
+ # Populated if the line item has a tiered price.
951
+ tier: nil,
952
+ # The unit price associated with the line item.
953
+ unit_price: nil
954
+ )
955
+ end
956
+
957
+ sig do
958
+ override.returns(
959
+ {
960
+ credit_type:
961
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::CreditType,
962
+ name: String,
963
+ total: Float,
964
+ applied_commit_or_credit:
965
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::AppliedCommitOrCredit,
966
+ commit_custom_fields: T::Hash[Symbol, String],
967
+ commit_id: String,
968
+ commit_netsuite_item_id: String,
969
+ commit_netsuite_sales_order_id: String,
970
+ commit_segment_id: String,
971
+ commit_type: String,
972
+ custom_fields: T::Hash[Symbol, String],
973
+ discount_custom_fields: T::Hash[Symbol, String],
974
+ discount_id: String,
975
+ ending_before: Time,
976
+ group_key: String,
977
+ group_value: T.nilable(String),
978
+ is_prorated: T::Boolean,
979
+ list_price:
980
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ListPrice,
981
+ metadata: String,
982
+ netsuite_invoice_billing_end: Time,
983
+ netsuite_invoice_billing_start: Time,
984
+ netsuite_item_id: String,
985
+ postpaid_commit:
986
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::PostpaidCommit,
987
+ presentation_group_values:
988
+ T::Hash[Symbol, T.nilable(String)],
989
+ pricing_group_values: T::Hash[Symbol, String],
990
+ product_custom_fields: T::Hash[Symbol, String],
991
+ product_id: String,
992
+ product_tags: T::Array[String],
993
+ product_type: String,
994
+ professional_service_custom_fields: T::Hash[Symbol, String],
995
+ professional_service_id: String,
996
+ quantity: Float,
997
+ reseller_type:
998
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ResellerType::TaggedSymbol,
999
+ scheduled_charge_custom_fields: T::Hash[Symbol, String],
1000
+ scheduled_charge_id: String,
1001
+ starting_at: Time,
1002
+ sub_line_items:
1003
+ T::Array[
1004
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::SubLineItem
1005
+ ],
1006
+ subscription_custom_fields: T::Hash[Symbol, String],
1007
+ tier:
1008
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::Tier,
1009
+ unit_price: Float
1010
+ }
1011
+ )
1012
+ end
1013
+ def to_hash
1014
+ end
1015
+
1016
+ class CreditType < MetronomeSDK::Internal::Type::BaseModel
1017
+ OrHash =
1018
+ T.type_alias do
1019
+ T.any(
1020
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::CreditType,
1021
+ MetronomeSDK::Internal::AnyHash
1022
+ )
1023
+ end
1024
+
1025
+ sig { returns(String) }
1026
+ attr_accessor :id
1027
+
1028
+ sig { returns(String) }
1029
+ attr_accessor :name
1030
+
1031
+ sig do
1032
+ params(id: String, name: String).returns(T.attached_class)
1033
+ end
1034
+ def self.new(id:, name:)
1035
+ end
1036
+
1037
+ sig { override.returns({ id: String, name: String }) }
1038
+ def to_hash
1039
+ end
1040
+ end
1041
+
1042
+ class AppliedCommitOrCredit < MetronomeSDK::Internal::Type::BaseModel
1043
+ OrHash =
1044
+ T.type_alias do
1045
+ T.any(
1046
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::AppliedCommitOrCredit,
1047
+ MetronomeSDK::Internal::AnyHash
1048
+ )
1049
+ end
1050
+
1051
+ sig { returns(String) }
1052
+ attr_accessor :id
1053
+
1054
+ sig do
1055
+ returns(
1056
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::AppliedCommitOrCredit::Type::TaggedSymbol
1057
+ )
1058
+ end
1059
+ attr_accessor :type
1060
+
1061
+ # Details about the credit or commit that was applied to this line item. Only
1062
+ # present on line items with product of `USAGE`, `SUBSCRIPTION` or `COMPOSITE`
1063
+ # types.
1064
+ sig do
1065
+ params(
1066
+ id: String,
1067
+ type:
1068
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::AppliedCommitOrCredit::Type::OrSymbol
1069
+ ).returns(T.attached_class)
1070
+ end
1071
+ def self.new(id:, type:)
1072
+ end
1073
+
1074
+ sig do
1075
+ override.returns(
1076
+ {
1077
+ id: String,
1078
+ type:
1079
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::AppliedCommitOrCredit::Type::TaggedSymbol
1080
+ }
1081
+ )
1082
+ end
1083
+ def to_hash
1084
+ end
1085
+
1086
+ module Type
1087
+ extend MetronomeSDK::Internal::Type::Enum
1088
+
1089
+ TaggedSymbol =
1090
+ T.type_alias do
1091
+ T.all(
1092
+ Symbol,
1093
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::AppliedCommitOrCredit::Type
1094
+ )
1095
+ end
1096
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1097
+
1098
+ PREPAID =
1099
+ T.let(
1100
+ :PREPAID,
1101
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::AppliedCommitOrCredit::Type::TaggedSymbol
1102
+ )
1103
+ POSTPAID =
1104
+ T.let(
1105
+ :POSTPAID,
1106
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::AppliedCommitOrCredit::Type::TaggedSymbol
1107
+ )
1108
+ CREDIT =
1109
+ T.let(
1110
+ :CREDIT,
1111
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::AppliedCommitOrCredit::Type::TaggedSymbol
1112
+ )
1113
+
1114
+ sig do
1115
+ override.returns(
1116
+ T::Array[
1117
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::AppliedCommitOrCredit::Type::TaggedSymbol
1118
+ ]
1119
+ )
1120
+ end
1121
+ def self.values
1122
+ end
1123
+ end
1124
+ end
1125
+
1126
+ class ListPrice < MetronomeSDK::Internal::Type::BaseModel
1127
+ OrHash =
1128
+ T.type_alias do
1129
+ T.any(
1130
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ListPrice,
1131
+ MetronomeSDK::Internal::AnyHash
1132
+ )
1133
+ end
1134
+
1135
+ sig do
1136
+ returns(
1137
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ListPrice::RateType::TaggedSymbol
1138
+ )
1139
+ end
1140
+ attr_accessor :rate_type
1141
+
1142
+ sig do
1143
+ returns(
1144
+ T.nilable(
1145
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ListPrice::CreditType
1146
+ )
1147
+ )
1148
+ end
1149
+ attr_reader :credit_type
1150
+
1151
+ sig do
1152
+ params(
1153
+ credit_type:
1154
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ListPrice::CreditType::OrHash
1155
+ ).void
1156
+ end
1157
+ attr_writer :credit_type
1158
+
1159
+ # Only set for CUSTOM rate_type. This field is interpreted by custom rate
1160
+ # processors.
1161
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
1162
+ attr_reader :custom_rate
1163
+
1164
+ sig { params(custom_rate: T::Hash[Symbol, T.anything]).void }
1165
+ attr_writer :custom_rate
1166
+
1167
+ # Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
1168
+ # set to true.
1169
+ sig { returns(T.nilable(T::Boolean)) }
1170
+ attr_reader :is_prorated
1171
+
1172
+ sig { params(is_prorated: T::Boolean).void }
1173
+ attr_writer :is_prorated
1174
+
1175
+ # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
1176
+ # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
1177
+ sig { returns(T.nilable(Float)) }
1178
+ attr_reader :price
1179
+
1180
+ sig { params(price: Float).void }
1181
+ attr_writer :price
1182
+
1183
+ # if pricing groups are used, this will contain the values used to calculate the
1184
+ # price
1185
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
1186
+ attr_reader :pricing_group_values
1187
+
1188
+ sig do
1189
+ params(pricing_group_values: T::Hash[Symbol, String]).void
1190
+ end
1191
+ attr_writer :pricing_group_values
1192
+
1193
+ # Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
1194
+ sig { returns(T.nilable(Float)) }
1195
+ attr_reader :quantity
1196
+
1197
+ sig { params(quantity: Float).void }
1198
+ attr_writer :quantity
1199
+
1200
+ # Only set for TIERED rate_type.
1201
+ sig do
1202
+ returns(
1203
+ T.nilable(
1204
+ T::Array[
1205
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ListPrice::Tier
1206
+ ]
1207
+ )
1208
+ )
1209
+ end
1210
+ attr_reader :tiers
1211
+
1212
+ sig do
1213
+ params(
1214
+ tiers:
1215
+ T::Array[
1216
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ListPrice::Tier::OrHash
1217
+ ]
1218
+ ).void
1219
+ end
1220
+ attr_writer :tiers
1221
+
1222
+ # Only set for PERCENTAGE rate_type. Defaults to false. If true, rate is computed
1223
+ # using list prices rather than the standard rates for this product on the
1224
+ # contract.
1225
+ sig { returns(T.nilable(T::Boolean)) }
1226
+ attr_reader :use_list_prices
1227
+
1228
+ sig { params(use_list_prices: T::Boolean).void }
1229
+ attr_writer :use_list_prices
1230
+
1231
+ # Only present for contract invoices and when the `include_list_prices` query
1232
+ # parameter is set to true. This will include the list rate for the charge if
1233
+ # applicable. Only present for usage and subscription line items.
1234
+ sig do
1235
+ params(
1236
+ rate_type:
1237
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ListPrice::RateType::OrSymbol,
1238
+ credit_type:
1239
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ListPrice::CreditType::OrHash,
1240
+ custom_rate: T::Hash[Symbol, T.anything],
1241
+ is_prorated: T::Boolean,
1242
+ price: Float,
1243
+ pricing_group_values: T::Hash[Symbol, String],
1244
+ quantity: Float,
1245
+ tiers:
1246
+ T::Array[
1247
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ListPrice::Tier::OrHash
1248
+ ],
1249
+ use_list_prices: T::Boolean
1250
+ ).returns(T.attached_class)
1251
+ end
1252
+ def self.new(
1253
+ rate_type:,
1254
+ credit_type: nil,
1255
+ # Only set for CUSTOM rate_type. This field is interpreted by custom rate
1256
+ # processors.
1257
+ custom_rate: nil,
1258
+ # Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
1259
+ # set to true.
1260
+ is_prorated: nil,
1261
+ # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
1262
+ # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
1263
+ price: nil,
1264
+ # if pricing groups are used, this will contain the values used to calculate the
1265
+ # price
1266
+ pricing_group_values: nil,
1267
+ # Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
1268
+ quantity: nil,
1269
+ # Only set for TIERED rate_type.
1270
+ tiers: nil,
1271
+ # Only set for PERCENTAGE rate_type. Defaults to false. If true, rate is computed
1272
+ # using list prices rather than the standard rates for this product on the
1273
+ # contract.
1274
+ use_list_prices: nil
1275
+ )
1276
+ end
1277
+
1278
+ sig do
1279
+ override.returns(
1280
+ {
1281
+ rate_type:
1282
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ListPrice::RateType::TaggedSymbol,
1283
+ credit_type:
1284
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ListPrice::CreditType,
1285
+ custom_rate: T::Hash[Symbol, T.anything],
1286
+ is_prorated: T::Boolean,
1287
+ price: Float,
1288
+ pricing_group_values: T::Hash[Symbol, String],
1289
+ quantity: Float,
1290
+ tiers:
1291
+ T::Array[
1292
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ListPrice::Tier
1293
+ ],
1294
+ use_list_prices: T::Boolean
1295
+ }
1296
+ )
1297
+ end
1298
+ def to_hash
1299
+ end
1300
+
1301
+ module RateType
1302
+ extend MetronomeSDK::Internal::Type::Enum
1303
+
1304
+ TaggedSymbol =
1305
+ T.type_alias do
1306
+ T.all(
1307
+ Symbol,
1308
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ListPrice::RateType
1309
+ )
1310
+ end
1311
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1312
+
1313
+ FLAT =
1314
+ T.let(
1315
+ :FLAT,
1316
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ListPrice::RateType::TaggedSymbol
1317
+ )
1318
+ PERCENTAGE =
1319
+ T.let(
1320
+ :PERCENTAGE,
1321
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ListPrice::RateType::TaggedSymbol
1322
+ )
1323
+ SUBSCRIPTION =
1324
+ T.let(
1325
+ :SUBSCRIPTION,
1326
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ListPrice::RateType::TaggedSymbol
1327
+ )
1328
+ CUSTOM =
1329
+ T.let(
1330
+ :CUSTOM,
1331
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ListPrice::RateType::TaggedSymbol
1332
+ )
1333
+ TIERED =
1334
+ T.let(
1335
+ :TIERED,
1336
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ListPrice::RateType::TaggedSymbol
1337
+ )
1338
+
1339
+ sig do
1340
+ override.returns(
1341
+ T::Array[
1342
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ListPrice::RateType::TaggedSymbol
1343
+ ]
1344
+ )
1345
+ end
1346
+ def self.values
1347
+ end
1348
+ end
1349
+
1350
+ class CreditType < MetronomeSDK::Internal::Type::BaseModel
1351
+ OrHash =
1352
+ T.type_alias do
1353
+ T.any(
1354
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ListPrice::CreditType,
1355
+ MetronomeSDK::Internal::AnyHash
1356
+ )
1357
+ end
1358
+
1359
+ sig { returns(String) }
1360
+ attr_accessor :id
1361
+
1362
+ sig { returns(String) }
1363
+ attr_accessor :name
1364
+
1365
+ sig do
1366
+ params(id: String, name: String).returns(T.attached_class)
1367
+ end
1368
+ def self.new(id:, name:)
1369
+ end
1370
+
1371
+ sig { override.returns({ id: String, name: String }) }
1372
+ def to_hash
1373
+ end
1374
+ end
1375
+
1376
+ class Tier < MetronomeSDK::Internal::Type::BaseModel
1377
+ OrHash =
1378
+ T.type_alias do
1379
+ T.any(
1380
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ListPrice::Tier,
1381
+ MetronomeSDK::Internal::AnyHash
1382
+ )
1383
+ end
1384
+
1385
+ sig { returns(Float) }
1386
+ attr_accessor :price
1387
+
1388
+ sig { returns(T.nilable(Float)) }
1389
+ attr_reader :size
1390
+
1391
+ sig { params(size: Float).void }
1392
+ attr_writer :size
1393
+
1394
+ sig do
1395
+ params(price: Float, size: Float).returns(T.attached_class)
1396
+ end
1397
+ def self.new(price:, size: nil)
1398
+ end
1399
+
1400
+ sig { override.returns({ price: Float, size: Float }) }
1401
+ def to_hash
1402
+ end
1403
+ end
1404
+ end
1405
+
1406
+ class PostpaidCommit < MetronomeSDK::Internal::Type::BaseModel
1407
+ OrHash =
1408
+ T.type_alias do
1409
+ T.any(
1410
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::PostpaidCommit,
1411
+ MetronomeSDK::Internal::AnyHash
1412
+ )
1413
+ end
1414
+
1415
+ sig { returns(String) }
1416
+ attr_accessor :id
1417
+
1418
+ # Only present for line items paying for a postpaid commit true-up.
1419
+ sig { params(id: String).returns(T.attached_class) }
1420
+ def self.new(id:)
1421
+ end
1422
+
1423
+ sig { override.returns({ id: String }) }
1424
+ def to_hash
1425
+ end
1426
+ end
1427
+
1428
+ module ResellerType
1429
+ extend MetronomeSDK::Internal::Type::Enum
1430
+
1431
+ TaggedSymbol =
1432
+ T.type_alias do
1433
+ T.all(
1434
+ Symbol,
1435
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ResellerType
1436
+ )
1437
+ end
1438
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1439
+
1440
+ AWS =
1441
+ T.let(
1442
+ :AWS,
1443
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ResellerType::TaggedSymbol
1444
+ )
1445
+ AWS_PRO_SERVICE =
1446
+ T.let(
1447
+ :AWS_PRO_SERVICE,
1448
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ResellerType::TaggedSymbol
1449
+ )
1450
+ GCP =
1451
+ T.let(
1452
+ :GCP,
1453
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ResellerType::TaggedSymbol
1454
+ )
1455
+ GCP_PRO_SERVICE =
1456
+ T.let(
1457
+ :GCP_PRO_SERVICE,
1458
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ResellerType::TaggedSymbol
1459
+ )
1460
+
1461
+ sig do
1462
+ override.returns(
1463
+ T::Array[
1464
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::ResellerType::TaggedSymbol
1465
+ ]
1466
+ )
1467
+ end
1468
+ def self.values
1469
+ end
1470
+ end
1471
+
1472
+ class SubLineItem < MetronomeSDK::Internal::Type::BaseModel
1473
+ OrHash =
1474
+ T.type_alias do
1475
+ T.any(
1476
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::SubLineItem,
1477
+ MetronomeSDK::Internal::AnyHash
1478
+ )
1479
+ end
1480
+
1481
+ sig { returns(T::Hash[Symbol, String]) }
1482
+ attr_accessor :custom_fields
1483
+
1484
+ sig { returns(String) }
1485
+ attr_accessor :name
1486
+
1487
+ sig { returns(Float) }
1488
+ attr_accessor :quantity
1489
+
1490
+ sig { returns(Float) }
1491
+ attr_accessor :subtotal
1492
+
1493
+ sig { returns(T.nilable(String)) }
1494
+ attr_reader :charge_id
1495
+
1496
+ sig { params(charge_id: String).void }
1497
+ attr_writer :charge_id
1498
+
1499
+ sig { returns(T.nilable(String)) }
1500
+ attr_reader :credit_grant_id
1501
+
1502
+ sig { params(credit_grant_id: String).void }
1503
+ attr_writer :credit_grant_id
1504
+
1505
+ # The end date for the charge (for seats charges only).
1506
+ sig { returns(T.nilable(Time)) }
1507
+ attr_reader :end_date
1508
+
1509
+ sig { params(end_date: Time).void }
1510
+ attr_writer :end_date
1511
+
1512
+ # the unit price for this charge, present only if the charge is not tiered and the
1513
+ # quantity is nonzero
1514
+ sig { returns(T.nilable(Float)) }
1515
+ attr_reader :price
1516
+
1517
+ sig { params(price: Float).void }
1518
+ attr_writer :price
1519
+
1520
+ # The start date for the charge (for seats charges only).
1521
+ sig { returns(T.nilable(Time)) }
1522
+ attr_reader :start_date
1523
+
1524
+ sig { params(start_date: Time).void }
1525
+ attr_writer :start_date
1526
+
1527
+ # when the current tier started and ends (for tiered charges only)
1528
+ sig do
1529
+ returns(
1530
+ T.nilable(
1531
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::SubLineItem::TierPeriod
1532
+ )
1533
+ )
1534
+ end
1535
+ attr_reader :tier_period
1536
+
1537
+ sig do
1538
+ params(
1539
+ tier_period:
1540
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::SubLineItem::TierPeriod::OrHash
1541
+ ).void
1542
+ end
1543
+ attr_writer :tier_period
1544
+
1545
+ sig do
1546
+ returns(
1547
+ T.nilable(
1548
+ T::Array[
1549
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::SubLineItem::Tier
1550
+ ]
1551
+ )
1552
+ )
1553
+ end
1554
+ attr_reader :tiers
1555
+
1556
+ sig do
1557
+ params(
1558
+ tiers:
1559
+ T::Array[
1560
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::SubLineItem::Tier::OrHash
1561
+ ]
1562
+ ).void
1563
+ end
1564
+ attr_writer :tiers
1565
+
1566
+ sig do
1567
+ params(
1568
+ custom_fields: T::Hash[Symbol, String],
1569
+ name: String,
1570
+ quantity: Float,
1571
+ subtotal: Float,
1572
+ charge_id: String,
1573
+ credit_grant_id: String,
1574
+ end_date: Time,
1575
+ price: Float,
1576
+ start_date: Time,
1577
+ tier_period:
1578
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::SubLineItem::TierPeriod::OrHash,
1579
+ tiers:
1580
+ T::Array[
1581
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::SubLineItem::Tier::OrHash
1582
+ ]
1583
+ ).returns(T.attached_class)
1584
+ end
1585
+ def self.new(
1586
+ custom_fields:,
1587
+ name:,
1588
+ quantity:,
1589
+ subtotal:,
1590
+ charge_id: nil,
1591
+ credit_grant_id: nil,
1592
+ # The end date for the charge (for seats charges only).
1593
+ end_date: nil,
1594
+ # the unit price for this charge, present only if the charge is not tiered and the
1595
+ # quantity is nonzero
1596
+ price: nil,
1597
+ # The start date for the charge (for seats charges only).
1598
+ start_date: nil,
1599
+ # when the current tier started and ends (for tiered charges only)
1600
+ tier_period: nil,
1601
+ tiers: nil
1602
+ )
1603
+ end
1604
+
1605
+ sig do
1606
+ override.returns(
1607
+ {
1608
+ custom_fields: T::Hash[Symbol, String],
1609
+ name: String,
1610
+ quantity: Float,
1611
+ subtotal: Float,
1612
+ charge_id: String,
1613
+ credit_grant_id: String,
1614
+ end_date: Time,
1615
+ price: Float,
1616
+ start_date: Time,
1617
+ tier_period:
1618
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::SubLineItem::TierPeriod,
1619
+ tiers:
1620
+ T::Array[
1621
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::SubLineItem::Tier
1622
+ ]
1623
+ }
1624
+ )
1625
+ end
1626
+ def to_hash
1627
+ end
1628
+
1629
+ class TierPeriod < MetronomeSDK::Internal::Type::BaseModel
1630
+ OrHash =
1631
+ T.type_alias do
1632
+ T.any(
1633
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::SubLineItem::TierPeriod,
1634
+ MetronomeSDK::Internal::AnyHash
1635
+ )
1636
+ end
1637
+
1638
+ sig { returns(Time) }
1639
+ attr_accessor :starting_at
1640
+
1641
+ sig { returns(T.nilable(Time)) }
1642
+ attr_reader :ending_before
1643
+
1644
+ sig { params(ending_before: Time).void }
1645
+ attr_writer :ending_before
1646
+
1647
+ # when the current tier started and ends (for tiered charges only)
1648
+ sig do
1649
+ params(starting_at: Time, ending_before: Time).returns(
1650
+ T.attached_class
1651
+ )
1652
+ end
1653
+ def self.new(starting_at:, ending_before: nil)
1654
+ end
1655
+
1656
+ sig do
1657
+ override.returns({ starting_at: Time, ending_before: Time })
1658
+ end
1659
+ def to_hash
1660
+ end
1661
+ end
1662
+
1663
+ class Tier < MetronomeSDK::Internal::Type::BaseModel
1664
+ OrHash =
1665
+ T.type_alias do
1666
+ T.any(
1667
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::SubLineItem::Tier,
1668
+ MetronomeSDK::Internal::AnyHash
1669
+ )
1670
+ end
1671
+
1672
+ sig { returns(Float) }
1673
+ attr_accessor :price
1674
+
1675
+ sig { returns(Float) }
1676
+ attr_accessor :quantity
1677
+
1678
+ # at what metric amount this tier begins
1679
+ sig { returns(Float) }
1680
+ attr_accessor :starting_at
1681
+
1682
+ sig { returns(Float) }
1683
+ attr_accessor :subtotal
1684
+
1685
+ sig do
1686
+ params(
1687
+ price: Float,
1688
+ quantity: Float,
1689
+ starting_at: Float,
1690
+ subtotal: Float
1691
+ ).returns(T.attached_class)
1692
+ end
1693
+ def self.new(
1694
+ price:,
1695
+ quantity:,
1696
+ # at what metric amount this tier begins
1697
+ starting_at:,
1698
+ subtotal:
1699
+ )
1700
+ end
1701
+
1702
+ sig do
1703
+ override.returns(
1704
+ {
1705
+ price: Float,
1706
+ quantity: Float,
1707
+ starting_at: Float,
1708
+ subtotal: Float
1709
+ }
1710
+ )
1711
+ end
1712
+ def to_hash
1713
+ end
1714
+ end
1715
+ end
1716
+
1717
+ class Tier < MetronomeSDK::Internal::Type::BaseModel
1718
+ OrHash =
1719
+ T.type_alias do
1720
+ T.any(
1721
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::LineItem::Tier,
1722
+ MetronomeSDK::Internal::AnyHash
1723
+ )
1724
+ end
1725
+
1726
+ sig { returns(Float) }
1727
+ attr_accessor :level
1728
+
1729
+ sig { returns(String) }
1730
+ attr_accessor :starting_at
1731
+
1732
+ sig { returns(T.nilable(String)) }
1733
+ attr_accessor :size
1734
+
1735
+ # Populated if the line item has a tiered price.
1736
+ sig do
1737
+ params(
1738
+ level: Float,
1739
+ starting_at: String,
1740
+ size: T.nilable(String)
1741
+ ).returns(T.attached_class)
1742
+ end
1743
+ def self.new(level:, starting_at:, size: nil)
1744
+ end
1745
+
1746
+ sig do
1747
+ override.returns(
1748
+ {
1749
+ level: Float,
1750
+ starting_at: String,
1751
+ size: T.nilable(String)
1752
+ }
1753
+ )
1754
+ end
1755
+ def to_hash
1756
+ end
1757
+ end
1758
+ end
1759
+
1760
+ # This field's availability is dependent on your client's configuration.
1761
+ module BillableStatus
1762
+ extend MetronomeSDK::Internal::Type::Enum
1763
+
1764
+ TaggedSymbol =
1765
+ T.type_alias do
1766
+ T.all(
1767
+ Symbol,
1768
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::BillableStatus
1769
+ )
1770
+ end
1771
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1772
+
1773
+ BILLABLE =
1774
+ T.let(
1775
+ :billable,
1776
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::BillableStatus::TaggedSymbol
1777
+ )
1778
+ UNBILLABLE =
1779
+ T.let(
1780
+ :unbillable,
1781
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::BillableStatus::TaggedSymbol
1782
+ )
1783
+
1784
+ sig do
1785
+ override.returns(
1786
+ T::Array[
1787
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::BillableStatus::TaggedSymbol
1788
+ ]
1789
+ )
1790
+ end
1791
+ def self.values
1792
+ end
1793
+ end
1794
+
1795
+ class CorrectionRecord < MetronomeSDK::Internal::Type::BaseModel
1796
+ OrHash =
1797
+ T.type_alias do
1798
+ T.any(
1799
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord,
1800
+ MetronomeSDK::Internal::AnyHash
1801
+ )
1802
+ end
1803
+
1804
+ sig { returns(String) }
1805
+ attr_accessor :corrected_invoice_id
1806
+
1807
+ sig { returns(String) }
1808
+ attr_accessor :memo
1809
+
1810
+ sig { returns(String) }
1811
+ attr_accessor :reason
1812
+
1813
+ sig do
1814
+ returns(
1815
+ T.nilable(
1816
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice
1817
+ )
1818
+ )
1819
+ end
1820
+ attr_reader :corrected_external_invoice
1821
+
1822
+ sig do
1823
+ params(
1824
+ corrected_external_invoice:
1825
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::OrHash
1826
+ ).void
1827
+ end
1828
+ attr_writer :corrected_external_invoice
1829
+
1830
+ sig do
1831
+ params(
1832
+ corrected_invoice_id: String,
1833
+ memo: String,
1834
+ reason: String,
1835
+ corrected_external_invoice:
1836
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::OrHash
1837
+ ).returns(T.attached_class)
1838
+ end
1839
+ def self.new(
1840
+ corrected_invoice_id:,
1841
+ memo:,
1842
+ reason:,
1843
+ corrected_external_invoice: nil
1844
+ )
1845
+ end
1846
+
1847
+ sig do
1848
+ override.returns(
1849
+ {
1850
+ corrected_invoice_id: String,
1851
+ memo: String,
1852
+ reason: String,
1853
+ corrected_external_invoice:
1854
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice
1855
+ }
1856
+ )
1857
+ end
1858
+ def to_hash
1859
+ end
1860
+
1861
+ class CorrectedExternalInvoice < MetronomeSDK::Internal::Type::BaseModel
1862
+ OrHash =
1863
+ T.type_alias do
1864
+ T.any(
1865
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice,
1866
+ MetronomeSDK::Internal::AnyHash
1867
+ )
1868
+ end
1869
+
1870
+ sig do
1871
+ returns(
1872
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::BillingProviderType::TaggedSymbol
1873
+ )
1874
+ end
1875
+ attr_accessor :billing_provider_type
1876
+
1877
+ sig do
1878
+ returns(
1879
+ T.nilable(
1880
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus::TaggedSymbol
1881
+ )
1882
+ )
1883
+ end
1884
+ attr_reader :external_status
1885
+
1886
+ sig do
1887
+ params(
1888
+ external_status:
1889
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus::OrSymbol
1890
+ ).void
1891
+ end
1892
+ attr_writer :external_status
1893
+
1894
+ sig { returns(T.nilable(String)) }
1895
+ attr_reader :invoice_id
1896
+
1897
+ sig { params(invoice_id: String).void }
1898
+ attr_writer :invoice_id
1899
+
1900
+ sig { returns(T.nilable(Time)) }
1901
+ attr_reader :issued_at_timestamp
1902
+
1903
+ sig { params(issued_at_timestamp: Time).void }
1904
+ attr_writer :issued_at_timestamp
1905
+
1906
+ sig do
1907
+ params(
1908
+ billing_provider_type:
1909
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::BillingProviderType::OrSymbol,
1910
+ external_status:
1911
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus::OrSymbol,
1912
+ invoice_id: String,
1913
+ issued_at_timestamp: Time
1914
+ ).returns(T.attached_class)
1915
+ end
1916
+ def self.new(
1917
+ billing_provider_type:,
1918
+ external_status: nil,
1919
+ invoice_id: nil,
1920
+ issued_at_timestamp: nil
1921
+ )
1922
+ end
1923
+
1924
+ sig do
1925
+ override.returns(
1926
+ {
1927
+ billing_provider_type:
1928
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::BillingProviderType::TaggedSymbol,
1929
+ external_status:
1930
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus::TaggedSymbol,
1931
+ invoice_id: String,
1932
+ issued_at_timestamp: Time
1933
+ }
1934
+ )
1935
+ end
1936
+ def to_hash
1937
+ end
1938
+
1939
+ module BillingProviderType
1940
+ extend MetronomeSDK::Internal::Type::Enum
1941
+
1942
+ TaggedSymbol =
1943
+ T.type_alias do
1944
+ T.all(
1945
+ Symbol,
1946
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::BillingProviderType
1947
+ )
1948
+ end
1949
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1950
+
1951
+ AWS_MARKETPLACE =
1952
+ T.let(
1953
+ :aws_marketplace,
1954
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::BillingProviderType::TaggedSymbol
1955
+ )
1956
+ STRIPE =
1957
+ T.let(
1958
+ :stripe,
1959
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::BillingProviderType::TaggedSymbol
1960
+ )
1961
+ NETSUITE =
1962
+ T.let(
1963
+ :netsuite,
1964
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::BillingProviderType::TaggedSymbol
1965
+ )
1966
+ CUSTOM =
1967
+ T.let(
1968
+ :custom,
1969
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::BillingProviderType::TaggedSymbol
1970
+ )
1971
+ AZURE_MARKETPLACE =
1972
+ T.let(
1973
+ :azure_marketplace,
1974
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::BillingProviderType::TaggedSymbol
1975
+ )
1976
+ QUICKBOOKS_ONLINE =
1977
+ T.let(
1978
+ :quickbooks_online,
1979
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::BillingProviderType::TaggedSymbol
1980
+ )
1981
+ WORKDAY =
1982
+ T.let(
1983
+ :workday,
1984
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::BillingProviderType::TaggedSymbol
1985
+ )
1986
+ GCP_MARKETPLACE =
1987
+ T.let(
1988
+ :gcp_marketplace,
1989
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::BillingProviderType::TaggedSymbol
1990
+ )
1991
+
1992
+ sig do
1993
+ override.returns(
1994
+ T::Array[
1995
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::BillingProviderType::TaggedSymbol
1996
+ ]
1997
+ )
1998
+ end
1999
+ def self.values
2000
+ end
2001
+ end
2002
+
2003
+ module ExternalStatus
2004
+ extend MetronomeSDK::Internal::Type::Enum
2005
+
2006
+ TaggedSymbol =
2007
+ T.type_alias do
2008
+ T.all(
2009
+ Symbol,
2010
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus
2011
+ )
2012
+ end
2013
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2014
+
2015
+ DRAFT =
2016
+ T.let(
2017
+ :DRAFT,
2018
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus::TaggedSymbol
2019
+ )
2020
+ FINALIZED =
2021
+ T.let(
2022
+ :FINALIZED,
2023
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus::TaggedSymbol
2024
+ )
2025
+ PAID =
2026
+ T.let(
2027
+ :PAID,
2028
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus::TaggedSymbol
2029
+ )
2030
+ UNCOLLECTIBLE =
2031
+ T.let(
2032
+ :UNCOLLECTIBLE,
2033
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus::TaggedSymbol
2034
+ )
2035
+ VOID =
2036
+ T.let(
2037
+ :VOID,
2038
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus::TaggedSymbol
2039
+ )
2040
+ DELETED =
2041
+ T.let(
2042
+ :DELETED,
2043
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus::TaggedSymbol
2044
+ )
2045
+ PAYMENT_FAILED =
2046
+ T.let(
2047
+ :PAYMENT_FAILED,
2048
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus::TaggedSymbol
2049
+ )
2050
+ INVALID_REQUEST_ERROR =
2051
+ T.let(
2052
+ :INVALID_REQUEST_ERROR,
2053
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus::TaggedSymbol
2054
+ )
2055
+ SKIPPED =
2056
+ T.let(
2057
+ :SKIPPED,
2058
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus::TaggedSymbol
2059
+ )
2060
+ SENT =
2061
+ T.let(
2062
+ :SENT,
2063
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus::TaggedSymbol
2064
+ )
2065
+ QUEUED =
2066
+ T.let(
2067
+ :QUEUED,
2068
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus::TaggedSymbol
2069
+ )
2070
+
2071
+ sig do
2072
+ override.returns(
2073
+ T::Array[
2074
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus::TaggedSymbol
2075
+ ]
2076
+ )
2077
+ end
2078
+ def self.values
2079
+ end
2080
+ end
2081
+ end
2082
+ end
2083
+
2084
+ class ExternalInvoice < MetronomeSDK::Internal::Type::BaseModel
2085
+ OrHash =
2086
+ T.type_alias do
2087
+ T.any(
2088
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice,
2089
+ MetronomeSDK::Internal::AnyHash
2090
+ )
2091
+ end
2092
+
2093
+ sig do
2094
+ returns(
2095
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::BillingProviderType::TaggedSymbol
2096
+ )
2097
+ end
2098
+ attr_accessor :billing_provider_type
2099
+
2100
+ sig do
2101
+ returns(
2102
+ T.nilable(
2103
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::ExternalStatus::TaggedSymbol
2104
+ )
2105
+ )
2106
+ end
2107
+ attr_reader :external_status
2108
+
2109
+ sig do
2110
+ params(
2111
+ external_status:
2112
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::ExternalStatus::OrSymbol
2113
+ ).void
2114
+ end
2115
+ attr_writer :external_status
2116
+
2117
+ sig { returns(T.nilable(String)) }
2118
+ attr_reader :invoice_id
2119
+
2120
+ sig { params(invoice_id: String).void }
2121
+ attr_writer :invoice_id
2122
+
2123
+ sig { returns(T.nilable(Time)) }
2124
+ attr_reader :issued_at_timestamp
2125
+
2126
+ sig { params(issued_at_timestamp: Time).void }
2127
+ attr_writer :issued_at_timestamp
2128
+
2129
+ sig do
2130
+ params(
2131
+ billing_provider_type:
2132
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::BillingProviderType::OrSymbol,
2133
+ external_status:
2134
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::ExternalStatus::OrSymbol,
2135
+ invoice_id: String,
2136
+ issued_at_timestamp: Time
2137
+ ).returns(T.attached_class)
2138
+ end
2139
+ def self.new(
2140
+ billing_provider_type:,
2141
+ external_status: nil,
2142
+ invoice_id: nil,
2143
+ issued_at_timestamp: nil
2144
+ )
2145
+ end
2146
+
2147
+ sig do
2148
+ override.returns(
2149
+ {
2150
+ billing_provider_type:
2151
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::BillingProviderType::TaggedSymbol,
2152
+ external_status:
2153
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::ExternalStatus::TaggedSymbol,
2154
+ invoice_id: String,
2155
+ issued_at_timestamp: Time
2156
+ }
2157
+ )
2158
+ end
2159
+ def to_hash
2160
+ end
2161
+
2162
+ module BillingProviderType
2163
+ extend MetronomeSDK::Internal::Type::Enum
2164
+
2165
+ TaggedSymbol =
2166
+ T.type_alias do
2167
+ T.all(
2168
+ Symbol,
2169
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::BillingProviderType
2170
+ )
2171
+ end
2172
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2173
+
2174
+ AWS_MARKETPLACE =
2175
+ T.let(
2176
+ :aws_marketplace,
2177
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::BillingProviderType::TaggedSymbol
2178
+ )
2179
+ STRIPE =
2180
+ T.let(
2181
+ :stripe,
2182
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::BillingProviderType::TaggedSymbol
2183
+ )
2184
+ NETSUITE =
2185
+ T.let(
2186
+ :netsuite,
2187
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::BillingProviderType::TaggedSymbol
2188
+ )
2189
+ CUSTOM =
2190
+ T.let(
2191
+ :custom,
2192
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::BillingProviderType::TaggedSymbol
2193
+ )
2194
+ AZURE_MARKETPLACE =
2195
+ T.let(
2196
+ :azure_marketplace,
2197
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::BillingProviderType::TaggedSymbol
2198
+ )
2199
+ QUICKBOOKS_ONLINE =
2200
+ T.let(
2201
+ :quickbooks_online,
2202
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::BillingProviderType::TaggedSymbol
2203
+ )
2204
+ WORKDAY =
2205
+ T.let(
2206
+ :workday,
2207
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::BillingProviderType::TaggedSymbol
2208
+ )
2209
+ GCP_MARKETPLACE =
2210
+ T.let(
2211
+ :gcp_marketplace,
2212
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::BillingProviderType::TaggedSymbol
2213
+ )
2214
+
2215
+ sig do
2216
+ override.returns(
2217
+ T::Array[
2218
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::BillingProviderType::TaggedSymbol
2219
+ ]
2220
+ )
2221
+ end
2222
+ def self.values
2223
+ end
2224
+ end
2225
+
2226
+ module ExternalStatus
2227
+ extend MetronomeSDK::Internal::Type::Enum
2228
+
2229
+ TaggedSymbol =
2230
+ T.type_alias do
2231
+ T.all(
2232
+ Symbol,
2233
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::ExternalStatus
2234
+ )
2235
+ end
2236
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2237
+
2238
+ DRAFT =
2239
+ T.let(
2240
+ :DRAFT,
2241
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::ExternalStatus::TaggedSymbol
2242
+ )
2243
+ FINALIZED =
2244
+ T.let(
2245
+ :FINALIZED,
2246
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::ExternalStatus::TaggedSymbol
2247
+ )
2248
+ PAID =
2249
+ T.let(
2250
+ :PAID,
2251
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::ExternalStatus::TaggedSymbol
2252
+ )
2253
+ UNCOLLECTIBLE =
2254
+ T.let(
2255
+ :UNCOLLECTIBLE,
2256
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::ExternalStatus::TaggedSymbol
2257
+ )
2258
+ VOID =
2259
+ T.let(
2260
+ :VOID,
2261
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::ExternalStatus::TaggedSymbol
2262
+ )
2263
+ DELETED =
2264
+ T.let(
2265
+ :DELETED,
2266
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::ExternalStatus::TaggedSymbol
2267
+ )
2268
+ PAYMENT_FAILED =
2269
+ T.let(
2270
+ :PAYMENT_FAILED,
2271
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::ExternalStatus::TaggedSymbol
2272
+ )
2273
+ INVALID_REQUEST_ERROR =
2274
+ T.let(
2275
+ :INVALID_REQUEST_ERROR,
2276
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::ExternalStatus::TaggedSymbol
2277
+ )
2278
+ SKIPPED =
2279
+ T.let(
2280
+ :SKIPPED,
2281
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::ExternalStatus::TaggedSymbol
2282
+ )
2283
+ SENT =
2284
+ T.let(
2285
+ :SENT,
2286
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::ExternalStatus::TaggedSymbol
2287
+ )
2288
+ QUEUED =
2289
+ T.let(
2290
+ :QUEUED,
2291
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::ExternalStatus::TaggedSymbol
2292
+ )
2293
+
2294
+ sig do
2295
+ override.returns(
2296
+ T::Array[
2297
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ExternalInvoice::ExternalStatus::TaggedSymbol
2298
+ ]
2299
+ )
2300
+ end
2301
+ def self.values
2302
+ end
2303
+ end
2304
+ end
2305
+
2306
+ class InvoiceAdjustment < MetronomeSDK::Internal::Type::BaseModel
2307
+ OrHash =
2308
+ T.type_alias do
2309
+ T.any(
2310
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::InvoiceAdjustment,
2311
+ MetronomeSDK::Internal::AnyHash
2312
+ )
2313
+ end
2314
+
2315
+ sig do
2316
+ returns(
2317
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::InvoiceAdjustment::CreditType
2318
+ )
2319
+ end
2320
+ attr_reader :credit_type
2321
+
2322
+ sig do
2323
+ params(
2324
+ credit_type:
2325
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::InvoiceAdjustment::CreditType::OrHash
2326
+ ).void
2327
+ end
2328
+ attr_writer :credit_type
2329
+
2330
+ sig { returns(String) }
2331
+ attr_accessor :name
2332
+
2333
+ sig { returns(Float) }
2334
+ attr_accessor :total
2335
+
2336
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
2337
+ attr_reader :credit_grant_custom_fields
2338
+
2339
+ sig do
2340
+ params(credit_grant_custom_fields: T::Hash[Symbol, String]).void
2341
+ end
2342
+ attr_writer :credit_grant_custom_fields
2343
+
2344
+ sig { returns(T.nilable(String)) }
2345
+ attr_reader :credit_grant_id
2346
+
2347
+ sig { params(credit_grant_id: String).void }
2348
+ attr_writer :credit_grant_id
2349
+
2350
+ sig do
2351
+ params(
2352
+ credit_type:
2353
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::InvoiceAdjustment::CreditType::OrHash,
2354
+ name: String,
2355
+ total: Float,
2356
+ credit_grant_custom_fields: T::Hash[Symbol, String],
2357
+ credit_grant_id: String
2358
+ ).returns(T.attached_class)
2359
+ end
2360
+ def self.new(
2361
+ credit_type:,
2362
+ name:,
2363
+ total:,
2364
+ credit_grant_custom_fields: nil,
2365
+ credit_grant_id: nil
2366
+ )
2367
+ end
2368
+
2369
+ sig do
2370
+ override.returns(
2371
+ {
2372
+ credit_type:
2373
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::InvoiceAdjustment::CreditType,
2374
+ name: String,
2375
+ total: Float,
2376
+ credit_grant_custom_fields: T::Hash[Symbol, String],
2377
+ credit_grant_id: String
2378
+ }
2379
+ )
2380
+ end
2381
+ def to_hash
2382
+ end
2383
+
2384
+ class CreditType < MetronomeSDK::Internal::Type::BaseModel
2385
+ OrHash =
2386
+ T.type_alias do
2387
+ T.any(
2388
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::InvoiceAdjustment::CreditType,
2389
+ MetronomeSDK::Internal::AnyHash
2390
+ )
2391
+ end
2392
+
2393
+ sig { returns(String) }
2394
+ attr_accessor :id
2395
+
2396
+ sig { returns(String) }
2397
+ attr_accessor :name
2398
+
2399
+ sig do
2400
+ params(id: String, name: String).returns(T.attached_class)
2401
+ end
2402
+ def self.new(id:, name:)
2403
+ end
2404
+
2405
+ sig { override.returns({ id: String, name: String }) }
2406
+ def to_hash
2407
+ end
2408
+ end
2409
+ end
2410
+
2411
+ class ResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
2412
+ OrHash =
2413
+ T.type_alias do
2414
+ T.any(
2415
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ResellerRoyalty,
2416
+ MetronomeSDK::Internal::AnyHash
2417
+ )
2418
+ end
2419
+
2420
+ sig { returns(String) }
2421
+ attr_accessor :fraction
2422
+
2423
+ sig { returns(String) }
2424
+ attr_accessor :netsuite_reseller_id
2425
+
2426
+ sig do
2427
+ returns(
2428
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ResellerRoyalty::ResellerType::TaggedSymbol
2429
+ )
2430
+ end
2431
+ attr_accessor :reseller_type
2432
+
2433
+ sig do
2434
+ returns(
2435
+ T.nilable(
2436
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ResellerRoyalty::AwsOptions
2437
+ )
2438
+ )
2439
+ end
2440
+ attr_reader :aws_options
2441
+
2442
+ sig do
2443
+ params(
2444
+ aws_options:
2445
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ResellerRoyalty::AwsOptions::OrHash
2446
+ ).void
2447
+ end
2448
+ attr_writer :aws_options
2449
+
2450
+ sig do
2451
+ returns(
2452
+ T.nilable(
2453
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ResellerRoyalty::GcpOptions
2454
+ )
2455
+ )
2456
+ end
2457
+ attr_reader :gcp_options
2458
+
2459
+ sig do
2460
+ params(
2461
+ gcp_options:
2462
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ResellerRoyalty::GcpOptions::OrHash
2463
+ ).void
2464
+ end
2465
+ attr_writer :gcp_options
2466
+
2467
+ # Only present for contract invoices with reseller royalties.
2468
+ sig do
2469
+ params(
2470
+ fraction: String,
2471
+ netsuite_reseller_id: String,
2472
+ reseller_type:
2473
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ResellerRoyalty::ResellerType::OrSymbol,
2474
+ aws_options:
2475
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ResellerRoyalty::AwsOptions::OrHash,
2476
+ gcp_options:
2477
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ResellerRoyalty::GcpOptions::OrHash
2478
+ ).returns(T.attached_class)
2479
+ end
2480
+ def self.new(
2481
+ fraction:,
2482
+ netsuite_reseller_id:,
2483
+ reseller_type:,
2484
+ aws_options: nil,
2485
+ gcp_options: nil
2486
+ )
2487
+ end
2488
+
2489
+ sig do
2490
+ override.returns(
2491
+ {
2492
+ fraction: String,
2493
+ netsuite_reseller_id: String,
2494
+ reseller_type:
2495
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ResellerRoyalty::ResellerType::TaggedSymbol,
2496
+ aws_options:
2497
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ResellerRoyalty::AwsOptions,
2498
+ gcp_options:
2499
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ResellerRoyalty::GcpOptions
2500
+ }
2501
+ )
2502
+ end
2503
+ def to_hash
2504
+ end
2505
+
2506
+ module ResellerType
2507
+ extend MetronomeSDK::Internal::Type::Enum
2508
+
2509
+ TaggedSymbol =
2510
+ T.type_alias do
2511
+ T.all(
2512
+ Symbol,
2513
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ResellerRoyalty::ResellerType
2514
+ )
2515
+ end
2516
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2517
+
2518
+ AWS =
2519
+ T.let(
2520
+ :AWS,
2521
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ResellerRoyalty::ResellerType::TaggedSymbol
2522
+ )
2523
+ AWS_PRO_SERVICE =
2524
+ T.let(
2525
+ :AWS_PRO_SERVICE,
2526
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ResellerRoyalty::ResellerType::TaggedSymbol
2527
+ )
2528
+ GCP =
2529
+ T.let(
2530
+ :GCP,
2531
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ResellerRoyalty::ResellerType::TaggedSymbol
2532
+ )
2533
+ GCP_PRO_SERVICE =
2534
+ T.let(
2535
+ :GCP_PRO_SERVICE,
2536
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ResellerRoyalty::ResellerType::TaggedSymbol
2537
+ )
2538
+
2539
+ sig do
2540
+ override.returns(
2541
+ T::Array[
2542
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ResellerRoyalty::ResellerType::TaggedSymbol
2543
+ ]
2544
+ )
2545
+ end
2546
+ def self.values
2547
+ end
2548
+ end
2549
+
2550
+ class AwsOptions < MetronomeSDK::Internal::Type::BaseModel
2551
+ OrHash =
2552
+ T.type_alias do
2553
+ T.any(
2554
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ResellerRoyalty::AwsOptions,
2555
+ MetronomeSDK::Internal::AnyHash
2556
+ )
2557
+ end
2558
+
2559
+ sig { returns(T.nilable(String)) }
2560
+ attr_reader :aws_account_number
2561
+
2562
+ sig { params(aws_account_number: String).void }
2563
+ attr_writer :aws_account_number
2564
+
2565
+ sig { returns(T.nilable(String)) }
2566
+ attr_reader :aws_offer_id
2567
+
2568
+ sig { params(aws_offer_id: String).void }
2569
+ attr_writer :aws_offer_id
2570
+
2571
+ sig { returns(T.nilable(String)) }
2572
+ attr_reader :aws_payer_reference_id
2573
+
2574
+ sig { params(aws_payer_reference_id: String).void }
2575
+ attr_writer :aws_payer_reference_id
2576
+
2577
+ sig do
2578
+ params(
2579
+ aws_account_number: String,
2580
+ aws_offer_id: String,
2581
+ aws_payer_reference_id: String
2582
+ ).returns(T.attached_class)
2583
+ end
2584
+ def self.new(
2585
+ aws_account_number: nil,
2586
+ aws_offer_id: nil,
2587
+ aws_payer_reference_id: nil
2588
+ )
2589
+ end
2590
+
2591
+ sig do
2592
+ override.returns(
2593
+ {
2594
+ aws_account_number: String,
2595
+ aws_offer_id: String,
2596
+ aws_payer_reference_id: String
2597
+ }
2598
+ )
2599
+ end
2600
+ def to_hash
2601
+ end
2602
+ end
2603
+
2604
+ class GcpOptions < MetronomeSDK::Internal::Type::BaseModel
2605
+ OrHash =
2606
+ T.type_alias do
2607
+ T.any(
2608
+ MetronomeSDK::Models::V1::Customers::InvoiceRetrieveResponse::Data::ResellerRoyalty::GcpOptions,
2609
+ MetronomeSDK::Internal::AnyHash
2610
+ )
2611
+ end
2612
+
2613
+ sig { returns(T.nilable(String)) }
2614
+ attr_reader :gcp_account_id
2615
+
2616
+ sig { params(gcp_account_id: String).void }
2617
+ attr_writer :gcp_account_id
2618
+
2619
+ sig { returns(T.nilable(String)) }
2620
+ attr_reader :gcp_offer_id
2621
+
2622
+ sig { params(gcp_offer_id: String).void }
2623
+ attr_writer :gcp_offer_id
2624
+
2625
+ sig do
2626
+ params(gcp_account_id: String, gcp_offer_id: String).returns(
2627
+ T.attached_class
2628
+ )
2629
+ end
2630
+ def self.new(gcp_account_id: nil, gcp_offer_id: nil)
2631
+ end
2632
+
2633
+ sig do
2634
+ override.returns(
2635
+ { gcp_account_id: String, gcp_offer_id: String }
2636
+ )
2637
+ end
2638
+ def to_hash
2639
+ end
2640
+ end
2641
+ end
2642
+ end
37
2643
  end
38
2644
  end
39
2645
  end