metronome-sdk 0.2.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 (321) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +61 -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/array_of.rb +1 -0
  9. data/lib/metronome_sdk/internal/type/base_model.rb +9 -14
  10. data/lib/metronome_sdk/internal/type/converter.rb +27 -0
  11. data/lib/metronome_sdk/internal/type/hash_of.rb +1 -0
  12. data/lib/metronome_sdk/internal/type/union.rb +20 -7
  13. data/lib/metronome_sdk/internal/util.rb +1 -1
  14. data/lib/metronome_sdk/models/base_threshold_commit.rb +36 -0
  15. data/lib/metronome_sdk/models/commit.rb +26 -170
  16. data/lib/metronome_sdk/models/commit_hierarchy_configuration.rb +98 -0
  17. data/lib/metronome_sdk/models/commit_rate.rb +48 -0
  18. data/lib/metronome_sdk/models/commit_specifier.rb +42 -0
  19. data/lib/metronome_sdk/models/commit_specifier_input.rb +42 -0
  20. data/lib/metronome_sdk/models/contract.rb +404 -0
  21. data/lib/metronome_sdk/models/contract_v2.rb +2919 -0
  22. data/lib/metronome_sdk/models/contract_without_amendments.rb +36 -1126
  23. data/lib/metronome_sdk/models/credit.rb +9 -156
  24. data/lib/metronome_sdk/models/discount.rb +2 -1
  25. data/lib/metronome_sdk/models/hierarchy_configuration.rb +76 -0
  26. data/lib/metronome_sdk/models/override.rb +6 -101
  27. data/lib/metronome_sdk/models/override_tier.rb +21 -0
  28. data/lib/metronome_sdk/models/overwrite_rate.rb +82 -0
  29. data/lib/metronome_sdk/models/payment_gate_config.rb +149 -0
  30. data/lib/metronome_sdk/models/payment_gate_config_v2.rb +149 -0
  31. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +100 -0
  32. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +102 -0
  33. data/lib/metronome_sdk/models/pro_service.rb +2 -1
  34. data/lib/metronome_sdk/models/recurring_commit_subscription_config.rb +51 -0
  35. data/lib/metronome_sdk/models/schedule_point_in_time.rb +14 -1
  36. data/lib/metronome_sdk/models/scheduled_charge.rb +2 -1
  37. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +44 -0
  38. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +44 -0
  39. data/lib/metronome_sdk/models/subscription.rb +227 -0
  40. data/lib/metronome_sdk/models/update_base_threshold_commit.rb +36 -0
  41. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -6
  42. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +1 -2
  43. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +3 -3
  44. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +4 -7
  45. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +110 -415
  46. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +7 -16
  47. data/lib/metronome_sdk/models/v1/contract_create_params.rb +287 -1480
  48. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +6 -23
  49. data/lib/metronome_sdk/models/v1/contract_list_response.rb +3 -1153
  50. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +2 -6
  51. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +5 -50
  52. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +3 -1154
  53. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +1 -3
  54. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +9 -1
  55. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +8 -1
  56. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +8 -1
  57. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +1 -4
  58. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +4 -7
  59. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +10 -1
  60. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +2 -6
  61. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +5 -50
  62. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +10 -1
  63. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +1 -3
  64. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +1 -3
  65. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -61
  66. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +3 -49
  67. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +4 -51
  68. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +2 -6
  69. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +5 -49
  70. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +103 -123
  71. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +3 -5
  72. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +1 -3
  73. data/lib/metronome_sdk/models/v1/custom_field_list_keys_response.rb +41 -58
  74. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +5 -1
  75. data/lib/metronome_sdk/models/v1/customer.rb +2 -1
  76. data/lib/metronome_sdk/models/v1/customer_create_params.rb +37 -11
  77. data/lib/metronome_sdk/models/v1/customer_detail.rb +2 -1
  78. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +3 -3
  79. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +1 -3
  80. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rb +28 -0
  81. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rb +128 -0
  82. data/lib/metronome_sdk/models/v1/customer_set_billing_configurations_params.rb +143 -0
  83. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +1 -3
  84. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +30 -1
  85. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +2 -0
  86. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +2 -0
  87. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +20 -61
  88. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +6 -48
  89. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +8 -16
  90. data/lib/metronome_sdk/models/v1/customers/invoice.rb +68 -43
  91. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +1 -4
  92. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +2 -6
  93. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +2 -1
  94. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +4 -11
  95. data/lib/metronome_sdk/models/v1/plan_detail.rb +9 -5
  96. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +2 -1
  97. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +2 -1
  98. data/lib/metronome_sdk/models/v1/plan_list_response.rb +5 -1
  99. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +1 -4
  100. data/lib/metronome_sdk/models/v1/usage_list_params.rb +1 -3
  101. data/lib/metronome_sdk/models/v1/usage_list_response.rb +45 -62
  102. data/lib/metronome_sdk/models/v1/usage_search_response.rb +4 -7
  103. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +38 -58
  104. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +35 -49
  105. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +469 -2302
  106. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +358 -2414
  107. data/lib/metronome_sdk/models/v2/contract_list_response.rb +3 -4520
  108. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +3 -4528
  109. data/lib/metronome_sdk/models.rb +38 -0
  110. data/lib/metronome_sdk/resources/v1/alerts.rb +72 -2
  111. data/lib/metronome_sdk/resources/v1/audit_logs.rb +39 -4
  112. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +54 -4
  113. data/lib/metronome_sdk/resources/v1/contracts/products.rb +27 -6
  114. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +7 -2
  115. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +10 -2
  116. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +109 -10
  117. data/lib/metronome_sdk/resources/v1/contracts.rb +254 -18
  118. data/lib/metronome_sdk/resources/v1/credit_grants.rb +2 -1
  119. data/lib/metronome_sdk/resources/v1/custom_fields.rb +51 -14
  120. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +103 -8
  121. data/lib/metronome_sdk/resources/v1/customers/commits.rb +119 -9
  122. data/lib/metronome_sdk/resources/v1/customers/credits.rb +104 -8
  123. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +124 -8
  124. data/lib/metronome_sdk/resources/v1/customers.rb +169 -12
  125. data/lib/metronome_sdk/resources/v1/dashboards.rb +29 -3
  126. data/lib/metronome_sdk/resources/v1/invoices.rb +23 -2
  127. data/lib/metronome_sdk/resources/v1/pricing_units.rb +6 -1
  128. data/lib/metronome_sdk/resources/v1/services.rb +6 -4
  129. data/lib/metronome_sdk/resources/v1/usage.rb +185 -12
  130. data/lib/metronome_sdk/resources/v2/contracts.rb +118 -18
  131. data/lib/metronome_sdk/version.rb +1 -1
  132. data/lib/metronome_sdk.rb +24 -3
  133. data/rbi/metronome_sdk/errors.rbi +2 -2
  134. data/rbi/metronome_sdk/internal/body_cursor_page.rbi +22 -0
  135. data/rbi/metronome_sdk/internal/cursor_page_without_limit.rbi +22 -0
  136. data/rbi/metronome_sdk/internal/type/converter.rbi +58 -0
  137. data/rbi/metronome_sdk/internal/type/union.rbi +9 -2
  138. data/rbi/metronome_sdk/models/base_threshold_commit.rbi +58 -0
  139. data/rbi/metronome_sdk/models/commit.rbi +26 -348
  140. data/rbi/metronome_sdk/models/commit_hierarchy_configuration.rbi +280 -0
  141. data/rbi/metronome_sdk/models/commit_rate.rbi +85 -0
  142. data/rbi/metronome_sdk/models/commit_specifier.rbi +71 -0
  143. data/rbi/metronome_sdk/models/commit_specifier_input.rbi +74 -0
  144. data/rbi/metronome_sdk/models/contract.rbi +768 -0
  145. data/rbi/metronome_sdk/models/contract_v2.rbi +5822 -0
  146. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +184 -2507
  147. data/rbi/metronome_sdk/models/credit.rbi +10 -348
  148. data/rbi/metronome_sdk/models/discount.rbi +2 -0
  149. data/rbi/metronome_sdk/models/hierarchy_configuration.rbi +180 -0
  150. data/rbi/metronome_sdk/models/override.rbi +8 -193
  151. data/rbi/metronome_sdk/models/override_tier.rbi +29 -0
  152. data/rbi/metronome_sdk/models/overwrite_rate.rbi +137 -0
  153. data/rbi/metronome_sdk/models/payment_gate_config.rbi +312 -0
  154. data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +321 -0
  155. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +183 -0
  156. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +188 -0
  157. data/rbi/metronome_sdk/models/pro_service.rbi +2 -0
  158. data/rbi/metronome_sdk/models/recurring_commit_subscription_config.rbi +125 -0
  159. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +17 -1
  160. data/rbi/metronome_sdk/models/scheduled_charge.rbi +2 -0
  161. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +76 -0
  162. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -0
  163. data/rbi/metronome_sdk/models/subscription.rbi +460 -0
  164. data/rbi/metronome_sdk/models/update_base_threshold_commit.rbi +61 -0
  165. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -3
  166. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +2 -0
  167. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +2 -0
  168. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +120 -771
  169. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbi +2 -0
  170. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1613 -4069
  171. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +8 -59
  172. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +5 -2420
  173. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +6 -129
  174. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +4 -2419
  175. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +11 -0
  176. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +2 -0
  177. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +2 -0
  178. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_params.rbi +2 -0
  179. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +2 -0
  180. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +6 -129
  181. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +2 -0
  182. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +4 -129
  183. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +4 -129
  184. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +4 -129
  185. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +6 -129
  186. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +147 -198
  187. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +2 -0
  188. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +117 -165
  189. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +8 -1
  190. data/rbi/metronome_sdk/models/v1/customer.rbi +2 -0
  191. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +88 -3
  192. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +2 -0
  193. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +2 -0
  194. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbi +51 -0
  195. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbi +265 -0
  196. data/rbi/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbi +348 -0
  197. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +60 -0
  198. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +10 -0
  199. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +10 -0
  200. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +19 -90
  201. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +6 -90
  202. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +6 -3
  203. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +76 -0
  204. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +2 -0
  205. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +2 -0
  206. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +2 -0
  207. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +2 -0
  208. data/rbi/metronome_sdk/models/v1/plan_list_response.rbi +8 -1
  209. data/rbi/metronome_sdk/models/v1/usage_list_response.rbi +45 -86
  210. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +2 -0
  211. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +66 -76
  212. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +66 -76
  213. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +3563 -7329
  214. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1181 -6070
  215. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +5 -9867
  216. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +6 -9866
  217. data/rbi/metronome_sdk/models.rbi +44 -0
  218. data/rbi/metronome_sdk/resources/v1/alerts.rbi +72 -2
  219. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +39 -4
  220. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +54 -4
  221. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +27 -5
  222. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +7 -2
  223. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +10 -3
  224. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +109 -9
  225. data/rbi/metronome_sdk/resources/v1/contracts.rbi +257 -16
  226. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +5 -1
  227. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +57 -14
  228. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +108 -5
  229. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +119 -10
  230. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +104 -9
  231. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +123 -7
  232. data/rbi/metronome_sdk/resources/v1/customers.rbi +156 -11
  233. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +29 -3
  234. data/rbi/metronome_sdk/resources/v1/invoices.rbi +23 -2
  235. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +6 -1
  236. data/rbi/metronome_sdk/resources/v1/services.rbi +6 -4
  237. data/rbi/metronome_sdk/resources/v1/usage.rbi +188 -12
  238. data/rbi/metronome_sdk/resources/v2/contracts.rbi +128 -23
  239. data/sig/metronome_sdk/internal/body_cursor_page.rbs +13 -0
  240. data/sig/metronome_sdk/internal/cursor_page_without_limit.rbs +13 -0
  241. data/sig/metronome_sdk/internal/type/converter.rbs +17 -0
  242. data/sig/metronome_sdk/internal/type/union.rbs +2 -2
  243. data/sig/metronome_sdk/models/base_threshold_commit.rbs +26 -0
  244. data/sig/metronome_sdk/models/commit.rbs +17 -170
  245. data/sig/metronome_sdk/models/commit_hierarchy_configuration.rbs +117 -0
  246. data/sig/metronome_sdk/models/commit_rate.rbs +48 -0
  247. data/sig/metronome_sdk/models/commit_specifier.rbs +47 -0
  248. data/sig/metronome_sdk/models/commit_specifier_input.rbs +47 -0
  249. data/sig/metronome_sdk/models/contract.rbs +398 -0
  250. data/sig/metronome_sdk/models/contract_v2.rbs +2881 -0
  251. data/sig/metronome_sdk/models/contract_without_amendments.rbs +54 -976
  252. data/sig/metronome_sdk/models/credit.rbs +12 -170
  253. data/sig/metronome_sdk/models/hierarchy_configuration.rbs +71 -0
  254. data/sig/metronome_sdk/models/override.rbs +12 -101
  255. data/sig/metronome_sdk/models/override_tier.rbs +17 -0
  256. data/sig/metronome_sdk/models/overwrite_rate.rbs +78 -0
  257. data/sig/metronome_sdk/models/payment_gate_config.rbs +123 -0
  258. data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +123 -0
  259. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +82 -0
  260. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +82 -0
  261. data/sig/metronome_sdk/models/recurring_commit_subscription_config.rbs +51 -0
  262. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +7 -0
  263. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +35 -0
  264. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +35 -0
  265. data/sig/metronome_sdk/models/subscription.rbs +215 -0
  266. data/sig/metronome_sdk/models/update_base_threshold_commit.rbs +28 -0
  267. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +4 -2
  268. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +62 -343
  269. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +218 -1234
  270. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +4 -25
  271. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +4 -1041
  272. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +6 -54
  273. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +4 -1041
  274. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +7 -0
  275. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +6 -54
  276. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +6 -54
  277. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +6 -54
  278. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +6 -54
  279. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +6 -54
  280. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +72 -94
  281. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +53 -75
  282. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +31 -4
  283. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_params.rbs +32 -0
  284. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbs +113 -0
  285. data/sig/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbs +133 -0
  286. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +21 -0
  287. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +7 -1
  288. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +6 -1
  289. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +13 -50
  290. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +6 -50
  291. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +4 -2
  292. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +5 -0
  293. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +33 -55
  294. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +24 -43
  295. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +24 -43
  296. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +400 -1911
  297. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +256 -2249
  298. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +4 -4426
  299. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +4 -4426
  300. data/sig/metronome_sdk/models.rbs +38 -0
  301. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +1 -0
  302. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  303. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -3
  304. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -1
  305. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +1 -1
  306. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +2 -1
  307. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +2 -2
  308. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +2 -2
  309. data/sig/metronome_sdk/resources/v1/customers.rbs +11 -0
  310. data/sig/metronome_sdk/resources/v1/usage.rbs +1 -1
  311. data/sig/metronome_sdk/resources/v2/contracts.rbs +9 -4
  312. metadata +74 -11
  313. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +0 -29
  314. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +0 -26
  315. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +0 -26
  316. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +0 -46
  317. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +0 -45
  318. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +0 -45
  319. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +0 -29
  320. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +0 -26
  321. 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