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