metronome-sdk 0.3.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (308) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -0
  3. data/README.md +9 -9
  4. data/lib/metronome_sdk/internal/body_cursor_page.rb +86 -0
  5. data/lib/metronome_sdk/internal/cursor_page_without_limit.rb +86 -0
  6. data/lib/metronome_sdk/internal/transport/base_client.rb +1 -4
  7. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +1 -9
  8. data/lib/metronome_sdk/internal/type/base_model.rb +6 -13
  9. data/lib/metronome_sdk/internal/type/union.rb +11 -0
  10. data/lib/metronome_sdk/internal/util.rb +1 -1
  11. data/lib/metronome_sdk/models/base_threshold_commit.rb +36 -0
  12. data/lib/metronome_sdk/models/commit.rb +26 -170
  13. data/lib/metronome_sdk/models/commit_hierarchy_configuration.rb +98 -0
  14. data/lib/metronome_sdk/models/commit_rate.rb +48 -0
  15. data/lib/metronome_sdk/models/commit_specifier.rb +42 -0
  16. data/lib/metronome_sdk/models/commit_specifier_input.rb +42 -0
  17. data/lib/metronome_sdk/models/contract.rb +404 -0
  18. data/lib/metronome_sdk/models/contract_v2.rb +2919 -0
  19. data/lib/metronome_sdk/models/contract_without_amendments.rb +36 -1126
  20. data/lib/metronome_sdk/models/credit.rb +9 -156
  21. data/lib/metronome_sdk/models/discount.rb +2 -1
  22. data/lib/metronome_sdk/models/hierarchy_configuration.rb +76 -0
  23. data/lib/metronome_sdk/models/override.rb +6 -101
  24. data/lib/metronome_sdk/models/override_tier.rb +21 -0
  25. data/lib/metronome_sdk/models/overwrite_rate.rb +82 -0
  26. data/lib/metronome_sdk/models/payment_gate_config.rb +149 -0
  27. data/lib/metronome_sdk/models/payment_gate_config_v2.rb +149 -0
  28. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +100 -0
  29. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +102 -0
  30. data/lib/metronome_sdk/models/pro_service.rb +2 -1
  31. data/lib/metronome_sdk/models/recurring_commit_subscription_config.rb +51 -0
  32. data/lib/metronome_sdk/models/scheduled_charge.rb +2 -1
  33. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +44 -0
  34. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +44 -0
  35. data/lib/metronome_sdk/models/subscription.rb +227 -0
  36. data/lib/metronome_sdk/models/update_base_threshold_commit.rb +36 -0
  37. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -6
  38. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +1 -2
  39. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +3 -3
  40. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +4 -7
  41. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +57 -411
  42. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +7 -16
  43. data/lib/metronome_sdk/models/v1/contract_create_params.rb +236 -1478
  44. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +6 -23
  45. data/lib/metronome_sdk/models/v1/contract_list_response.rb +3 -1153
  46. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +2 -6
  47. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +5 -50
  48. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +3 -1154
  49. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +1 -3
  50. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +2 -1
  51. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +8 -1
  52. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +8 -1
  53. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +1 -4
  54. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +4 -7
  55. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +10 -1
  56. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +2 -6
  57. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +5 -50
  58. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +10 -1
  59. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +1 -3
  60. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +1 -3
  61. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -61
  62. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +3 -49
  63. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +4 -51
  64. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +2 -6
  65. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +5 -49
  66. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +103 -123
  67. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +3 -5
  68. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +1 -3
  69. data/lib/metronome_sdk/models/v1/custom_field_list_keys_response.rb +41 -58
  70. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +5 -1
  71. data/lib/metronome_sdk/models/v1/customer.rb +2 -1
  72. data/lib/metronome_sdk/models/v1/customer_create_params.rb +37 -11
  73. data/lib/metronome_sdk/models/v1/customer_detail.rb +2 -1
  74. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +3 -3
  75. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +1 -3
  76. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rb +28 -0
  77. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rb +128 -0
  78. data/lib/metronome_sdk/models/v1/customer_set_billing_configurations_params.rb +143 -0
  79. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +1 -3
  80. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +30 -1
  81. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +2 -0
  82. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +2 -0
  83. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +10 -60
  84. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +6 -48
  85. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +8 -16
  86. data/lib/metronome_sdk/models/v1/customers/invoice.rb +61 -48
  87. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +1 -4
  88. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +2 -6
  89. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +2 -1
  90. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +4 -11
  91. data/lib/metronome_sdk/models/v1/plan_detail.rb +9 -5
  92. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +2 -1
  93. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +2 -1
  94. data/lib/metronome_sdk/models/v1/plan_list_response.rb +5 -1
  95. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +1 -4
  96. data/lib/metronome_sdk/models/v1/usage_list_params.rb +1 -3
  97. data/lib/metronome_sdk/models/v1/usage_list_response.rb +45 -62
  98. data/lib/metronome_sdk/models/v1/usage_search_response.rb +4 -7
  99. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +29 -58
  100. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +26 -49
  101. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +414 -2310
  102. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +337 -2424
  103. data/lib/metronome_sdk/models/v2/contract_list_response.rb +3 -4520
  104. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +3 -4528
  105. data/lib/metronome_sdk/models.rb +38 -0
  106. data/lib/metronome_sdk/resources/v1/alerts.rb +72 -2
  107. data/lib/metronome_sdk/resources/v1/audit_logs.rb +39 -4
  108. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +54 -4
  109. data/lib/metronome_sdk/resources/v1/contracts/products.rb +25 -6
  110. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +7 -2
  111. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +10 -2
  112. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +109 -10
  113. data/lib/metronome_sdk/resources/v1/contracts.rb +254 -18
  114. data/lib/metronome_sdk/resources/v1/credit_grants.rb +2 -1
  115. data/lib/metronome_sdk/resources/v1/custom_fields.rb +51 -14
  116. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +103 -8
  117. data/lib/metronome_sdk/resources/v1/customers/commits.rb +119 -9
  118. data/lib/metronome_sdk/resources/v1/customers/credits.rb +104 -8
  119. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +124 -8
  120. data/lib/metronome_sdk/resources/v1/customers.rb +169 -12
  121. data/lib/metronome_sdk/resources/v1/dashboards.rb +29 -3
  122. data/lib/metronome_sdk/resources/v1/invoices.rb +23 -2
  123. data/lib/metronome_sdk/resources/v1/pricing_units.rb +6 -1
  124. data/lib/metronome_sdk/resources/v1/services.rb +6 -4
  125. data/lib/metronome_sdk/resources/v1/usage.rb +185 -12
  126. data/lib/metronome_sdk/resources/v2/contracts.rb +114 -18
  127. data/lib/metronome_sdk/version.rb +1 -1
  128. data/lib/metronome_sdk.rb +24 -3
  129. data/rbi/metronome_sdk/errors.rbi +2 -2
  130. data/rbi/metronome_sdk/internal/body_cursor_page.rbi +22 -0
  131. data/rbi/metronome_sdk/internal/cursor_page_without_limit.rbi +22 -0
  132. data/rbi/metronome_sdk/models/base_threshold_commit.rbi +58 -0
  133. data/rbi/metronome_sdk/models/commit.rbi +26 -348
  134. data/rbi/metronome_sdk/models/commit_hierarchy_configuration.rbi +280 -0
  135. data/rbi/metronome_sdk/models/commit_rate.rbi +85 -0
  136. data/rbi/metronome_sdk/models/commit_specifier.rbi +71 -0
  137. data/rbi/metronome_sdk/models/commit_specifier_input.rbi +74 -0
  138. data/rbi/metronome_sdk/models/contract.rbi +768 -0
  139. data/rbi/metronome_sdk/models/contract_v2.rbi +5822 -0
  140. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +184 -2507
  141. data/rbi/metronome_sdk/models/credit.rbi +10 -348
  142. data/rbi/metronome_sdk/models/discount.rbi +2 -0
  143. data/rbi/metronome_sdk/models/hierarchy_configuration.rbi +180 -0
  144. data/rbi/metronome_sdk/models/override.rbi +8 -193
  145. data/rbi/metronome_sdk/models/override_tier.rbi +29 -0
  146. data/rbi/metronome_sdk/models/overwrite_rate.rbi +137 -0
  147. data/rbi/metronome_sdk/models/payment_gate_config.rbi +312 -0
  148. data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +321 -0
  149. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +183 -0
  150. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +188 -0
  151. data/rbi/metronome_sdk/models/pro_service.rbi +2 -0
  152. data/rbi/metronome_sdk/models/recurring_commit_subscription_config.rbi +125 -0
  153. data/rbi/metronome_sdk/models/scheduled_charge.rbi +2 -0
  154. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +76 -0
  155. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -0
  156. data/rbi/metronome_sdk/models/subscription.rbi +460 -0
  157. data/rbi/metronome_sdk/models/update_base_threshold_commit.rbi +61 -0
  158. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -3
  159. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +2 -0
  160. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +2 -0
  161. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +44 -768
  162. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbi +2 -0
  163. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1550 -4079
  164. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +8 -59
  165. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +5 -2420
  166. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +6 -129
  167. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +4 -2419
  168. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +2 -0
  169. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +2 -0
  170. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +2 -0
  171. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_params.rbi +2 -0
  172. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +2 -0
  173. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +6 -129
  174. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +2 -0
  175. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +4 -129
  176. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +4 -129
  177. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +4 -129
  178. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +6 -129
  179. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +147 -198
  180. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +2 -0
  181. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +117 -165
  182. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +8 -1
  183. data/rbi/metronome_sdk/models/v1/customer.rbi +2 -0
  184. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +88 -3
  185. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +2 -0
  186. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +2 -0
  187. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbi +51 -0
  188. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbi +265 -0
  189. data/rbi/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbi +348 -0
  190. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +60 -0
  191. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +10 -0
  192. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +10 -0
  193. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +6 -90
  194. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +6 -90
  195. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +6 -3
  196. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +70 -10
  197. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +2 -0
  198. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +2 -0
  199. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +2 -0
  200. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +2 -0
  201. data/rbi/metronome_sdk/models/v1/plan_list_response.rbi +8 -1
  202. data/rbi/metronome_sdk/models/v1/usage_list_response.rbi +45 -86
  203. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +2 -0
  204. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +56 -76
  205. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +56 -76
  206. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +3419 -7270
  207. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1140 -6062
  208. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +5 -9867
  209. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +6 -9866
  210. data/rbi/metronome_sdk/models.rbi +44 -0
  211. data/rbi/metronome_sdk/resources/v1/alerts.rbi +72 -2
  212. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +39 -4
  213. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +54 -4
  214. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +25 -5
  215. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +7 -2
  216. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +10 -3
  217. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +109 -9
  218. data/rbi/metronome_sdk/resources/v1/contracts.rbi +257 -16
  219. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +5 -1
  220. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +57 -14
  221. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +108 -5
  222. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +119 -10
  223. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +104 -9
  224. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +123 -7
  225. data/rbi/metronome_sdk/resources/v1/customers.rbi +156 -11
  226. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +29 -3
  227. data/rbi/metronome_sdk/resources/v1/invoices.rbi +23 -2
  228. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +6 -1
  229. data/rbi/metronome_sdk/resources/v1/services.rbi +6 -4
  230. data/rbi/metronome_sdk/resources/v1/usage.rbi +188 -12
  231. data/rbi/metronome_sdk/resources/v2/contracts.rbi +120 -23
  232. data/sig/metronome_sdk/internal/body_cursor_page.rbs +13 -0
  233. data/sig/metronome_sdk/internal/cursor_page_without_limit.rbs +13 -0
  234. data/sig/metronome_sdk/models/base_threshold_commit.rbs +26 -0
  235. data/sig/metronome_sdk/models/commit.rbs +17 -170
  236. data/sig/metronome_sdk/models/commit_hierarchy_configuration.rbs +117 -0
  237. data/sig/metronome_sdk/models/commit_rate.rbs +48 -0
  238. data/sig/metronome_sdk/models/commit_specifier.rbs +47 -0
  239. data/sig/metronome_sdk/models/commit_specifier_input.rbs +47 -0
  240. data/sig/metronome_sdk/models/contract.rbs +398 -0
  241. data/sig/metronome_sdk/models/contract_v2.rbs +2881 -0
  242. data/sig/metronome_sdk/models/contract_without_amendments.rbs +54 -976
  243. data/sig/metronome_sdk/models/credit.rbs +12 -170
  244. data/sig/metronome_sdk/models/hierarchy_configuration.rbs +71 -0
  245. data/sig/metronome_sdk/models/override.rbs +12 -101
  246. data/sig/metronome_sdk/models/override_tier.rbs +17 -0
  247. data/sig/metronome_sdk/models/overwrite_rate.rbs +78 -0
  248. data/sig/metronome_sdk/models/payment_gate_config.rbs +123 -0
  249. data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +123 -0
  250. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +82 -0
  251. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +82 -0
  252. data/sig/metronome_sdk/models/recurring_commit_subscription_config.rbs +51 -0
  253. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +35 -0
  254. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +35 -0
  255. data/sig/metronome_sdk/models/subscription.rbs +215 -0
  256. data/sig/metronome_sdk/models/update_base_threshold_commit.rbs +28 -0
  257. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +4 -2
  258. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +24 -340
  259. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +168 -1219
  260. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +4 -25
  261. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +4 -1041
  262. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +6 -54
  263. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +4 -1041
  264. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +6 -54
  265. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +6 -54
  266. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +6 -54
  267. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +6 -54
  268. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +6 -54
  269. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +72 -94
  270. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +53 -75
  271. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +31 -4
  272. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbs +32 -0
  273. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbs +113 -0
  274. data/sig/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbs +133 -0
  275. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +21 -0
  276. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +7 -1
  277. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +6 -1
  278. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +6 -50
  279. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +6 -50
  280. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +4 -2
  281. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +33 -55
  282. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +19 -43
  283. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +19 -43
  284. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +361 -1917
  285. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +242 -2252
  286. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +4 -4426
  287. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +4 -4426
  288. data/sig/metronome_sdk/models.rbs +38 -0
  289. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  290. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -3
  291. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -1
  292. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +1 -1
  293. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +2 -1
  294. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +2 -2
  295. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +2 -2
  296. data/sig/metronome_sdk/resources/v1/customers.rbs +11 -0
  297. data/sig/metronome_sdk/resources/v1/usage.rbs +1 -1
  298. data/sig/metronome_sdk/resources/v2/contracts.rbs +7 -4
  299. metadata +74 -11
  300. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +0 -29
  301. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +0 -26
  302. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +0 -26
  303. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +0 -46
  304. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +0 -45
  305. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +0 -45
  306. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +0 -29
  307. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +0 -26
  308. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +0 -26
@@ -0,0 +1,117 @@
1
+ module MetronomeSDK
2
+ module Models
3
+ type commit_hierarchy_configuration =
4
+ {
5
+ child_access: MetronomeSDK::Models::CommitHierarchyConfiguration::child_access
6
+ }
7
+
8
+ class CommitHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
9
+ attr_accessor child_access: MetronomeSDK::Models::CommitHierarchyConfiguration::child_access
10
+
11
+ def initialize: (
12
+ child_access: MetronomeSDK::Models::CommitHierarchyConfiguration::child_access
13
+ ) -> void
14
+
15
+ def to_hash: -> {
16
+ child_access: MetronomeSDK::Models::CommitHierarchyConfiguration::child_access
17
+ }
18
+
19
+ type child_access =
20
+ MetronomeSDK::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
21
+ | MetronomeSDK::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
22
+ | MetronomeSDK::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
23
+
24
+ module ChildAccess
25
+ extend MetronomeSDK::Internal::Type::Union
26
+
27
+ type commit_hierarchy_child_access_all =
28
+ {
29
+ type: MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
30
+ }
31
+
32
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
33
+ attr_accessor type: MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
34
+
35
+ def initialize: (
36
+ type: MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
37
+ ) -> void
38
+
39
+ def to_hash: -> {
40
+ type: MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
41
+ }
42
+
43
+ type type_ = :ALL
44
+
45
+ module Type
46
+ extend MetronomeSDK::Internal::Type::Enum
47
+
48
+ ALL: :ALL
49
+
50
+ def self?.values: -> ::Array[MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_]
51
+ end
52
+ end
53
+
54
+ type commit_hierarchy_child_access_none =
55
+ {
56
+ type: MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
57
+ }
58
+
59
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
60
+ attr_accessor type: MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
61
+
62
+ def initialize: (
63
+ type: MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
64
+ ) -> void
65
+
66
+ def to_hash: -> {
67
+ type: MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
68
+ }
69
+
70
+ type type_ = :NONE
71
+
72
+ module Type
73
+ extend MetronomeSDK::Internal::Type::Enum
74
+
75
+ NONE: :NONE
76
+
77
+ def self?.values: -> ::Array[MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_]
78
+ end
79
+ end
80
+
81
+ type commit_hierarchy_child_access_contract_ids =
82
+ {
83
+ contract_ids: ::Array[String],
84
+ type: MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
85
+ }
86
+
87
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
88
+ attr_accessor contract_ids: ::Array[String]
89
+
90
+ attr_accessor type: MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
91
+
92
+ def initialize: (
93
+ contract_ids: ::Array[String],
94
+ type: MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
95
+ ) -> void
96
+
97
+ def to_hash: -> {
98
+ contract_ids: ::Array[String],
99
+ type: MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
100
+ }
101
+
102
+ type type_ = :CONTRACT_IDS
103
+
104
+ module Type
105
+ extend MetronomeSDK::Internal::Type::Enum
106
+
107
+ CONTRACT_IDS: :CONTRACT_IDS
108
+
109
+ def self?.values: -> ::Array[MetronomeSDK::Models::CommitHierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_]
110
+ end
111
+ end
112
+
113
+ def self?.variants: -> ::Array[MetronomeSDK::Models::CommitHierarchyConfiguration::child_access]
114
+ end
115
+ end
116
+ end
117
+ end
@@ -0,0 +1,48 @@
1
+ module MetronomeSDK
2
+ module Models
3
+ type commit_rate =
4
+ {
5
+ rate_type: MetronomeSDK::Models::CommitRate::rate_type,
6
+ price: Float,
7
+ tiers: ::Array[MetronomeSDK::Tier]
8
+ }
9
+
10
+ class CommitRate < MetronomeSDK::Internal::Type::BaseModel
11
+ attr_accessor rate_type: MetronomeSDK::Models::CommitRate::rate_type
12
+
13
+ attr_reader price: Float?
14
+
15
+ def price=: (Float) -> Float
16
+
17
+ attr_reader tiers: ::Array[MetronomeSDK::Tier]?
18
+
19
+ def tiers=: (::Array[MetronomeSDK::Tier]) -> ::Array[MetronomeSDK::Tier]
20
+
21
+ def initialize: (
22
+ rate_type: MetronomeSDK::Models::CommitRate::rate_type,
23
+ ?price: Float,
24
+ ?tiers: ::Array[MetronomeSDK::Tier]
25
+ ) -> void
26
+
27
+ def to_hash: -> {
28
+ rate_type: MetronomeSDK::Models::CommitRate::rate_type,
29
+ price: Float,
30
+ tiers: ::Array[MetronomeSDK::Tier]
31
+ }
32
+
33
+ type rate_type = :FLAT | :PERCENTAGE | :SUBSCRIPTION | :TIERED | :CUSTOM
34
+
35
+ module RateType
36
+ extend MetronomeSDK::Internal::Type::Enum
37
+
38
+ FLAT: :FLAT
39
+ PERCENTAGE: :PERCENTAGE
40
+ SUBSCRIPTION: :SUBSCRIPTION
41
+ TIERED: :TIERED
42
+ CUSTOM: :CUSTOM
43
+
44
+ def self?.values: -> ::Array[MetronomeSDK::Models::CommitRate::rate_type]
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,47 @@
1
+ module MetronomeSDK
2
+ module Models
3
+ type commit_specifier =
4
+ {
5
+ presentation_group_values: ::Hash[Symbol, String],
6
+ pricing_group_values: ::Hash[Symbol, String],
7
+ product_id: String,
8
+ product_tags: ::Array[String]
9
+ }
10
+
11
+ class CommitSpecifier < MetronomeSDK::Internal::Type::BaseModel
12
+ attr_reader presentation_group_values: ::Hash[Symbol, String]?
13
+
14
+ def presentation_group_values=: (
15
+ ::Hash[Symbol, String]
16
+ ) -> ::Hash[Symbol, String]
17
+
18
+ attr_reader pricing_group_values: ::Hash[Symbol, String]?
19
+
20
+ def pricing_group_values=: (
21
+ ::Hash[Symbol, String]
22
+ ) -> ::Hash[Symbol, String]
23
+
24
+ attr_reader product_id: String?
25
+
26
+ def product_id=: (String) -> String
27
+
28
+ attr_reader product_tags: ::Array[String]?
29
+
30
+ def product_tags=: (::Array[String]) -> ::Array[String]
31
+
32
+ def initialize: (
33
+ ?presentation_group_values: ::Hash[Symbol, String],
34
+ ?pricing_group_values: ::Hash[Symbol, String],
35
+ ?product_id: String,
36
+ ?product_tags: ::Array[String]
37
+ ) -> void
38
+
39
+ def to_hash: -> {
40
+ presentation_group_values: ::Hash[Symbol, String],
41
+ pricing_group_values: ::Hash[Symbol, String],
42
+ product_id: String,
43
+ product_tags: ::Array[String]
44
+ }
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,47 @@
1
+ module MetronomeSDK
2
+ module Models
3
+ type commit_specifier_input =
4
+ {
5
+ presentation_group_values: ::Hash[Symbol, String],
6
+ pricing_group_values: ::Hash[Symbol, String],
7
+ product_id: String,
8
+ product_tags: ::Array[String]
9
+ }
10
+
11
+ class CommitSpecifierInput < MetronomeSDK::Internal::Type::BaseModel
12
+ attr_reader presentation_group_values: ::Hash[Symbol, String]?
13
+
14
+ def presentation_group_values=: (
15
+ ::Hash[Symbol, String]
16
+ ) -> ::Hash[Symbol, String]
17
+
18
+ attr_reader pricing_group_values: ::Hash[Symbol, String]?
19
+
20
+ def pricing_group_values=: (
21
+ ::Hash[Symbol, String]
22
+ ) -> ::Hash[Symbol, String]
23
+
24
+ attr_reader product_id: String?
25
+
26
+ def product_id=: (String) -> String
27
+
28
+ attr_reader product_tags: ::Array[String]?
29
+
30
+ def product_tags=: (::Array[String]) -> ::Array[String]
31
+
32
+ def initialize: (
33
+ ?presentation_group_values: ::Hash[Symbol, String],
34
+ ?pricing_group_values: ::Hash[Symbol, String],
35
+ ?product_id: String,
36
+ ?product_tags: ::Array[String]
37
+ ) -> void
38
+
39
+ def to_hash: -> {
40
+ presentation_group_values: ::Hash[Symbol, String],
41
+ pricing_group_values: ::Hash[Symbol, String],
42
+ product_id: String,
43
+ product_tags: ::Array[String]
44
+ }
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,398 @@
1
+ module MetronomeSDK
2
+ module Models
3
+ type contract =
4
+ {
5
+ id: String,
6
+ amendments: ::Array[MetronomeSDK::Contract::Amendment],
7
+ current: MetronomeSDK::ContractWithoutAmendments,
8
+ customer_id: String,
9
+ initial: MetronomeSDK::ContractWithoutAmendments,
10
+ archived_at: Time,
11
+ custom_fields: ::Hash[Symbol, String],
12
+ customer_billing_provider_configuration: MetronomeSDK::Contract::CustomerBillingProviderConfiguration,
13
+ prepaid_balance_threshold_configuration: MetronomeSDK::PrepaidBalanceThresholdConfiguration,
14
+ priority: Float,
15
+ scheduled_charges_on_usage_invoices: MetronomeSDK::Models::Contract::scheduled_charges_on_usage_invoices,
16
+ spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
17
+ subscriptions: ::Array[MetronomeSDK::Subscription],
18
+ uniqueness_key: String
19
+ }
20
+
21
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
22
+ attr_accessor id: String
23
+
24
+ attr_accessor amendments: ::Array[MetronomeSDK::Contract::Amendment]
25
+
26
+ attr_accessor current: MetronomeSDK::ContractWithoutAmendments
27
+
28
+ attr_accessor customer_id: String
29
+
30
+ attr_accessor initial: MetronomeSDK::ContractWithoutAmendments
31
+
32
+ attr_reader archived_at: Time?
33
+
34
+ def archived_at=: (Time) -> Time
35
+
36
+ attr_reader custom_fields: ::Hash[Symbol, String]?
37
+
38
+ def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
39
+
40
+ attr_reader customer_billing_provider_configuration: MetronomeSDK::Contract::CustomerBillingProviderConfiguration?
41
+
42
+ def customer_billing_provider_configuration=: (
43
+ MetronomeSDK::Contract::CustomerBillingProviderConfiguration
44
+ ) -> MetronomeSDK::Contract::CustomerBillingProviderConfiguration
45
+
46
+ attr_reader prepaid_balance_threshold_configuration: MetronomeSDK::PrepaidBalanceThresholdConfiguration?
47
+
48
+ def prepaid_balance_threshold_configuration=: (
49
+ MetronomeSDK::PrepaidBalanceThresholdConfiguration
50
+ ) -> MetronomeSDK::PrepaidBalanceThresholdConfiguration
51
+
52
+ attr_reader priority: Float?
53
+
54
+ def priority=: (Float) -> Float
55
+
56
+ attr_reader scheduled_charges_on_usage_invoices: MetronomeSDK::Models::Contract::scheduled_charges_on_usage_invoices?
57
+
58
+ def scheduled_charges_on_usage_invoices=: (
59
+ MetronomeSDK::Models::Contract::scheduled_charges_on_usage_invoices
60
+ ) -> MetronomeSDK::Models::Contract::scheduled_charges_on_usage_invoices
61
+
62
+ attr_reader spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration?
63
+
64
+ def spend_threshold_configuration=: (
65
+ MetronomeSDK::SpendThresholdConfiguration
66
+ ) -> MetronomeSDK::SpendThresholdConfiguration
67
+
68
+ attr_reader subscriptions: ::Array[MetronomeSDK::Subscription]?
69
+
70
+ def subscriptions=: (
71
+ ::Array[MetronomeSDK::Subscription]
72
+ ) -> ::Array[MetronomeSDK::Subscription]
73
+
74
+ attr_reader uniqueness_key: String?
75
+
76
+ def uniqueness_key=: (String) -> String
77
+
78
+ def initialize: (
79
+ id: String,
80
+ amendments: ::Array[MetronomeSDK::Contract::Amendment],
81
+ current: MetronomeSDK::ContractWithoutAmendments,
82
+ customer_id: String,
83
+ initial: MetronomeSDK::ContractWithoutAmendments,
84
+ ?archived_at: Time,
85
+ ?custom_fields: ::Hash[Symbol, String],
86
+ ?customer_billing_provider_configuration: MetronomeSDK::Contract::CustomerBillingProviderConfiguration,
87
+ ?prepaid_balance_threshold_configuration: MetronomeSDK::PrepaidBalanceThresholdConfiguration,
88
+ ?priority: Float,
89
+ ?scheduled_charges_on_usage_invoices: MetronomeSDK::Models::Contract::scheduled_charges_on_usage_invoices,
90
+ ?spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
91
+ ?subscriptions: ::Array[MetronomeSDK::Subscription],
92
+ ?uniqueness_key: String
93
+ ) -> void
94
+
95
+ def to_hash: -> {
96
+ id: String,
97
+ amendments: ::Array[MetronomeSDK::Contract::Amendment],
98
+ current: MetronomeSDK::ContractWithoutAmendments,
99
+ customer_id: String,
100
+ initial: MetronomeSDK::ContractWithoutAmendments,
101
+ archived_at: Time,
102
+ custom_fields: ::Hash[Symbol, String],
103
+ customer_billing_provider_configuration: MetronomeSDK::Contract::CustomerBillingProviderConfiguration,
104
+ prepaid_balance_threshold_configuration: MetronomeSDK::PrepaidBalanceThresholdConfiguration,
105
+ priority: Float,
106
+ scheduled_charges_on_usage_invoices: MetronomeSDK::Models::Contract::scheduled_charges_on_usage_invoices,
107
+ spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
108
+ subscriptions: ::Array[MetronomeSDK::Subscription],
109
+ uniqueness_key: String
110
+ }
111
+
112
+ type amendment =
113
+ {
114
+ id: String,
115
+ commits: ::Array[MetronomeSDK::Commit],
116
+ created_at: Time,
117
+ created_by: String,
118
+ overrides: ::Array[MetronomeSDK::Override],
119
+ scheduled_charges: ::Array[MetronomeSDK::ScheduledCharge],
120
+ starting_at: Time,
121
+ credits: ::Array[MetronomeSDK::Credit],
122
+ discounts: ::Array[MetronomeSDK::Discount],
123
+ netsuite_sales_order_id: String,
124
+ professional_services: ::Array[MetronomeSDK::ProService],
125
+ reseller_royalties: ::Array[MetronomeSDK::Contract::Amendment::ResellerRoyalty],
126
+ salesforce_opportunity_id: String
127
+ }
128
+
129
+ class Amendment < MetronomeSDK::Internal::Type::BaseModel
130
+ attr_accessor id: String
131
+
132
+ attr_accessor commits: ::Array[MetronomeSDK::Commit]
133
+
134
+ attr_accessor created_at: Time
135
+
136
+ attr_accessor created_by: String
137
+
138
+ attr_accessor overrides: ::Array[MetronomeSDK::Override]
139
+
140
+ attr_accessor scheduled_charges: ::Array[MetronomeSDK::ScheduledCharge]
141
+
142
+ attr_accessor starting_at: Time
143
+
144
+ attr_reader credits: ::Array[MetronomeSDK::Credit]?
145
+
146
+ def credits=: (
147
+ ::Array[MetronomeSDK::Credit]
148
+ ) -> ::Array[MetronomeSDK::Credit]
149
+
150
+ attr_reader discounts: ::Array[MetronomeSDK::Discount]?
151
+
152
+ def discounts=: (
153
+ ::Array[MetronomeSDK::Discount]
154
+ ) -> ::Array[MetronomeSDK::Discount]
155
+
156
+ attr_reader netsuite_sales_order_id: String?
157
+
158
+ def netsuite_sales_order_id=: (String) -> String
159
+
160
+ attr_reader professional_services: ::Array[MetronomeSDK::ProService]?
161
+
162
+ def professional_services=: (
163
+ ::Array[MetronomeSDK::ProService]
164
+ ) -> ::Array[MetronomeSDK::ProService]
165
+
166
+ attr_reader reseller_royalties: ::Array[MetronomeSDK::Contract::Amendment::ResellerRoyalty]?
167
+
168
+ def reseller_royalties=: (
169
+ ::Array[MetronomeSDK::Contract::Amendment::ResellerRoyalty]
170
+ ) -> ::Array[MetronomeSDK::Contract::Amendment::ResellerRoyalty]
171
+
172
+ attr_reader salesforce_opportunity_id: String?
173
+
174
+ def salesforce_opportunity_id=: (String) -> String
175
+
176
+ def initialize: (
177
+ id: String,
178
+ commits: ::Array[MetronomeSDK::Commit],
179
+ created_at: Time,
180
+ created_by: String,
181
+ overrides: ::Array[MetronomeSDK::Override],
182
+ scheduled_charges: ::Array[MetronomeSDK::ScheduledCharge],
183
+ starting_at: Time,
184
+ ?credits: ::Array[MetronomeSDK::Credit],
185
+ ?discounts: ::Array[MetronomeSDK::Discount],
186
+ ?netsuite_sales_order_id: String,
187
+ ?professional_services: ::Array[MetronomeSDK::ProService],
188
+ ?reseller_royalties: ::Array[MetronomeSDK::Contract::Amendment::ResellerRoyalty],
189
+ ?salesforce_opportunity_id: String
190
+ ) -> void
191
+
192
+ def to_hash: -> {
193
+ id: String,
194
+ commits: ::Array[MetronomeSDK::Commit],
195
+ created_at: Time,
196
+ created_by: String,
197
+ overrides: ::Array[MetronomeSDK::Override],
198
+ scheduled_charges: ::Array[MetronomeSDK::ScheduledCharge],
199
+ starting_at: Time,
200
+ credits: ::Array[MetronomeSDK::Credit],
201
+ discounts: ::Array[MetronomeSDK::Discount],
202
+ netsuite_sales_order_id: String,
203
+ professional_services: ::Array[MetronomeSDK::ProService],
204
+ reseller_royalties: ::Array[MetronomeSDK::Contract::Amendment::ResellerRoyalty],
205
+ salesforce_opportunity_id: String
206
+ }
207
+
208
+ type reseller_royalty =
209
+ {
210
+ reseller_type: MetronomeSDK::Models::Contract::Amendment::ResellerRoyalty::reseller_type,
211
+ aws_account_number: String,
212
+ aws_offer_id: String,
213
+ aws_payer_reference_id: String,
214
+ ending_before: Time?,
215
+ fraction: Float,
216
+ gcp_account_id: String,
217
+ gcp_offer_id: String,
218
+ netsuite_reseller_id: String,
219
+ reseller_contract_value: Float,
220
+ starting_at: Time
221
+ }
222
+
223
+ class ResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
224
+ attr_accessor reseller_type: MetronomeSDK::Models::Contract::Amendment::ResellerRoyalty::reseller_type
225
+
226
+ attr_reader aws_account_number: String?
227
+
228
+ def aws_account_number=: (String) -> String
229
+
230
+ attr_reader aws_offer_id: String?
231
+
232
+ def aws_offer_id=: (String) -> String
233
+
234
+ attr_reader aws_payer_reference_id: String?
235
+
236
+ def aws_payer_reference_id=: (String) -> String
237
+
238
+ attr_accessor ending_before: Time?
239
+
240
+ attr_reader fraction: Float?
241
+
242
+ def fraction=: (Float) -> Float
243
+
244
+ attr_reader gcp_account_id: String?
245
+
246
+ def gcp_account_id=: (String) -> String
247
+
248
+ attr_reader gcp_offer_id: String?
249
+
250
+ def gcp_offer_id=: (String) -> String
251
+
252
+ attr_reader netsuite_reseller_id: String?
253
+
254
+ def netsuite_reseller_id=: (String) -> String
255
+
256
+ attr_reader reseller_contract_value: Float?
257
+
258
+ def reseller_contract_value=: (Float) -> Float
259
+
260
+ attr_reader starting_at: Time?
261
+
262
+ def starting_at=: (Time) -> Time
263
+
264
+ def initialize: (
265
+ reseller_type: MetronomeSDK::Models::Contract::Amendment::ResellerRoyalty::reseller_type,
266
+ ?aws_account_number: String,
267
+ ?aws_offer_id: String,
268
+ ?aws_payer_reference_id: String,
269
+ ?ending_before: Time?,
270
+ ?fraction: Float,
271
+ ?gcp_account_id: String,
272
+ ?gcp_offer_id: String,
273
+ ?netsuite_reseller_id: String,
274
+ ?reseller_contract_value: Float,
275
+ ?starting_at: Time
276
+ ) -> void
277
+
278
+ def to_hash: -> {
279
+ reseller_type: MetronomeSDK::Models::Contract::Amendment::ResellerRoyalty::reseller_type,
280
+ aws_account_number: String,
281
+ aws_offer_id: String,
282
+ aws_payer_reference_id: String,
283
+ ending_before: Time?,
284
+ fraction: Float,
285
+ gcp_account_id: String,
286
+ gcp_offer_id: String,
287
+ netsuite_reseller_id: String,
288
+ reseller_contract_value: Float,
289
+ starting_at: Time
290
+ }
291
+
292
+ type reseller_type = :AWS | :AWS_PRO_SERVICE | :GCP | :GCP_PRO_SERVICE
293
+
294
+ module ResellerType
295
+ extend MetronomeSDK::Internal::Type::Enum
296
+
297
+ AWS: :AWS
298
+ AWS_PRO_SERVICE: :AWS_PRO_SERVICE
299
+ GCP: :GCP
300
+ GCP_PRO_SERVICE: :GCP_PRO_SERVICE
301
+
302
+ def self?.values: -> ::Array[MetronomeSDK::Models::Contract::Amendment::ResellerRoyalty::reseller_type]
303
+ end
304
+ end
305
+ end
306
+
307
+ type customer_billing_provider_configuration =
308
+ {
309
+ archived_at: Time?,
310
+ billing_provider: MetronomeSDK::Models::Contract::CustomerBillingProviderConfiguration::billing_provider,
311
+ delivery_method: MetronomeSDK::Models::Contract::CustomerBillingProviderConfiguration::delivery_method,
312
+ id: String,
313
+ configuration: ::Hash[Symbol, top]
314
+ }
315
+
316
+ class CustomerBillingProviderConfiguration < MetronomeSDK::Internal::Type::BaseModel
317
+ attr_accessor archived_at: Time?
318
+
319
+ attr_accessor billing_provider: MetronomeSDK::Models::Contract::CustomerBillingProviderConfiguration::billing_provider
320
+
321
+ attr_accessor delivery_method: MetronomeSDK::Models::Contract::CustomerBillingProviderConfiguration::delivery_method
322
+
323
+ attr_reader id: String?
324
+
325
+ def id=: (String) -> String
326
+
327
+ attr_reader configuration: ::Hash[Symbol, top]?
328
+
329
+ def configuration=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
330
+
331
+ def initialize: (
332
+ archived_at: Time?,
333
+ billing_provider: MetronomeSDK::Models::Contract::CustomerBillingProviderConfiguration::billing_provider,
334
+ delivery_method: MetronomeSDK::Models::Contract::CustomerBillingProviderConfiguration::delivery_method,
335
+ ?id: String,
336
+ ?configuration: ::Hash[Symbol, top]
337
+ ) -> void
338
+
339
+ def to_hash: -> {
340
+ archived_at: Time?,
341
+ billing_provider: MetronomeSDK::Models::Contract::CustomerBillingProviderConfiguration::billing_provider,
342
+ delivery_method: MetronomeSDK::Models::Contract::CustomerBillingProviderConfiguration::delivery_method,
343
+ id: String,
344
+ configuration: ::Hash[Symbol, top]
345
+ }
346
+
347
+ type billing_provider =
348
+ :aws_marketplace
349
+ | :stripe
350
+ | :netsuite
351
+ | :custom
352
+ | :azure_marketplace
353
+ | :quickbooks_online
354
+ | :workday
355
+ | :gcp_marketplace
356
+
357
+ module BillingProvider
358
+ extend MetronomeSDK::Internal::Type::Enum
359
+
360
+ AWS_MARKETPLACE: :aws_marketplace
361
+ STRIPE: :stripe
362
+ NETSUITE: :netsuite
363
+ CUSTOM: :custom
364
+ AZURE_MARKETPLACE: :azure_marketplace
365
+ QUICKBOOKS_ONLINE: :quickbooks_online
366
+ WORKDAY: :workday
367
+ GCP_MARKETPLACE: :gcp_marketplace
368
+
369
+ def self?.values: -> ::Array[MetronomeSDK::Models::Contract::CustomerBillingProviderConfiguration::billing_provider]
370
+ end
371
+
372
+ type delivery_method =
373
+ :direct_to_billing_provider | :aws_sqs | :tackle | :aws_sns
374
+
375
+ module DeliveryMethod
376
+ extend MetronomeSDK::Internal::Type::Enum
377
+
378
+ DIRECT_TO_BILLING_PROVIDER: :direct_to_billing_provider
379
+ AWS_SQS: :aws_sqs
380
+ TACKLE: :tackle
381
+ AWS_SNS: :aws_sns
382
+
383
+ def self?.values: -> ::Array[MetronomeSDK::Models::Contract::CustomerBillingProviderConfiguration::delivery_method]
384
+ end
385
+ end
386
+
387
+ type scheduled_charges_on_usage_invoices = :ALL
388
+
389
+ module ScheduledChargesOnUsageInvoices
390
+ extend MetronomeSDK::Internal::Type::Enum
391
+
392
+ ALL: :ALL
393
+
394
+ def self?.values: -> ::Array[MetronomeSDK::Models::Contract::scheduled_charges_on_usage_invoices]
395
+ end
396
+ end
397
+ end
398
+ end