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

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