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

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 (417) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +56 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/errors.rb +22 -0
  5. data/lib/metronome_sdk/internal/cursor_page.rb +1 -1
  6. data/lib/metronome_sdk/internal/transport/base_client.rb +10 -2
  7. data/lib/metronome_sdk/internal/type/array_of.rb +6 -1
  8. data/lib/metronome_sdk/internal/type/base_model.rb +82 -26
  9. data/lib/metronome_sdk/internal/type/boolean.rb +7 -1
  10. data/lib/metronome_sdk/internal/type/converter.rb +42 -34
  11. data/lib/metronome_sdk/internal/type/enum.rb +16 -5
  12. data/lib/metronome_sdk/internal/type/file_input.rb +6 -1
  13. data/lib/metronome_sdk/internal/type/hash_of.rb +6 -1
  14. data/lib/metronome_sdk/internal/type/union.rb +17 -9
  15. data/lib/metronome_sdk/internal/type/unknown.rb +7 -1
  16. data/lib/metronome_sdk/internal/util.rb +8 -9
  17. data/lib/metronome_sdk/models/base_usage_filter.rb +27 -0
  18. data/lib/metronome_sdk/models/commit.rb +1053 -0
  19. data/lib/metronome_sdk/models/contract_without_amendments.rb +2043 -0
  20. data/lib/metronome_sdk/models/credit.rb +677 -0
  21. data/lib/metronome_sdk/models/credit_type_data.rb +21 -0
  22. data/lib/metronome_sdk/models/discount.rb +68 -0
  23. data/lib/metronome_sdk/models/event_type_filter.rb +33 -0
  24. data/lib/metronome_sdk/models/id.rb +15 -0
  25. data/lib/metronome_sdk/models/override.rb +381 -0
  26. data/lib/metronome_sdk/models/pro_service.rb +73 -0
  27. data/lib/metronome_sdk/models/property_filter.rb +52 -0
  28. data/lib/metronome_sdk/models/rate.rb +101 -0
  29. data/lib/metronome_sdk/models/schedule_duration.rb +50 -0
  30. data/lib/metronome_sdk/models/schedule_point_in_time.rb +62 -0
  31. data/lib/metronome_sdk/models/scheduled_charge.rb +76 -0
  32. data/lib/metronome_sdk/models/tier.rb +21 -0
  33. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +3 -14
  34. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -1
  35. data/lib/metronome_sdk/models/v1/alert_create_response.rb +3 -14
  36. data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +2 -8
  37. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +3 -14
  38. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +6 -86
  39. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +3 -14
  40. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +6 -85
  41. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +8 -85
  42. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +312 -35
  43. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +3 -14
  44. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +3 -14
  45. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +3 -1276
  46. data/lib/metronome_sdk/models/v1/contract_create_params.rb +792 -104
  47. data/lib/metronome_sdk/models/v1/contract_create_response.rb +3 -14
  48. data/lib/metronome_sdk/models/v1/contract_list_balances_params.rb +9 -1
  49. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +5 -1645
  50. data/lib/metronome_sdk/models/v1/contract_list_response.rb +253 -10692
  51. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +9 -295
  52. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +254 -10721
  53. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +3 -1276
  54. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +3 -14
  55. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +3 -14
  56. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +6 -97
  57. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +3 -14
  58. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +148 -0
  59. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +12 -561
  60. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +2 -8
  61. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +14 -559
  62. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +6 -97
  63. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +3 -14
  64. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +57 -0
  65. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +45 -0
  66. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_params.rb +2 -8
  67. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +3 -14
  68. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +3 -14
  69. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +6 -42
  70. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +2 -8
  71. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +6 -159
  72. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +6 -42
  73. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +3 -14
  74. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +3 -14
  75. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +3 -14
  76. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -44
  77. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +3 -16
  78. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +6 -44
  79. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +9 -61
  80. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +6 -158
  81. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +5 -77
  82. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +3 -14
  83. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +3 -14
  84. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +20 -1
  85. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +11 -153
  86. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +14 -175
  87. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +3 -14
  88. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +69 -0
  89. data/lib/metronome_sdk/models/v1/customer.rb +53 -0
  90. data/lib/metronome_sdk/models/v1/customer_archive_params.rb +2 -8
  91. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +3 -14
  92. data/lib/metronome_sdk/models/v1/customer_create_response.rb +3 -50
  93. data/lib/metronome_sdk/models/v1/{customer_list_response.rb → customer_detail.rb} +14 -15
  94. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +6 -86
  95. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +115 -0
  96. data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +18 -0
  97. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +3 -126
  98. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +3 -50
  99. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +5 -276
  100. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +3 -279
  101. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +9 -1
  102. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +8 -6
  103. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +3 -14
  104. data/lib/metronome_sdk/models/v1/customers/commit_list_params.rb +9 -1
  105. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +3 -1047
  106. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +3 -14
  107. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +3 -14
  108. data/lib/metronome_sdk/models/v1/customers/credit_list_params.rb +9 -1
  109. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +3 -593
  110. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +3 -14
  111. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +270 -0
  112. data/lib/metronome_sdk/models/v1/customers/{invoice_list_response.rb → invoice.rb} +119 -303
  113. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +2 -1271
  114. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +3 -1276
  115. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +3 -14
  116. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +3 -21
  117. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +1 -0
  118. data/lib/metronome_sdk/models/v1/plan_detail.rb +200 -0
  119. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +3 -286
  120. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +3 -20
  121. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +3 -128
  122. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +38 -0
  123. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +38 -0
  124. data/lib/metronome_sdk/models/v1/usage_search_params.rb +24 -0
  125. data/lib/metronome_sdk/models/v1/usage_search_response.rb +249 -0
  126. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +11 -8
  127. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +3 -14
  128. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +3 -2
  129. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +3 -14
  130. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +1127 -105
  131. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3 -14
  132. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +577 -643
  133. data/lib/metronome_sdk/models/v2/contract_list_response.rb +917 -746
  134. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +917 -748
  135. data/lib/metronome_sdk/models.rb +36 -4
  136. data/lib/metronome_sdk/resources/v1/alerts.rb +1 -1
  137. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +2 -2
  138. data/lib/metronome_sdk/resources/v1/contracts/products.rb +4 -4
  139. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +1 -1
  140. data/lib/metronome_sdk/resources/v1/contracts.rb +11 -5
  141. data/lib/metronome_sdk/resources/v1/credit_grants.rb +4 -2
  142. data/lib/metronome_sdk/resources/v1/customers/commits.rb +5 -3
  143. data/lib/metronome_sdk/resources/v1/customers/credits.rb +3 -1
  144. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +2 -2
  145. data/lib/metronome_sdk/resources/v1/customers.rb +40 -2
  146. data/lib/metronome_sdk/resources/v1/usage.rb +25 -0
  147. data/lib/metronome_sdk/resources/v2/contracts.rb +11 -9
  148. data/lib/metronome_sdk/version.rb +1 -1
  149. data/lib/metronome_sdk.rb +31 -2
  150. data/rbi/metronome_sdk/errors.rbi +16 -0
  151. data/rbi/metronome_sdk/internal/type/boolean.rbi +2 -0
  152. data/rbi/metronome_sdk/internal/type/converter.rbi +15 -15
  153. data/rbi/metronome_sdk/internal/type/union.rbi +5 -0
  154. data/rbi/metronome_sdk/internal/type/unknown.rbi +2 -0
  155. data/rbi/metronome_sdk/internal/util.rbi +2 -0
  156. data/rbi/metronome_sdk/models/base_usage_filter.rbi +46 -0
  157. data/rbi/metronome_sdk/models/commit.rbi +2046 -0
  158. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +4260 -0
  159. data/rbi/metronome_sdk/models/credit.rbi +1314 -0
  160. data/rbi/metronome_sdk/models/credit_type_data.rbi +26 -0
  161. data/rbi/metronome_sdk/models/discount.rbi +106 -0
  162. data/rbi/metronome_sdk/models/event_type_filter.rbi +57 -0
  163. data/rbi/metronome_sdk/models/id.rbi +23 -0
  164. data/rbi/metronome_sdk/models/override.rbi +675 -0
  165. data/rbi/metronome_sdk/models/pro_service.rbi +98 -0
  166. data/rbi/metronome_sdk/models/property_filter.rbi +88 -0
  167. data/rbi/metronome_sdk/models/rate.rbi +155 -0
  168. data/rbi/metronome_sdk/models/schedule_duration.rbi +89 -0
  169. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +121 -0
  170. data/rbi/metronome_sdk/models/scheduled_charge.rbi +119 -0
  171. data/rbi/metronome_sdk/models/tier.rbi +29 -0
  172. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +4 -37
  173. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -0
  174. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +4 -37
  175. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +6 -12
  176. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +4 -44
  177. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +8 -177
  178. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +4 -43
  179. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +8 -177
  180. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +8 -175
  181. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +712 -68
  182. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +4 -37
  183. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +4 -39
  184. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +3 -2595
  185. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1738 -210
  186. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +4 -37
  187. data/rbi/metronome_sdk/models/v1/contract_list_balances_params.rbi +11 -0
  188. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +3 -3366
  189. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +375 -22523
  190. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +12 -632
  191. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +375 -22523
  192. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +3 -2595
  193. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +4 -44
  194. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +4 -44
  195. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +8 -209
  196. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +4 -44
  197. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +237 -0
  198. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +76 -1143
  199. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +3 -9
  200. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +76 -1137
  201. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +8 -209
  202. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +4 -44
  203. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +111 -0
  204. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +94 -0
  205. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbi +3 -9
  206. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbi +4 -44
  207. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +4 -44
  208. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +8 -74
  209. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +3 -9
  210. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +8 -344
  211. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +8 -74
  212. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +4 -44
  213. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +4 -44
  214. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +4 -44
  215. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +8 -108
  216. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +4 -45
  217. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +8 -108
  218. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +12 -149
  219. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +8 -344
  220. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +8 -166
  221. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +4 -41
  222. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +4 -39
  223. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +58 -0
  224. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +10 -231
  225. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +14 -281
  226. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +4 -39
  227. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +90 -0
  228. data/rbi/metronome_sdk/models/v1/customer.rbi +74 -0
  229. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +6 -12
  230. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +4 -39
  231. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +6 -84
  232. data/rbi/metronome_sdk/models/v1/{customer_list_response.rbi → customer_detail.rbi} +19 -26
  233. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +8 -177
  234. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +214 -0
  235. data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +35 -0
  236. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +6 -255
  237. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +6 -86
  238. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +3 -623
  239. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +4 -622
  240. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +11 -0
  241. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +12 -8
  242. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +4 -44
  243. data/rbi/metronome_sdk/models/v1/customers/commit_list_params.rbi +11 -0
  244. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +3 -2164
  245. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +4 -44
  246. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +4 -44
  247. data/rbi/metronome_sdk/models/v1/customers/credit_list_params.rbi +11 -0
  248. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +3 -1224
  249. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +4 -44
  250. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +572 -0
  251. data/rbi/metronome_sdk/models/v1/customers/{invoice_list_response.rbi → invoice.rbi} +182 -589
  252. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +4 -2561
  253. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +6 -2612
  254. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +4 -41
  255. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +4 -39
  256. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +5 -0
  257. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +349 -0
  258. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +6 -560
  259. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +4 -37
  260. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +4 -248
  261. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +79 -0
  262. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +80 -0
  263. data/rbi/metronome_sdk/models/v1/usage_search_params.rbi +48 -0
  264. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +438 -0
  265. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +23 -23
  266. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +4 -41
  267. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +11 -15
  268. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +4 -41
  269. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +2463 -206
  270. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +4 -37
  271. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1381 -1550
  272. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +2017 -1466
  273. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +2017 -1466
  274. data/rbi/metronome_sdk/models.rbi +32 -0
  275. data/rbi/metronome_sdk/resources/v1/alerts.rbi +3 -0
  276. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +2 -6
  277. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +4 -4
  278. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +1 -4
  279. data/rbi/metronome_sdk/resources/v1/contracts.rbi +13 -4
  280. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +4 -0
  281. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +9 -4
  282. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +3 -0
  283. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +1 -1
  284. data/rbi/metronome_sdk/resources/v1/customers.rbi +34 -3
  285. data/rbi/metronome_sdk/resources/v1/usage.rbi +17 -0
  286. data/rbi/metronome_sdk/resources/v2/contracts.rbi +24 -14
  287. data/sig/metronome_sdk/errors.rbs +9 -0
  288. data/sig/metronome_sdk/internal/type/converter.rbs +7 -1
  289. data/sig/metronome_sdk/models/base_usage_filter.rbs +28 -0
  290. data/sig/metronome_sdk/models/commit.rbs +1063 -0
  291. data/sig/metronome_sdk/models/contract_without_amendments.rbs +1828 -0
  292. data/sig/metronome_sdk/models/credit.rbs +686 -0
  293. data/sig/metronome_sdk/models/credit_type_data.rbs +15 -0
  294. data/sig/metronome_sdk/models/discount.rbs +63 -0
  295. data/sig/metronome_sdk/models/event_type_filter.rbs +26 -0
  296. data/sig/metronome_sdk/models/id.rbs +13 -0
  297. data/sig/metronome_sdk/models/override.rbs +399 -0
  298. data/sig/metronome_sdk/models/pro_service.rbs +61 -0
  299. data/sig/metronome_sdk/models/property_filter.rbs +41 -0
  300. data/sig/metronome_sdk/models/rate.rbs +94 -0
  301. data/sig/metronome_sdk/models/schedule_duration.rbs +56 -0
  302. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +75 -0
  303. data/sig/metronome_sdk/models/scheduled_charge.rbs +70 -0
  304. data/sig/metronome_sdk/models/tier.rbs +17 -0
  305. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +4 -19
  306. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +4 -19
  307. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +4 -12
  308. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +4 -19
  309. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +12 -73
  310. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +4 -19
  311. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +12 -73
  312. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +12 -73
  313. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +291 -24
  314. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +4 -19
  315. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +4 -19
  316. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +4 -1291
  317. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +694 -84
  318. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +4 -19
  319. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +7 -0
  320. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +1 -1642
  321. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +188 -10437
  322. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +15 -271
  323. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +188 -10437
  324. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +4 -1291
  325. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +4 -19
  326. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +4 -21
  327. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +8 -82
  328. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +4 -21
  329. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +121 -0
  330. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +16 -466
  331. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +4 -12
  332. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +16 -466
  333. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +8 -82
  334. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +4 -21
  335. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +47 -0
  336. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +41 -0
  337. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +4 -12
  338. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +4 -21
  339. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +4 -21
  340. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +10 -34
  341. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +4 -12
  342. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +10 -144
  343. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +10 -34
  344. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +4 -21
  345. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +4 -21
  346. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +4 -21
  347. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +12 -40
  348. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +4 -21
  349. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +12 -40
  350. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +18 -58
  351. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +10 -144
  352. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +2 -66
  353. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +4 -19
  354. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +4 -19
  355. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +20 -0
  356. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +12 -118
  357. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +16 -140
  358. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +4 -19
  359. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +52 -0
  360. data/sig/metronome_sdk/models/v1/customer.rbs +44 -0
  361. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +4 -12
  362. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +4 -19
  363. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +4 -48
  364. data/sig/metronome_sdk/models/v1/{customer_list_response.rbs → customer_detail.rbs} +17 -17
  365. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +12 -73
  366. data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +105 -0
  367. data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +16 -0
  368. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +4 -112
  369. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +4 -48
  370. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +4 -243
  371. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +4 -247
  372. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +7 -0
  373. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +4 -21
  374. data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +7 -0
  375. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +4 -1057
  376. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +4 -21
  377. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +4 -21
  378. data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +7 -0
  379. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +4 -596
  380. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +4 -21
  381. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +234 -0
  382. data/sig/metronome_sdk/models/v1/customers/{invoice_list_response.rbs → invoice.rbs} +147 -305
  383. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +8 -1278
  384. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +4 -1294
  385. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +4 -19
  386. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +4 -16
  387. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +2 -1
  388. data/sig/metronome_sdk/models/v1/plan_detail.rbs +203 -0
  389. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +4 -267
  390. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +4 -16
  391. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +4 -108
  392. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +37 -0
  393. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +37 -0
  394. data/sig/metronome_sdk/models/v1/usage_search_params.rbs +26 -0
  395. data/sig/metronome_sdk/models/v1/usage_search_response.rbs +230 -0
  396. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +4 -8
  397. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +4 -19
  398. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +4 -8
  399. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +4 -19
  400. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +989 -77
  401. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +4 -19
  402. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +510 -655
  403. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +970 -809
  404. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +970 -809
  405. data/sig/metronome_sdk/models.rbs +32 -0
  406. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +2 -2
  407. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +4 -4
  408. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  409. data/sig/metronome_sdk/resources/v1/contracts.rbs +4 -1
  410. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -0
  411. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +1 -0
  412. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +1 -0
  413. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -1
  414. data/sig/metronome_sdk/resources/v1/customers.rbs +9 -1
  415. data/sig/metronome_sdk/resources/v1/usage.rbs +5 -0
  416. data/sig/metronome_sdk/resources/v2/contracts.rbs +3 -2
  417. metadata +97 -10
@@ -0,0 +1,675 @@
1
+ # typed: strong
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class Override < MetronomeSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(MetronomeSDK::Override, MetronomeSDK::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(String) }
12
+ attr_accessor :id
13
+
14
+ sig { returns(Time) }
15
+ attr_accessor :starting_at
16
+
17
+ sig { returns(T.nilable(T::Array[String])) }
18
+ attr_reader :applicable_product_tags
19
+
20
+ sig { params(applicable_product_tags: T::Array[String]).void }
21
+ attr_writer :applicable_product_tags
22
+
23
+ sig { returns(T.nilable(MetronomeSDK::CreditTypeData)) }
24
+ attr_reader :credit_type
25
+
26
+ sig { params(credit_type: MetronomeSDK::CreditTypeData::OrHash).void }
27
+ attr_writer :credit_type
28
+
29
+ sig { returns(T.nilable(Time)) }
30
+ attr_reader :ending_before
31
+
32
+ sig { params(ending_before: Time).void }
33
+ attr_writer :ending_before
34
+
35
+ sig { returns(T.nilable(T::Boolean)) }
36
+ attr_reader :entitled
37
+
38
+ sig { params(entitled: T::Boolean).void }
39
+ attr_writer :entitled
40
+
41
+ sig { returns(T.nilable(T::Boolean)) }
42
+ attr_reader :is_commit_specific
43
+
44
+ sig { params(is_commit_specific: T::Boolean).void }
45
+ attr_writer :is_commit_specific
46
+
47
+ # Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
48
+ # set to true.
49
+ sig { returns(T.nilable(T::Boolean)) }
50
+ attr_reader :is_prorated
51
+
52
+ sig { params(is_prorated: T::Boolean).void }
53
+ attr_writer :is_prorated
54
+
55
+ sig { returns(T.nilable(Float)) }
56
+ attr_reader :multiplier
57
+
58
+ sig { params(multiplier: Float).void }
59
+ attr_writer :multiplier
60
+
61
+ sig do
62
+ returns(T.nilable(T::Array[MetronomeSDK::Override::OverrideSpecifier]))
63
+ end
64
+ attr_reader :override_specifiers
65
+
66
+ sig do
67
+ params(
68
+ override_specifiers:
69
+ T::Array[MetronomeSDK::Override::OverrideSpecifier::OrHash]
70
+ ).void
71
+ end
72
+ attr_writer :override_specifiers
73
+
74
+ sig { returns(T.nilable(T::Array[MetronomeSDK::Override::OverrideTier])) }
75
+ attr_reader :override_tiers
76
+
77
+ sig do
78
+ params(
79
+ override_tiers: T::Array[MetronomeSDK::Override::OverrideTier::OrHash]
80
+ ).void
81
+ end
82
+ attr_writer :override_tiers
83
+
84
+ sig { returns(T.nilable(MetronomeSDK::Override::OverwriteRate)) }
85
+ attr_reader :overwrite_rate
86
+
87
+ sig do
88
+ params(
89
+ overwrite_rate: MetronomeSDK::Override::OverwriteRate::OrHash
90
+ ).void
91
+ end
92
+ attr_writer :overwrite_rate
93
+
94
+ # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
95
+ # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
96
+ sig { returns(T.nilable(Float)) }
97
+ attr_reader :price
98
+
99
+ sig { params(price: Float).void }
100
+ attr_writer :price
101
+
102
+ sig { returns(T.nilable(Float)) }
103
+ attr_reader :priority
104
+
105
+ sig { params(priority: Float).void }
106
+ attr_writer :priority
107
+
108
+ sig { returns(T.nilable(MetronomeSDK::Override::Product)) }
109
+ attr_reader :product
110
+
111
+ sig { params(product: MetronomeSDK::Override::Product::OrHash).void }
112
+ attr_writer :product
113
+
114
+ # Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
115
+ sig { returns(T.nilable(Float)) }
116
+ attr_reader :quantity
117
+
118
+ sig { params(quantity: Float).void }
119
+ attr_writer :quantity
120
+
121
+ sig { returns(T.nilable(MetronomeSDK::Override::RateType::TaggedSymbol)) }
122
+ attr_reader :rate_type
123
+
124
+ sig { params(rate_type: MetronomeSDK::Override::RateType::OrSymbol).void }
125
+ attr_writer :rate_type
126
+
127
+ sig { returns(T.nilable(MetronomeSDK::Override::Target::TaggedSymbol)) }
128
+ attr_reader :target
129
+
130
+ sig { params(target: MetronomeSDK::Override::Target::OrSymbol).void }
131
+ attr_writer :target
132
+
133
+ # Only set for TIERED rate_type.
134
+ sig { returns(T.nilable(T::Array[MetronomeSDK::Tier])) }
135
+ attr_reader :tiers
136
+
137
+ sig { params(tiers: T::Array[MetronomeSDK::Tier::OrHash]).void }
138
+ attr_writer :tiers
139
+
140
+ sig { returns(T.nilable(MetronomeSDK::Override::Type::TaggedSymbol)) }
141
+ attr_reader :type
142
+
143
+ sig { params(type: MetronomeSDK::Override::Type::OrSymbol).void }
144
+ attr_writer :type
145
+
146
+ # Only set for CUSTOM rate_type. This field is interpreted by custom rate
147
+ # processors.
148
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
149
+ attr_reader :value
150
+
151
+ sig { params(value: T::Hash[Symbol, T.anything]).void }
152
+ attr_writer :value
153
+
154
+ sig do
155
+ params(
156
+ id: String,
157
+ starting_at: Time,
158
+ applicable_product_tags: T::Array[String],
159
+ credit_type: MetronomeSDK::CreditTypeData::OrHash,
160
+ ending_before: Time,
161
+ entitled: T::Boolean,
162
+ is_commit_specific: T::Boolean,
163
+ is_prorated: T::Boolean,
164
+ multiplier: Float,
165
+ override_specifiers:
166
+ T::Array[MetronomeSDK::Override::OverrideSpecifier::OrHash],
167
+ override_tiers:
168
+ T::Array[MetronomeSDK::Override::OverrideTier::OrHash],
169
+ overwrite_rate: MetronomeSDK::Override::OverwriteRate::OrHash,
170
+ price: Float,
171
+ priority: Float,
172
+ product: MetronomeSDK::Override::Product::OrHash,
173
+ quantity: Float,
174
+ rate_type: MetronomeSDK::Override::RateType::OrSymbol,
175
+ target: MetronomeSDK::Override::Target::OrSymbol,
176
+ tiers: T::Array[MetronomeSDK::Tier::OrHash],
177
+ type: MetronomeSDK::Override::Type::OrSymbol,
178
+ value: T::Hash[Symbol, T.anything]
179
+ ).returns(T.attached_class)
180
+ end
181
+ def self.new(
182
+ id:,
183
+ starting_at:,
184
+ applicable_product_tags: nil,
185
+ credit_type: nil,
186
+ ending_before: nil,
187
+ entitled: nil,
188
+ is_commit_specific: nil,
189
+ # Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
190
+ # set to true.
191
+ is_prorated: nil,
192
+ multiplier: nil,
193
+ override_specifiers: nil,
194
+ override_tiers: nil,
195
+ overwrite_rate: nil,
196
+ # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
197
+ # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
198
+ price: nil,
199
+ priority: nil,
200
+ product: nil,
201
+ # Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
202
+ quantity: nil,
203
+ rate_type: nil,
204
+ target: nil,
205
+ # Only set for TIERED rate_type.
206
+ tiers: nil,
207
+ type: nil,
208
+ # Only set for CUSTOM rate_type. This field is interpreted by custom rate
209
+ # processors.
210
+ value: nil
211
+ )
212
+ end
213
+
214
+ sig do
215
+ override.returns(
216
+ {
217
+ id: String,
218
+ starting_at: Time,
219
+ applicable_product_tags: T::Array[String],
220
+ credit_type: MetronomeSDK::CreditTypeData,
221
+ ending_before: Time,
222
+ entitled: T::Boolean,
223
+ is_commit_specific: T::Boolean,
224
+ is_prorated: T::Boolean,
225
+ multiplier: Float,
226
+ override_specifiers:
227
+ T::Array[MetronomeSDK::Override::OverrideSpecifier],
228
+ override_tiers: T::Array[MetronomeSDK::Override::OverrideTier],
229
+ overwrite_rate: MetronomeSDK::Override::OverwriteRate,
230
+ price: Float,
231
+ priority: Float,
232
+ product: MetronomeSDK::Override::Product,
233
+ quantity: Float,
234
+ rate_type: MetronomeSDK::Override::RateType::TaggedSymbol,
235
+ target: MetronomeSDK::Override::Target::TaggedSymbol,
236
+ tiers: T::Array[MetronomeSDK::Tier],
237
+ type: MetronomeSDK::Override::Type::TaggedSymbol,
238
+ value: T::Hash[Symbol, T.anything]
239
+ }
240
+ )
241
+ end
242
+ def to_hash
243
+ end
244
+
245
+ class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
246
+ OrHash =
247
+ T.type_alias do
248
+ T.any(
249
+ MetronomeSDK::Override::OverrideSpecifier,
250
+ MetronomeSDK::Internal::AnyHash
251
+ )
252
+ end
253
+
254
+ sig do
255
+ returns(
256
+ T.nilable(
257
+ MetronomeSDK::Override::OverrideSpecifier::BillingFrequency::TaggedSymbol
258
+ )
259
+ )
260
+ end
261
+ attr_reader :billing_frequency
262
+
263
+ sig do
264
+ params(
265
+ billing_frequency:
266
+ MetronomeSDK::Override::OverrideSpecifier::BillingFrequency::OrSymbol
267
+ ).void
268
+ end
269
+ attr_writer :billing_frequency
270
+
271
+ sig { returns(T.nilable(T::Array[String])) }
272
+ attr_reader :commit_ids
273
+
274
+ sig { params(commit_ids: T::Array[String]).void }
275
+ attr_writer :commit_ids
276
+
277
+ sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) }
278
+ attr_reader :presentation_group_values
279
+
280
+ sig do
281
+ params(
282
+ presentation_group_values: T::Hash[Symbol, T.nilable(String)]
283
+ ).void
284
+ end
285
+ attr_writer :presentation_group_values
286
+
287
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
288
+ attr_reader :pricing_group_values
289
+
290
+ sig { params(pricing_group_values: T::Hash[Symbol, String]).void }
291
+ attr_writer :pricing_group_values
292
+
293
+ sig { returns(T.nilable(String)) }
294
+ attr_reader :product_id
295
+
296
+ sig { params(product_id: String).void }
297
+ attr_writer :product_id
298
+
299
+ sig { returns(T.nilable(T::Array[String])) }
300
+ attr_reader :product_tags
301
+
302
+ sig { params(product_tags: T::Array[String]).void }
303
+ attr_writer :product_tags
304
+
305
+ sig { returns(T.nilable(T::Array[String])) }
306
+ attr_reader :recurring_commit_ids
307
+
308
+ sig { params(recurring_commit_ids: T::Array[String]).void }
309
+ attr_writer :recurring_commit_ids
310
+
311
+ sig { returns(T.nilable(T::Array[String])) }
312
+ attr_reader :recurring_credit_ids
313
+
314
+ sig { params(recurring_credit_ids: T::Array[String]).void }
315
+ attr_writer :recurring_credit_ids
316
+
317
+ sig do
318
+ params(
319
+ billing_frequency:
320
+ MetronomeSDK::Override::OverrideSpecifier::BillingFrequency::OrSymbol,
321
+ commit_ids: T::Array[String],
322
+ presentation_group_values: T::Hash[Symbol, T.nilable(String)],
323
+ pricing_group_values: T::Hash[Symbol, String],
324
+ product_id: String,
325
+ product_tags: T::Array[String],
326
+ recurring_commit_ids: T::Array[String],
327
+ recurring_credit_ids: T::Array[String]
328
+ ).returns(T.attached_class)
329
+ end
330
+ def self.new(
331
+ billing_frequency: nil,
332
+ commit_ids: nil,
333
+ presentation_group_values: nil,
334
+ pricing_group_values: nil,
335
+ product_id: nil,
336
+ product_tags: nil,
337
+ recurring_commit_ids: nil,
338
+ recurring_credit_ids: nil
339
+ )
340
+ end
341
+
342
+ sig do
343
+ override.returns(
344
+ {
345
+ billing_frequency:
346
+ MetronomeSDK::Override::OverrideSpecifier::BillingFrequency::TaggedSymbol,
347
+ commit_ids: T::Array[String],
348
+ presentation_group_values: T::Hash[Symbol, T.nilable(String)],
349
+ pricing_group_values: T::Hash[Symbol, String],
350
+ product_id: String,
351
+ product_tags: T::Array[String],
352
+ recurring_commit_ids: T::Array[String],
353
+ recurring_credit_ids: T::Array[String]
354
+ }
355
+ )
356
+ end
357
+ def to_hash
358
+ end
359
+
360
+ module BillingFrequency
361
+ extend MetronomeSDK::Internal::Type::Enum
362
+
363
+ TaggedSymbol =
364
+ T.type_alias do
365
+ T.all(
366
+ Symbol,
367
+ MetronomeSDK::Override::OverrideSpecifier::BillingFrequency
368
+ )
369
+ end
370
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
371
+
372
+ MONTHLY =
373
+ T.let(
374
+ :MONTHLY,
375
+ MetronomeSDK::Override::OverrideSpecifier::BillingFrequency::TaggedSymbol
376
+ )
377
+ QUARTERLY =
378
+ T.let(
379
+ :QUARTERLY,
380
+ MetronomeSDK::Override::OverrideSpecifier::BillingFrequency::TaggedSymbol
381
+ )
382
+ ANNUAL =
383
+ T.let(
384
+ :ANNUAL,
385
+ MetronomeSDK::Override::OverrideSpecifier::BillingFrequency::TaggedSymbol
386
+ )
387
+ WEEKLY =
388
+ T.let(
389
+ :WEEKLY,
390
+ MetronomeSDK::Override::OverrideSpecifier::BillingFrequency::TaggedSymbol
391
+ )
392
+
393
+ sig do
394
+ override.returns(
395
+ T::Array[
396
+ MetronomeSDK::Override::OverrideSpecifier::BillingFrequency::TaggedSymbol
397
+ ]
398
+ )
399
+ end
400
+ def self.values
401
+ end
402
+ end
403
+ end
404
+
405
+ class OverrideTier < MetronomeSDK::Internal::Type::BaseModel
406
+ OrHash =
407
+ T.type_alias do
408
+ T.any(
409
+ MetronomeSDK::Override::OverrideTier,
410
+ MetronomeSDK::Internal::AnyHash
411
+ )
412
+ end
413
+
414
+ sig { returns(Float) }
415
+ attr_accessor :multiplier
416
+
417
+ sig { returns(T.nilable(Float)) }
418
+ attr_reader :size
419
+
420
+ sig { params(size: Float).void }
421
+ attr_writer :size
422
+
423
+ sig { params(multiplier: Float, size: Float).returns(T.attached_class) }
424
+ def self.new(multiplier:, size: nil)
425
+ end
426
+
427
+ sig { override.returns({ multiplier: Float, size: Float }) }
428
+ def to_hash
429
+ end
430
+ end
431
+
432
+ class OverwriteRate < MetronomeSDK::Internal::Type::BaseModel
433
+ OrHash =
434
+ T.type_alias do
435
+ T.any(
436
+ MetronomeSDK::Override::OverwriteRate,
437
+ MetronomeSDK::Internal::AnyHash
438
+ )
439
+ end
440
+
441
+ sig do
442
+ returns(MetronomeSDK::Override::OverwriteRate::RateType::TaggedSymbol)
443
+ end
444
+ attr_accessor :rate_type
445
+
446
+ sig { returns(T.nilable(MetronomeSDK::CreditTypeData)) }
447
+ attr_reader :credit_type
448
+
449
+ sig { params(credit_type: MetronomeSDK::CreditTypeData::OrHash).void }
450
+ attr_writer :credit_type
451
+
452
+ # Only set for CUSTOM rate_type. This field is interpreted by custom rate
453
+ # processors.
454
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
455
+ attr_reader :custom_rate
456
+
457
+ sig { params(custom_rate: T::Hash[Symbol, T.anything]).void }
458
+ attr_writer :custom_rate
459
+
460
+ # Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
461
+ # set to true.
462
+ sig { returns(T.nilable(T::Boolean)) }
463
+ attr_reader :is_prorated
464
+
465
+ sig { params(is_prorated: T::Boolean).void }
466
+ attr_writer :is_prorated
467
+
468
+ # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
469
+ # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
470
+ sig { returns(T.nilable(Float)) }
471
+ attr_reader :price
472
+
473
+ sig { params(price: Float).void }
474
+ attr_writer :price
475
+
476
+ # Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
477
+ sig { returns(T.nilable(Float)) }
478
+ attr_reader :quantity
479
+
480
+ sig { params(quantity: Float).void }
481
+ attr_writer :quantity
482
+
483
+ # Only set for TIERED rate_type.
484
+ sig { returns(T.nilable(T::Array[MetronomeSDK::Tier])) }
485
+ attr_reader :tiers
486
+
487
+ sig { params(tiers: T::Array[MetronomeSDK::Tier::OrHash]).void }
488
+ attr_writer :tiers
489
+
490
+ sig do
491
+ params(
492
+ rate_type:
493
+ MetronomeSDK::Override::OverwriteRate::RateType::OrSymbol,
494
+ credit_type: MetronomeSDK::CreditTypeData::OrHash,
495
+ custom_rate: T::Hash[Symbol, T.anything],
496
+ is_prorated: T::Boolean,
497
+ price: Float,
498
+ quantity: Float,
499
+ tiers: T::Array[MetronomeSDK::Tier::OrHash]
500
+ ).returns(T.attached_class)
501
+ end
502
+ def self.new(
503
+ rate_type:,
504
+ credit_type: nil,
505
+ # Only set for CUSTOM rate_type. This field is interpreted by custom rate
506
+ # processors.
507
+ custom_rate: nil,
508
+ # Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
509
+ # set to true.
510
+ is_prorated: nil,
511
+ # Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
512
+ # this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
513
+ price: nil,
514
+ # Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
515
+ quantity: nil,
516
+ # Only set for TIERED rate_type.
517
+ tiers: nil
518
+ )
519
+ end
520
+
521
+ sig do
522
+ override.returns(
523
+ {
524
+ rate_type:
525
+ MetronomeSDK::Override::OverwriteRate::RateType::TaggedSymbol,
526
+ credit_type: MetronomeSDK::CreditTypeData,
527
+ custom_rate: T::Hash[Symbol, T.anything],
528
+ is_prorated: T::Boolean,
529
+ price: Float,
530
+ quantity: Float,
531
+ tiers: T::Array[MetronomeSDK::Tier]
532
+ }
533
+ )
534
+ end
535
+ def to_hash
536
+ end
537
+
538
+ module RateType
539
+ extend MetronomeSDK::Internal::Type::Enum
540
+
541
+ TaggedSymbol =
542
+ T.type_alias do
543
+ T.all(Symbol, MetronomeSDK::Override::OverwriteRate::RateType)
544
+ end
545
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
546
+
547
+ FLAT =
548
+ T.let(
549
+ :FLAT,
550
+ MetronomeSDK::Override::OverwriteRate::RateType::TaggedSymbol
551
+ )
552
+ PERCENTAGE =
553
+ T.let(
554
+ :PERCENTAGE,
555
+ MetronomeSDK::Override::OverwriteRate::RateType::TaggedSymbol
556
+ )
557
+ SUBSCRIPTION =
558
+ T.let(
559
+ :SUBSCRIPTION,
560
+ MetronomeSDK::Override::OverwriteRate::RateType::TaggedSymbol
561
+ )
562
+ TIERED =
563
+ T.let(
564
+ :TIERED,
565
+ MetronomeSDK::Override::OverwriteRate::RateType::TaggedSymbol
566
+ )
567
+ CUSTOM =
568
+ T.let(
569
+ :CUSTOM,
570
+ MetronomeSDK::Override::OverwriteRate::RateType::TaggedSymbol
571
+ )
572
+
573
+ sig do
574
+ override.returns(
575
+ T::Array[
576
+ MetronomeSDK::Override::OverwriteRate::RateType::TaggedSymbol
577
+ ]
578
+ )
579
+ end
580
+ def self.values
581
+ end
582
+ end
583
+ end
584
+
585
+ class Product < MetronomeSDK::Internal::Type::BaseModel
586
+ OrHash =
587
+ T.type_alias do
588
+ T.any(
589
+ MetronomeSDK::Override::Product,
590
+ MetronomeSDK::Internal::AnyHash
591
+ )
592
+ end
593
+
594
+ sig { returns(String) }
595
+ attr_accessor :id
596
+
597
+ sig { returns(String) }
598
+ attr_accessor :name
599
+
600
+ sig { params(id: String, name: String).returns(T.attached_class) }
601
+ def self.new(id:, name:)
602
+ end
603
+
604
+ sig { override.returns({ id: String, name: String }) }
605
+ def to_hash
606
+ end
607
+ end
608
+
609
+ module RateType
610
+ extend MetronomeSDK::Internal::Type::Enum
611
+
612
+ TaggedSymbol =
613
+ T.type_alias { T.all(Symbol, MetronomeSDK::Override::RateType) }
614
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
615
+
616
+ FLAT = T.let(:FLAT, MetronomeSDK::Override::RateType::TaggedSymbol)
617
+ PERCENTAGE =
618
+ T.let(:PERCENTAGE, MetronomeSDK::Override::RateType::TaggedSymbol)
619
+ SUBSCRIPTION =
620
+ T.let(:SUBSCRIPTION, MetronomeSDK::Override::RateType::TaggedSymbol)
621
+ TIERED = T.let(:TIERED, MetronomeSDK::Override::RateType::TaggedSymbol)
622
+ CUSTOM = T.let(:CUSTOM, MetronomeSDK::Override::RateType::TaggedSymbol)
623
+
624
+ sig do
625
+ override.returns(
626
+ T::Array[MetronomeSDK::Override::RateType::TaggedSymbol]
627
+ )
628
+ end
629
+ def self.values
630
+ end
631
+ end
632
+
633
+ module Target
634
+ extend MetronomeSDK::Internal::Type::Enum
635
+
636
+ TaggedSymbol =
637
+ T.type_alias { T.all(Symbol, MetronomeSDK::Override::Target) }
638
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
639
+
640
+ COMMIT_RATE =
641
+ T.let(:COMMIT_RATE, MetronomeSDK::Override::Target::TaggedSymbol)
642
+ LIST_RATE =
643
+ T.let(:LIST_RATE, MetronomeSDK::Override::Target::TaggedSymbol)
644
+
645
+ sig do
646
+ override.returns(
647
+ T::Array[MetronomeSDK::Override::Target::TaggedSymbol]
648
+ )
649
+ end
650
+ def self.values
651
+ end
652
+ end
653
+
654
+ module Type
655
+ extend MetronomeSDK::Internal::Type::Enum
656
+
657
+ TaggedSymbol =
658
+ T.type_alias { T.all(Symbol, MetronomeSDK::Override::Type) }
659
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
660
+
661
+ OVERWRITE =
662
+ T.let(:OVERWRITE, MetronomeSDK::Override::Type::TaggedSymbol)
663
+ MULTIPLIER =
664
+ T.let(:MULTIPLIER, MetronomeSDK::Override::Type::TaggedSymbol)
665
+ TIERED = T.let(:TIERED, MetronomeSDK::Override::Type::TaggedSymbol)
666
+
667
+ sig do
668
+ override.returns(T::Array[MetronomeSDK::Override::Type::TaggedSymbol])
669
+ end
670
+ def self.values
671
+ end
672
+ end
673
+ end
674
+ end
675
+ end