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

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 (403) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +40 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/errors.rb +22 -0
  5. data/lib/metronome_sdk/internal/transport/base_client.rb +10 -2
  6. data/lib/metronome_sdk/internal/type/array_of.rb +6 -1
  7. data/lib/metronome_sdk/internal/type/base_model.rb +82 -26
  8. data/lib/metronome_sdk/internal/type/boolean.rb +7 -1
  9. data/lib/metronome_sdk/internal/type/converter.rb +42 -34
  10. data/lib/metronome_sdk/internal/type/enum.rb +16 -5
  11. data/lib/metronome_sdk/internal/type/file_input.rb +6 -1
  12. data/lib/metronome_sdk/internal/type/hash_of.rb +6 -1
  13. data/lib/metronome_sdk/internal/type/union.rb +17 -9
  14. data/lib/metronome_sdk/internal/type/unknown.rb +7 -1
  15. data/lib/metronome_sdk/internal/util.rb +8 -9
  16. data/lib/metronome_sdk/models/base_usage_filter.rb +27 -0
  17. data/lib/metronome_sdk/models/commit.rb +1010 -0
  18. data/lib/metronome_sdk/models/contract_without_amendments.rb +1803 -0
  19. data/lib/metronome_sdk/models/credit.rb +634 -0
  20. data/lib/metronome_sdk/models/credit_type_data.rb +21 -0
  21. data/lib/metronome_sdk/models/discount.rb +68 -0
  22. data/lib/metronome_sdk/models/event_type_filter.rb +33 -0
  23. data/lib/metronome_sdk/models/id.rb +15 -0
  24. data/lib/metronome_sdk/models/override.rb +381 -0
  25. data/lib/metronome_sdk/models/pro_service.rb +73 -0
  26. data/lib/metronome_sdk/models/property_filter.rb +52 -0
  27. data/lib/metronome_sdk/models/rate.rb +101 -0
  28. data/lib/metronome_sdk/models/schedule_duration.rb +50 -0
  29. data/lib/metronome_sdk/models/schedule_point_in_time.rb +62 -0
  30. data/lib/metronome_sdk/models/scheduled_charge.rb +76 -0
  31. data/lib/metronome_sdk/models/tier.rb +21 -0
  32. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +3 -14
  33. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -1
  34. data/lib/metronome_sdk/models/v1/alert_create_response.rb +3 -14
  35. data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +2 -8
  36. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +3 -14
  37. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +6 -86
  38. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +3 -14
  39. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +6 -85
  40. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +8 -85
  41. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +312 -35
  42. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +3 -14
  43. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +3 -14
  44. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +3 -1276
  45. data/lib/metronome_sdk/models/v1/contract_create_params.rb +550 -102
  46. data/lib/metronome_sdk/models/v1/contract_create_response.rb +3 -14
  47. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +5 -1645
  48. data/lib/metronome_sdk/models/v1/contract_list_response.rb +253 -10692
  49. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +9 -295
  50. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +254 -10721
  51. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +3 -1276
  52. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +3 -14
  53. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +3 -14
  54. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +6 -97
  55. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +3 -14
  56. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +148 -0
  57. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +12 -561
  58. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +2 -8
  59. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +14 -559
  60. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +6 -97
  61. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +3 -14
  62. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +57 -0
  63. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +45 -0
  64. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_params.rb +2 -8
  65. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +3 -14
  66. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +3 -14
  67. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +6 -42
  68. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +2 -8
  69. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +6 -159
  70. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +6 -42
  71. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +3 -14
  72. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +3 -14
  73. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +3 -14
  74. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -44
  75. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +3 -16
  76. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +6 -44
  77. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +9 -61
  78. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +6 -158
  79. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +5 -77
  80. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +3 -14
  81. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +3 -14
  82. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +20 -1
  83. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +11 -153
  84. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +14 -175
  85. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +3 -14
  86. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +69 -0
  87. data/lib/metronome_sdk/models/v1/customer.rb +53 -0
  88. data/lib/metronome_sdk/models/v1/customer_archive_params.rb +2 -8
  89. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +3 -14
  90. data/lib/metronome_sdk/models/v1/customer_create_response.rb +3 -50
  91. data/lib/metronome_sdk/models/v1/{customer_list_response.rb → customer_detail.rb} +14 -15
  92. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +6 -86
  93. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +115 -0
  94. data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +18 -0
  95. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +3 -126
  96. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +3 -50
  97. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +5 -276
  98. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +3 -279
  99. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +9 -1
  100. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +8 -6
  101. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +3 -14
  102. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +3 -1047
  103. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +3 -14
  104. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +3 -14
  105. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +3 -593
  106. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +3 -14
  107. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +270 -0
  108. data/lib/metronome_sdk/models/v1/customers/{invoice_list_response.rb → invoice.rb} +119 -303
  109. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +2 -1271
  110. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +3 -1276
  111. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +3 -14
  112. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +3 -21
  113. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +1 -0
  114. data/lib/metronome_sdk/models/v1/plan_detail.rb +200 -0
  115. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +3 -286
  116. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +3 -20
  117. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +3 -128
  118. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +38 -0
  119. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +38 -0
  120. data/lib/metronome_sdk/models/v1/usage_search_params.rb +24 -0
  121. data/lib/metronome_sdk/models/v1/usage_search_response.rb +249 -0
  122. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +11 -8
  123. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +3 -14
  124. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +3 -2
  125. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +3 -14
  126. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +885 -103
  127. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3 -14
  128. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +351 -625
  129. data/lib/metronome_sdk/models/v2/contract_list_response.rb +590 -749
  130. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +590 -751
  131. data/lib/metronome_sdk/models.rb +36 -4
  132. data/lib/metronome_sdk/resources/v1/alerts.rb +1 -1
  133. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +2 -2
  134. data/lib/metronome_sdk/resources/v1/contracts/products.rb +4 -4
  135. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +1 -1
  136. data/lib/metronome_sdk/resources/v1/contracts.rb +8 -4
  137. data/lib/metronome_sdk/resources/v1/credit_grants.rb +4 -2
  138. data/lib/metronome_sdk/resources/v1/customers/commits.rb +2 -2
  139. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +2 -2
  140. data/lib/metronome_sdk/resources/v1/customers.rb +40 -2
  141. data/lib/metronome_sdk/resources/v1/usage.rb +25 -0
  142. data/lib/metronome_sdk/resources/v2/contracts.rb +11 -9
  143. data/lib/metronome_sdk/version.rb +1 -1
  144. data/lib/metronome_sdk.rb +31 -2
  145. data/rbi/metronome_sdk/errors.rbi +16 -0
  146. data/rbi/metronome_sdk/internal/type/boolean.rbi +2 -0
  147. data/rbi/metronome_sdk/internal/type/converter.rbi +15 -15
  148. data/rbi/metronome_sdk/internal/type/union.rbi +5 -0
  149. data/rbi/metronome_sdk/internal/type/unknown.rbi +2 -0
  150. data/rbi/metronome_sdk/internal/util.rbi +2 -0
  151. data/rbi/metronome_sdk/models/base_usage_filter.rbi +46 -0
  152. data/rbi/metronome_sdk/models/commit.rbi +1962 -0
  153. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +3676 -0
  154. data/rbi/metronome_sdk/models/credit.rbi +1230 -0
  155. data/rbi/metronome_sdk/models/credit_type_data.rbi +26 -0
  156. data/rbi/metronome_sdk/models/discount.rbi +106 -0
  157. data/rbi/metronome_sdk/models/event_type_filter.rbi +57 -0
  158. data/rbi/metronome_sdk/models/id.rbi +23 -0
  159. data/rbi/metronome_sdk/models/override.rbi +675 -0
  160. data/rbi/metronome_sdk/models/pro_service.rbi +98 -0
  161. data/rbi/metronome_sdk/models/property_filter.rbi +88 -0
  162. data/rbi/metronome_sdk/models/rate.rbi +155 -0
  163. data/rbi/metronome_sdk/models/schedule_duration.rbi +89 -0
  164. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +121 -0
  165. data/rbi/metronome_sdk/models/scheduled_charge.rbi +119 -0
  166. data/rbi/metronome_sdk/models/tier.rbi +29 -0
  167. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +4 -37
  168. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -0
  169. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +4 -37
  170. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +6 -12
  171. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +4 -44
  172. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +8 -177
  173. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +4 -43
  174. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +8 -177
  175. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +8 -175
  176. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +712 -68
  177. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +4 -37
  178. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +4 -39
  179. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +3 -2595
  180. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1100 -172
  181. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +4 -37
  182. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +3 -3366
  183. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +375 -22523
  184. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +12 -632
  185. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +375 -22523
  186. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +3 -2595
  187. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +4 -44
  188. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +4 -44
  189. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +8 -209
  190. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +4 -44
  191. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +237 -0
  192. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +76 -1143
  193. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +3 -9
  194. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +76 -1137
  195. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +8 -209
  196. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +4 -44
  197. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +111 -0
  198. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +94 -0
  199. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbi +3 -9
  200. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbi +4 -44
  201. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +4 -44
  202. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +8 -74
  203. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +3 -9
  204. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +8 -344
  205. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +8 -74
  206. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +4 -44
  207. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +4 -44
  208. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +4 -44
  209. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +8 -108
  210. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +4 -45
  211. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +8 -108
  212. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +12 -149
  213. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +8 -344
  214. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +8 -166
  215. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +4 -41
  216. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +4 -39
  217. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +58 -0
  218. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +10 -231
  219. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +14 -281
  220. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +4 -39
  221. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +90 -0
  222. data/rbi/metronome_sdk/models/v1/customer.rbi +74 -0
  223. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +6 -12
  224. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +4 -39
  225. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +6 -84
  226. data/rbi/metronome_sdk/models/v1/{customer_list_response.rbi → customer_detail.rbi} +19 -26
  227. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +8 -177
  228. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +214 -0
  229. data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +35 -0
  230. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +6 -255
  231. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +6 -86
  232. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +3 -623
  233. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +4 -622
  234. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +11 -0
  235. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +12 -8
  236. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +4 -44
  237. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +3 -2164
  238. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +4 -44
  239. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +4 -44
  240. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +3 -1224
  241. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +4 -44
  242. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +572 -0
  243. data/rbi/metronome_sdk/models/v1/customers/{invoice_list_response.rbi → invoice.rbi} +182 -589
  244. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +4 -2561
  245. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +6 -2612
  246. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +4 -41
  247. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +4 -39
  248. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +5 -0
  249. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +349 -0
  250. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +6 -560
  251. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +4 -37
  252. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +4 -248
  253. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +79 -0
  254. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +80 -0
  255. data/rbi/metronome_sdk/models/v1/usage_search_params.rbi +48 -0
  256. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +438 -0
  257. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +23 -23
  258. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +4 -41
  259. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +11 -15
  260. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +4 -41
  261. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +1859 -202
  262. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +4 -37
  263. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +700 -1447
  264. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +1204 -1472
  265. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +1204 -1472
  266. data/rbi/metronome_sdk/models.rbi +32 -0
  267. data/rbi/metronome_sdk/resources/v1/alerts.rbi +3 -0
  268. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +2 -6
  269. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +4 -4
  270. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +1 -4
  271. data/rbi/metronome_sdk/resources/v1/contracts.rbi +10 -4
  272. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +4 -0
  273. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +6 -4
  274. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +1 -1
  275. data/rbi/metronome_sdk/resources/v1/customers.rbi +34 -3
  276. data/rbi/metronome_sdk/resources/v1/usage.rbi +17 -0
  277. data/rbi/metronome_sdk/resources/v2/contracts.rbi +24 -14
  278. data/sig/metronome_sdk/errors.rbs +9 -0
  279. data/sig/metronome_sdk/internal/type/converter.rbs +7 -1
  280. data/sig/metronome_sdk/models/base_usage_filter.rbs +28 -0
  281. data/sig/metronome_sdk/models/commit.rbs +1020 -0
  282. data/sig/metronome_sdk/models/contract_without_amendments.rbs +1582 -0
  283. data/sig/metronome_sdk/models/credit.rbs +643 -0
  284. data/sig/metronome_sdk/models/credit_type_data.rbs +15 -0
  285. data/sig/metronome_sdk/models/discount.rbs +63 -0
  286. data/sig/metronome_sdk/models/event_type_filter.rbs +26 -0
  287. data/sig/metronome_sdk/models/id.rbs +13 -0
  288. data/sig/metronome_sdk/models/override.rbs +399 -0
  289. data/sig/metronome_sdk/models/pro_service.rbs +61 -0
  290. data/sig/metronome_sdk/models/property_filter.rbs +41 -0
  291. data/sig/metronome_sdk/models/rate.rbs +94 -0
  292. data/sig/metronome_sdk/models/schedule_duration.rbs +56 -0
  293. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +75 -0
  294. data/sig/metronome_sdk/models/scheduled_charge.rbs +70 -0
  295. data/sig/metronome_sdk/models/tier.rbs +17 -0
  296. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +4 -19
  297. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +4 -19
  298. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +4 -12
  299. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +4 -19
  300. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +12 -73
  301. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +4 -19
  302. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +12 -73
  303. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +12 -73
  304. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +291 -24
  305. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +4 -19
  306. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +4 -19
  307. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +4 -1291
  308. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +448 -84
  309. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +4 -19
  310. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +1 -1642
  311. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +188 -10437
  312. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +15 -271
  313. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +188 -10437
  314. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +4 -1291
  315. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +4 -19
  316. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +4 -21
  317. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +8 -82
  318. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +4 -21
  319. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +121 -0
  320. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +16 -466
  321. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +4 -12
  322. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +16 -466
  323. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +8 -82
  324. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +4 -21
  325. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +47 -0
  326. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +41 -0
  327. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +4 -12
  328. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +4 -21
  329. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +4 -21
  330. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +10 -34
  331. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +4 -12
  332. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +10 -144
  333. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +10 -34
  334. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +4 -21
  335. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +4 -21
  336. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +4 -21
  337. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +12 -40
  338. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +4 -21
  339. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +12 -40
  340. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +18 -58
  341. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +10 -144
  342. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +2 -66
  343. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +4 -19
  344. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +4 -19
  345. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +20 -0
  346. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +12 -118
  347. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +16 -140
  348. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +4 -19
  349. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +52 -0
  350. data/sig/metronome_sdk/models/v1/customer.rbs +44 -0
  351. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +4 -12
  352. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +4 -19
  353. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +4 -48
  354. data/sig/metronome_sdk/models/v1/{customer_list_response.rbs → customer_detail.rbs} +17 -17
  355. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +12 -73
  356. data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +105 -0
  357. data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +16 -0
  358. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +4 -112
  359. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +4 -48
  360. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +4 -243
  361. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +4 -247
  362. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +7 -0
  363. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +4 -21
  364. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +4 -1057
  365. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +4 -21
  366. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +4 -21
  367. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +4 -596
  368. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +4 -21
  369. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +234 -0
  370. data/sig/metronome_sdk/models/v1/customers/{invoice_list_response.rbs → invoice.rbs} +147 -305
  371. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +8 -1278
  372. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +4 -1294
  373. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +4 -19
  374. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +4 -16
  375. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +2 -1
  376. data/sig/metronome_sdk/models/v1/plan_detail.rbs +203 -0
  377. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +4 -267
  378. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +4 -16
  379. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +4 -108
  380. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +37 -0
  381. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +37 -0
  382. data/sig/metronome_sdk/models/v1/usage_search_params.rbs +26 -0
  383. data/sig/metronome_sdk/models/v1/usage_search_response.rbs +230 -0
  384. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +4 -8
  385. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +4 -19
  386. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +4 -8
  387. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +4 -19
  388. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +743 -77
  389. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +4 -19
  390. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +274 -665
  391. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +567 -759
  392. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +567 -759
  393. data/sig/metronome_sdk/models.rbs +32 -0
  394. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +2 -2
  395. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +4 -4
  396. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  397. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -1
  398. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -0
  399. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -1
  400. data/sig/metronome_sdk/resources/v1/customers.rbs +9 -1
  401. data/sig/metronome_sdk/resources/v1/usage.rbs +5 -0
  402. data/sig/metronome_sdk/resources/v2/contracts.rbs +3 -2
  403. metadata +95 -8
@@ -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