metronome-sdk 0.1.0.pre.alpha.1

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 (770) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +290 -0
  4. data/README.md +258 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/metronome_sdk/client.rb +78 -0
  7. data/lib/metronome_sdk/errors.rb +192 -0
  8. data/lib/metronome_sdk/file_part.rb +55 -0
  9. data/lib/metronome_sdk/internal/cursor_page.rb +86 -0
  10. data/lib/metronome_sdk/internal/transport/base_client.rb +486 -0
  11. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +193 -0
  12. data/lib/metronome_sdk/internal/type/array_of.rb +154 -0
  13. data/lib/metronome_sdk/internal/type/base_model.rb +443 -0
  14. data/lib/metronome_sdk/internal/type/base_page.rb +55 -0
  15. data/lib/metronome_sdk/internal/type/boolean.rb +63 -0
  16. data/lib/metronome_sdk/internal/type/converter.rb +274 -0
  17. data/lib/metronome_sdk/internal/type/enum.rb +107 -0
  18. data/lib/metronome_sdk/internal/type/file_input.rb +96 -0
  19. data/lib/metronome_sdk/internal/type/hash_of.rb +174 -0
  20. data/lib/metronome_sdk/internal/type/request_parameters.rb +48 -0
  21. data/lib/metronome_sdk/internal/type/union.rb +220 -0
  22. data/lib/metronome_sdk/internal/type/unknown.rb +67 -0
  23. data/lib/metronome_sdk/internal/util.rb +790 -0
  24. data/lib/metronome_sdk/internal.rb +11 -0
  25. data/lib/metronome_sdk/models/base_usage_filter.rb +27 -0
  26. data/lib/metronome_sdk/models/commit.rb +848 -0
  27. data/lib/metronome_sdk/models/contract_without_amendments.rb +1431 -0
  28. data/lib/metronome_sdk/models/credit.rb +476 -0
  29. data/lib/metronome_sdk/models/credit_type_data.rb +21 -0
  30. data/lib/metronome_sdk/models/discount.rb +68 -0
  31. data/lib/metronome_sdk/models/event_type_filter.rb +35 -0
  32. data/lib/metronome_sdk/models/id.rb +15 -0
  33. data/lib/metronome_sdk/models/override.rb +368 -0
  34. data/lib/metronome_sdk/models/pro_service.rb +75 -0
  35. data/lib/metronome_sdk/models/property_filter.rb +55 -0
  36. data/lib/metronome_sdk/models/rate.rb +106 -0
  37. data/lib/metronome_sdk/models/schedule_duration.rb +50 -0
  38. data/lib/metronome_sdk/models/schedule_point_in_time.rb +62 -0
  39. data/lib/metronome_sdk/models/scheduled_charge.rb +76 -0
  40. data/lib/metronome_sdk/models/tier.rb +21 -0
  41. data/lib/metronome_sdk/models/v1/alert_archive_params.rb +32 -0
  42. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +18 -0
  43. data/lib/metronome_sdk/models/v1/alert_create_params.rb +224 -0
  44. data/lib/metronome_sdk/models/v1/alert_create_response.rb +18 -0
  45. data/lib/metronome_sdk/models/v1/audit_log_list_params.rb +92 -0
  46. data/lib/metronome_sdk/models/v1/audit_log_list_response.rb +124 -0
  47. data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +16 -0
  48. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +18 -0
  49. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +111 -0
  50. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +18 -0
  51. data/lib/metronome_sdk/models/v1/billable_metric_list_params.rb +40 -0
  52. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +122 -0
  53. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_params.rb +22 -0
  54. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +134 -0
  55. data/lib/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rb +79 -0
  56. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +1778 -0
  57. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +18 -0
  58. data/lib/metronome_sdk/models/v1/contract_archive_params.rb +45 -0
  59. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +18 -0
  60. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_params.rb +203 -0
  61. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +18 -0
  62. data/lib/metronome_sdk/models/v1/contract_create_params.rb +3076 -0
  63. data/lib/metronome_sdk/models/v1/contract_create_response.rb +18 -0
  64. data/lib/metronome_sdk/models/v1/contract_list_balances_params.rb +101 -0
  65. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +36 -0
  66. data/lib/metronome_sdk/models/v1/contract_list_params.rb +76 -0
  67. data/lib/metronome_sdk/models/v1/contract_list_response.rb +388 -0
  68. data/lib/metronome_sdk/models/v1/contract_retrieve_params.rb +53 -0
  69. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb +117 -0
  70. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +165 -0
  71. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +388 -0
  72. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rb +139 -0
  73. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +18 -0
  74. data/lib/metronome_sdk/models/v1/contract_set_usage_filter_params.rb +46 -0
  75. data/lib/metronome_sdk/models/v1/contract_update_end_date_params.rb +57 -0
  76. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +18 -0
  77. data/lib/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rb +48 -0
  78. data/lib/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rb +43 -0
  79. data/lib/metronome_sdk/models/v1/contracts/named_schedule_update_params.rb +62 -0
  80. data/lib/metronome_sdk/models/v1/contracts/product_archive_params.rb +26 -0
  81. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +20 -0
  82. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +167 -0
  83. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +20 -0
  84. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +152 -0
  85. data/lib/metronome_sdk/models/v1/contracts/product_list_params.rb +55 -0
  86. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +214 -0
  87. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +18 -0
  88. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +225 -0
  89. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +176 -0
  90. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +20 -0
  91. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +57 -0
  92. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +43 -0
  93. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_params.rb +112 -0
  94. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +20 -0
  95. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_params.rb +41 -0
  96. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +108 -0
  97. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +18 -0
  98. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rb +110 -0
  99. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +153 -0
  100. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +119 -0
  101. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_params.rb +78 -0
  102. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +20 -0
  103. data/lib/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rb +58 -0
  104. data/lib/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rb +45 -0
  105. data/lib/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rb +72 -0
  106. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rb +35 -0
  107. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +22 -0
  108. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rb +55 -0
  109. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +22 -0
  110. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +229 -0
  111. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +23 -0
  112. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +216 -0
  113. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +183 -0
  114. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rb +112 -0
  115. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +137 -0
  116. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +233 -0
  117. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +18 -0
  118. data/lib/metronome_sdk/models/v1/credit_grant_edit_params.rb +48 -0
  119. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +18 -0
  120. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +69 -0
  121. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +164 -0
  122. data/lib/metronome_sdk/models/v1/credit_grant_list_params.rb +81 -0
  123. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +252 -0
  124. data/lib/metronome_sdk/models/v1/credit_grant_void_params.rb +39 -0
  125. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +18 -0
  126. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +71 -0
  127. data/lib/metronome_sdk/models/v1/custom_field_add_key_params.rb +60 -0
  128. data/lib/metronome_sdk/models/v1/custom_field_delete_values_params.rb +60 -0
  129. data/lib/metronome_sdk/models/v1/custom_field_list_keys_params.rb +59 -0
  130. data/lib/metronome_sdk/models/v1/custom_field_list_keys_response.rb +74 -0
  131. data/lib/metronome_sdk/models/v1/custom_field_remove_key_params.rb +54 -0
  132. data/lib/metronome_sdk/models/v1/custom_field_set_values_params.rb +60 -0
  133. data/lib/metronome_sdk/models/v1/customer.rb +55 -0
  134. data/lib/metronome_sdk/models/v1/customer_archive_params.rb +16 -0
  135. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +18 -0
  136. data/lib/metronome_sdk/models/v1/customer_create_params.rb +259 -0
  137. data/lib/metronome_sdk/models/v1/customer_create_response.rb +18 -0
  138. data/lib/metronome_sdk/models/v1/customer_detail.rb +131 -0
  139. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_params.rb +60 -0
  140. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +153 -0
  141. data/lib/metronome_sdk/models/v1/customer_list_costs_params.rb +55 -0
  142. data/lib/metronome_sdk/models/v1/customer_list_costs_response.rb +82 -0
  143. data/lib/metronome_sdk/models/v1/customer_list_params.rb +71 -0
  144. data/lib/metronome_sdk/models/v1/customer_retrieve_params.rb +22 -0
  145. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +18 -0
  146. data/lib/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rb +28 -0
  147. data/lib/metronome_sdk/models/v1/customer_set_name_params.rb +36 -0
  148. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +18 -0
  149. data/lib/metronome_sdk/models/v1/customer_update_config_params.rb +44 -0
  150. data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +59 -0
  151. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +27 -0
  152. data/lib/metronome_sdk/models/v1/customers/alert_reset_params.rb +34 -0
  153. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +34 -0
  154. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +20 -0
  155. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +129 -0
  156. data/lib/metronome_sdk/models/v1/customers/billing_config_delete_params.rb +47 -0
  157. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rb +47 -0
  158. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +164 -0
  159. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +436 -0
  160. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +20 -0
  161. data/lib/metronome_sdk/models/v1/customers/commit_list_params.rb +103 -0
  162. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +26 -0
  163. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_params.rb +59 -0
  164. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +20 -0
  165. data/lib/metronome_sdk/models/v1/customers/credit_create_params.rb +198 -0
  166. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +20 -0
  167. data/lib/metronome_sdk/models/v1/customers/credit_list_params.rb +103 -0
  168. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +26 -0
  169. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_params.rb +48 -0
  170. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +20 -0
  171. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +269 -0
  172. data/lib/metronome_sdk/models/v1/customers/invoice.rb +1074 -0
  173. data/lib/metronome_sdk/models/v1/customers/invoice_add_charge_params.rb +79 -0
  174. data/lib/metronome_sdk/models/v1/customers/invoice_add_charge_response.rb +14 -0
  175. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rb +135 -0
  176. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +26 -0
  177. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +110 -0
  178. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_params.rb +40 -0
  179. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +20 -0
  180. data/lib/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rb +48 -0
  181. data/lib/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rb +43 -0
  182. data/lib/metronome_sdk/models/v1/customers/named_schedule_update_params.rb +62 -0
  183. data/lib/metronome_sdk/models/v1/customers/plan_add_params.rb +245 -0
  184. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +20 -0
  185. data/lib/metronome_sdk/models/v1/customers/plan_end_params.rb +66 -0
  186. data/lib/metronome_sdk/models/v1/customers/plan_end_response.rb +14 -0
  187. data/lib/metronome_sdk/models/v1/customers/plan_list_params.rb +41 -0
  188. data/lib/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rb +48 -0
  189. data/lib/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rb +102 -0
  190. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +118 -0
  191. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +173 -0
  192. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rb +29 -0
  193. data/lib/metronome_sdk/models/v1/invoice_regenerate_params.rb +24 -0
  194. data/lib/metronome_sdk/models/v1/invoice_regenerate_response.rb +30 -0
  195. data/lib/metronome_sdk/models/v1/invoice_void_params.rb +24 -0
  196. data/lib/metronome_sdk/models/v1/invoice_void_response.rb +29 -0
  197. data/lib/metronome_sdk/models/v1/plan_detail.rb +200 -0
  198. data/lib/metronome_sdk/models/v1/plan_get_details_params.rb +22 -0
  199. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +18 -0
  200. data/lib/metronome_sdk/models/v1/plan_list_charges_params.rb +39 -0
  201. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +202 -0
  202. data/lib/metronome_sdk/models/v1/plan_list_customers_params.rb +79 -0
  203. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +72 -0
  204. data/lib/metronome_sdk/models/v1/plan_list_params.rb +32 -0
  205. data/lib/metronome_sdk/models/v1/plan_list_response.rb +36 -0
  206. data/lib/metronome_sdk/models/v1/pricing_unit_list_params.rb +32 -0
  207. data/lib/metronome_sdk/models/v1/pricing_unit_list_response.rb +30 -0
  208. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +38 -0
  209. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +38 -0
  210. data/lib/metronome_sdk/models/v1/service_list_params.rb +16 -0
  211. data/lib/metronome_sdk/models/v1/service_list_response.rb +52 -0
  212. data/lib/metronome_sdk/models/v1/usage_ingest_params.rb +62 -0
  213. data/lib/metronome_sdk/models/v1/usage_list_params.rb +129 -0
  214. data/lib/metronome_sdk/models/v1/usage_list_response.rb +83 -0
  215. data/lib/metronome_sdk/models/v1/usage_list_with_groups_params.rb +130 -0
  216. data/lib/metronome_sdk/models/v1/usage_list_with_groups_response.rb +42 -0
  217. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +266 -0
  218. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +18 -0
  219. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +154 -0
  220. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +18 -0
  221. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +3281 -0
  222. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +18 -0
  223. data/lib/metronome_sdk/models/v2/contract_get_edit_history_params.rb +28 -0
  224. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +2394 -0
  225. data/lib/metronome_sdk/models/v2/contract_list_params.rb +74 -0
  226. data/lib/metronome_sdk/models/v2/contract_list_response.rb +3044 -0
  227. data/lib/metronome_sdk/models/v2/contract_retrieve_params.rb +63 -0
  228. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +3051 -0
  229. data/lib/metronome_sdk/request_options.rb +73 -0
  230. data/lib/metronome_sdk/resources/v1/alerts.rb +99 -0
  231. data/lib/metronome_sdk/resources/v1/audit_logs.rb +60 -0
  232. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +131 -0
  233. data/lib/metronome_sdk/resources/v1/contracts/named_schedules.rb +86 -0
  234. data/lib/metronome_sdk/resources/v1/contracts/products.rb +212 -0
  235. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rb +94 -0
  236. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +70 -0
  237. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +141 -0
  238. data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +192 -0
  239. data/lib/metronome_sdk/resources/v1/contracts.rb +506 -0
  240. data/lib/metronome_sdk/resources/v1/credit_grants.rb +211 -0
  241. data/lib/metronome_sdk/resources/v1/custom_fields.rb +140 -0
  242. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +99 -0
  243. data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +126 -0
  244. data/lib/metronome_sdk/resources/v1/customers/commits.rb +165 -0
  245. data/lib/metronome_sdk/resources/v1/customers/credits.rb +151 -0
  246. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +208 -0
  247. data/lib/metronome_sdk/resources/v1/customers/named_schedules.rb +86 -0
  248. data/lib/metronome_sdk/resources/v1/customers/plans.rb +184 -0
  249. data/lib/metronome_sdk/resources/v1/customers.rb +336 -0
  250. data/lib/metronome_sdk/resources/v1/dashboards.rb +48 -0
  251. data/lib/metronome_sdk/resources/v1/invoices.rb +60 -0
  252. data/lib/metronome_sdk/resources/v1/plans.rb +133 -0
  253. data/lib/metronome_sdk/resources/v1/pricing_units.rb +41 -0
  254. data/lib/metronome_sdk/resources/v1/services.rb +37 -0
  255. data/lib/metronome_sdk/resources/v1/usage.rb +129 -0
  256. data/lib/metronome_sdk/resources/v1.rb +66 -0
  257. data/lib/metronome_sdk/resources/v2/contracts.rb +256 -0
  258. data/lib/metronome_sdk/resources/v2.rb +18 -0
  259. data/lib/metronome_sdk/version.rb +5 -0
  260. data/lib/metronome_sdk.rb +282 -0
  261. data/manifest.yaml +15 -0
  262. data/rbi/metronome_sdk/client.rbi +51 -0
  263. data/rbi/metronome_sdk/errors.rbi +143 -0
  264. data/rbi/metronome_sdk/file_part.rbi +34 -0
  265. data/rbi/metronome_sdk/internal/cursor_page.rbi +21 -0
  266. data/rbi/metronome_sdk/internal/transport/base_client.rbi +213 -0
  267. data/rbi/metronome_sdk/internal/transport/pooled_net_requester.rbi +60 -0
  268. data/rbi/metronome_sdk/internal/type/array_of.rbi +88 -0
  269. data/rbi/metronome_sdk/internal/type/base_model.rbi +220 -0
  270. data/rbi/metronome_sdk/internal/type/base_page.rbi +38 -0
  271. data/rbi/metronome_sdk/internal/type/boolean.rbi +48 -0
  272. data/rbi/metronome_sdk/internal/type/converter.rbi +120 -0
  273. data/rbi/metronome_sdk/internal/type/enum.rbi +66 -0
  274. data/rbi/metronome_sdk/internal/type/file_input.rbi +50 -0
  275. data/rbi/metronome_sdk/internal/type/hash_of.rbi +88 -0
  276. data/rbi/metronome_sdk/internal/type/request_parameters.rbi +21 -0
  277. data/rbi/metronome_sdk/internal/type/union.rbi +80 -0
  278. data/rbi/metronome_sdk/internal/type/unknown.rbi +40 -0
  279. data/rbi/metronome_sdk/internal/util.rbi +302 -0
  280. data/rbi/metronome_sdk/internal.rbi +11 -0
  281. data/rbi/metronome_sdk/models/base_usage_filter.rbi +27 -0
  282. data/rbi/metronome_sdk/models/commit.rbi +1283 -0
  283. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +2407 -0
  284. data/rbi/metronome_sdk/models/credit.rbi +697 -0
  285. data/rbi/metronome_sdk/models/credit_type_data.rbi +19 -0
  286. data/rbi/metronome_sdk/models/discount.rbi +90 -0
  287. data/rbi/metronome_sdk/models/event_type_filter.rbi +40 -0
  288. data/rbi/metronome_sdk/models/id.rbi +16 -0
  289. data/rbi/metronome_sdk/models/override.rbi +503 -0
  290. data/rbi/metronome_sdk/models/pro_service.rbi +92 -0
  291. data/rbi/metronome_sdk/models/property_filter.rbi +75 -0
  292. data/rbi/metronome_sdk/models/rate.rbi +143 -0
  293. data/rbi/metronome_sdk/models/schedule_duration.rbi +58 -0
  294. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +92 -0
  295. data/rbi/metronome_sdk/models/scheduled_charge.rbi +104 -0
  296. data/rbi/metronome_sdk/models/tier.rbi +22 -0
  297. data/rbi/metronome_sdk/models/v1/alert_archive_params.rbi +48 -0
  298. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +21 -0
  299. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +342 -0
  300. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +21 -0
  301. data/rbi/metronome_sdk/models/v1/audit_log_list_params.rbi +128 -0
  302. data/rbi/metronome_sdk/models/v1/audit_log_list_response.rbi +167 -0
  303. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +21 -0
  304. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +21 -0
  305. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +165 -0
  306. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +21 -0
  307. data/rbi/metronome_sdk/models/v1/billable_metric_list_params.rbi +64 -0
  308. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +174 -0
  309. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_params.rbi +27 -0
  310. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +217 -0
  311. data/rbi/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbi +95 -0
  312. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +2903 -0
  313. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +21 -0
  314. data/rbi/metronome_sdk/models/v1/contract_archive_params.rbi +57 -0
  315. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +21 -0
  316. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbi +346 -0
  317. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +23 -0
  318. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +5220 -0
  319. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +21 -0
  320. data/rbi/metronome_sdk/models/v1/contract_list_balances_params.rbi +138 -0
  321. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +42 -0
  322. data/rbi/metronome_sdk/models/v1/contract_list_params.rbi +104 -0
  323. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +670 -0
  324. data/rbi/metronome_sdk/models/v1/contract_retrieve_params.rbi +69 -0
  325. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbi +178 -0
  326. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +254 -0
  327. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +683 -0
  328. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rbi +192 -0
  329. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +23 -0
  330. data/rbi/metronome_sdk/models/v1/contract_set_usage_filter_params.rbi +63 -0
  331. data/rbi/metronome_sdk/models/v1/contract_update_end_date_params.rbi +77 -0
  332. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +21 -0
  333. data/rbi/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rbi +62 -0
  334. data/rbi/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rbi +55 -0
  335. data/rbi/metronome_sdk/models/v1/contracts/named_schedule_update_params.rbi +74 -0
  336. data/rbi/metronome_sdk/models/v1/contracts/product_archive_params.rbi +33 -0
  337. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +23 -0
  338. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +241 -0
  339. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +23 -0
  340. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +214 -0
  341. data/rbi/metronome_sdk/models/v1/contracts/product_list_params.rbi +90 -0
  342. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +307 -0
  343. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +23 -0
  344. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +347 -0
  345. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +248 -0
  346. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +23 -0
  347. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +80 -0
  348. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +62 -0
  349. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_params.rbi +161 -0
  350. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +23 -0
  351. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_params.rbi +64 -0
  352. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +174 -0
  353. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +23 -0
  354. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbi +171 -0
  355. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +249 -0
  356. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +216 -0
  357. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_params.rbi +104 -0
  358. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +23 -0
  359. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rbi +72 -0
  360. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rbi +59 -0
  361. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rbi +84 -0
  362. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rbi +49 -0
  363. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +25 -0
  364. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rbi +74 -0
  365. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +25 -0
  366. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +376 -0
  367. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +28 -0
  368. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +330 -0
  369. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +323 -0
  370. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbi +169 -0
  371. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +210 -0
  372. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +316 -0
  373. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +21 -0
  374. data/rbi/metronome_sdk/models/v1/credit_grant_edit_params.rbi +72 -0
  375. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +21 -0
  376. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +98 -0
  377. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +229 -0
  378. data/rbi/metronome_sdk/models/v1/credit_grant_list_params.rbi +114 -0
  379. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +298 -0
  380. data/rbi/metronome_sdk/models/v1/credit_grant_void_params.rbi +59 -0
  381. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +21 -0
  382. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +81 -0
  383. data/rbi/metronome_sdk/models/v1/custom_field_add_key_params.rbi +82 -0
  384. data/rbi/metronome_sdk/models/v1/custom_field_delete_values_params.rbi +90 -0
  385. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_params.rbi +91 -0
  386. data/rbi/metronome_sdk/models/v1/custom_field_list_keys_response.rbi +123 -0
  387. data/rbi/metronome_sdk/models/v1/custom_field_remove_key_params.rbi +78 -0
  388. data/rbi/metronome_sdk/models/v1/custom_field_set_values_params.rbi +83 -0
  389. data/rbi/metronome_sdk/models/v1/customer.rbi +68 -0
  390. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +21 -0
  391. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +21 -0
  392. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +591 -0
  393. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +24 -0
  394. data/rbi/metronome_sdk/models/v1/customer_detail.rbi +175 -0
  395. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_params.rbi +83 -0
  396. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +233 -0
  397. data/rbi/metronome_sdk/models/v1/customer_list_costs_params.rbi +75 -0
  398. data/rbi/metronome_sdk/models/v1/customer_list_costs_response.rbi +132 -0
  399. data/rbi/metronome_sdk/models/v1/customer_list_params.rbi +101 -0
  400. data/rbi/metronome_sdk/models/v1/customer_retrieve_params.rbi +27 -0
  401. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +24 -0
  402. data/rbi/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rbi +40 -0
  403. data/rbi/metronome_sdk/models/v1/customer_set_name_params.rbi +40 -0
  404. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +24 -0
  405. data/rbi/metronome_sdk/models/v1/customer_update_config_params.rbi +55 -0
  406. data/rbi/metronome_sdk/models/v1/customers/alert_list_params.rbi +90 -0
  407. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +34 -0
  408. data/rbi/metronome_sdk/models/v1/customers/alert_reset_params.rbi +48 -0
  409. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +48 -0
  410. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +29 -0
  411. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +320 -0
  412. data/rbi/metronome_sdk/models/v1/customers/billing_config_delete_params.rbi +99 -0
  413. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbi +99 -0
  414. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +403 -0
  415. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +682 -0
  416. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +23 -0
  417. data/rbi/metronome_sdk/models/v1/customers/commit_list_params.rbi +140 -0
  418. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +29 -0
  419. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_params.rbi +77 -0
  420. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +23 -0
  421. data/rbi/metronome_sdk/models/v1/customers/credit_create_params.rbi +278 -0
  422. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +23 -0
  423. data/rbi/metronome_sdk/models/v1/customers/credit_list_params.rbi +140 -0
  424. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +29 -0
  425. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_params.rbi +59 -0
  426. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +23 -0
  427. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +445 -0
  428. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +1756 -0
  429. data/rbi/metronome_sdk/models/v1/customers/invoice_add_charge_params.rbi +89 -0
  430. data/rbi/metronome_sdk/models/v1/customers/invoice_add_charge_response.rbi +17 -0
  431. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rbi +192 -0
  432. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +25 -0
  433. data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +149 -0
  434. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_params.rbi +56 -0
  435. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +26 -0
  436. data/rbi/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rbi +62 -0
  437. data/rbi/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rbi +55 -0
  438. data/rbi/metronome_sdk/models/v1/customers/named_schedule_update_params.rbi +74 -0
  439. data/rbi/metronome_sdk/models/v1/customers/plan_add_params.rbi +384 -0
  440. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +23 -0
  441. data/rbi/metronome_sdk/models/v1/customers/plan_end_params.rbi +86 -0
  442. data/rbi/metronome_sdk/models/v1/customers/plan_end_response.rbi +17 -0
  443. data/rbi/metronome_sdk/models/v1/customers/plan_list_params.rbi +61 -0
  444. data/rbi/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rbi +67 -0
  445. data/rbi/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbi +192 -0
  446. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +162 -0
  447. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +375 -0
  448. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rbi +45 -0
  449. data/rbi/metronome_sdk/models/v1/invoice_regenerate_params.rbi +34 -0
  450. data/rbi/metronome_sdk/models/v1/invoice_regenerate_response.rbi +45 -0
  451. data/rbi/metronome_sdk/models/v1/invoice_void_params.rbi +34 -0
  452. data/rbi/metronome_sdk/models/v1/invoice_void_response.rbi +38 -0
  453. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +303 -0
  454. data/rbi/metronome_sdk/models/v1/plan_get_details_params.rbi +27 -0
  455. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +24 -0
  456. data/rbi/metronome_sdk/models/v1/plan_list_charges_params.rbi +59 -0
  457. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +284 -0
  458. data/rbi/metronome_sdk/models/v1/plan_list_customers_params.rbi +110 -0
  459. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +107 -0
  460. data/rbi/metronome_sdk/models/v1/plan_list_params.rbi +46 -0
  461. data/rbi/metronome_sdk/models/v1/plan_list_response.rbi +42 -0
  462. data/rbi/metronome_sdk/models/v1/pricing_unit_list_params.rbi +46 -0
  463. data/rbi/metronome_sdk/models/v1/pricing_unit_list_response.rbi +33 -0
  464. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +43 -0
  465. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +48 -0
  466. data/rbi/metronome_sdk/models/v1/service_list_params.rbi +21 -0
  467. data/rbi/metronome_sdk/models/v1/service_list_response.rbi +78 -0
  468. data/rbi/metronome_sdk/models/v1/usage_ingest_params.rbi +96 -0
  469. data/rbi/metronome_sdk/models/v1/usage_list_params.rbi +170 -0
  470. data/rbi/metronome_sdk/models/v1/usage_list_response.rbi +97 -0
  471. data/rbi/metronome_sdk/models/v1/usage_list_with_groups_params.rbi +167 -0
  472. data/rbi/metronome_sdk/models/v1/usage_list_with_groups_response.rbi +50 -0
  473. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +486 -0
  474. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +21 -0
  475. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +257 -0
  476. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +21 -0
  477. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +5637 -0
  478. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +21 -0
  479. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_params.rbi +39 -0
  480. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +4446 -0
  481. data/rbi/metronome_sdk/models/v2/contract_list_params.rbi +100 -0
  482. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +5176 -0
  483. data/rbi/metronome_sdk/models/v2/contract_retrieve_params.rbi +82 -0
  484. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +5265 -0
  485. data/rbi/metronome_sdk/request_options.rbi +48 -0
  486. data/rbi/metronome_sdk/resources/v1/alerts.rbi +86 -0
  487. data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +50 -0
  488. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +87 -0
  489. data/rbi/metronome_sdk/resources/v1/contracts/named_schedules.rbi +61 -0
  490. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +195 -0
  491. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rbi +69 -0
  492. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +52 -0
  493. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +133 -0
  494. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +146 -0
  495. data/rbi/metronome_sdk/resources/v1/contracts.rbi +462 -0
  496. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +181 -0
  497. data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +83 -0
  498. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +59 -0
  499. data/rbi/metronome_sdk/resources/v1/customers/billing_config.rbi +75 -0
  500. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +159 -0
  501. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +134 -0
  502. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +164 -0
  503. data/rbi/metronome_sdk/resources/v1/customers/named_schedules.rbi +61 -0
  504. data/rbi/metronome_sdk/resources/v1/customers/plans.rbi +146 -0
  505. data/rbi/metronome_sdk/resources/v1/customers.rbi +213 -0
  506. data/rbi/metronome_sdk/resources/v1/dashboards.rbi +54 -0
  507. data/rbi/metronome_sdk/resources/v1/invoices.rbi +33 -0
  508. data/rbi/metronome_sdk/resources/v1/plans.rbi +82 -0
  509. data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +25 -0
  510. data/rbi/metronome_sdk/resources/v1/services.rbi +20 -0
  511. data/rbi/metronome_sdk/resources/v1/usage.rbi +104 -0
  512. data/rbi/metronome_sdk/resources/v1.rbi +50 -0
  513. data/rbi/metronome_sdk/resources/v2/contracts.rbi +224 -0
  514. data/rbi/metronome_sdk/resources/v2.rbi +14 -0
  515. data/rbi/metronome_sdk/version.rbi +5 -0
  516. data/sig/metronome_sdk/client.rbs +28 -0
  517. data/sig/metronome_sdk/errors.rbs +101 -0
  518. data/sig/metronome_sdk/file_part.rbs +21 -0
  519. data/sig/metronome_sdk/internal/cursor_page.rbs +13 -0
  520. data/sig/metronome_sdk/internal/transport/base_client.rbs +116 -0
  521. data/sig/metronome_sdk/internal/transport/pooled_net_requester.rbs +41 -0
  522. data/sig/metronome_sdk/internal/type/array_of.rbs +45 -0
  523. data/sig/metronome_sdk/internal/type/base_model.rbs +96 -0
  524. data/sig/metronome_sdk/internal/type/base_page.rbs +24 -0
  525. data/sig/metronome_sdk/internal/type/boolean.rbs +23 -0
  526. data/sig/metronome_sdk/internal/type/converter.rbs +54 -0
  527. data/sig/metronome_sdk/internal/type/enum.rbs +29 -0
  528. data/sig/metronome_sdk/internal/type/file_input.rbs +23 -0
  529. data/sig/metronome_sdk/internal/type/hash_of.rbs +45 -0
  530. data/sig/metronome_sdk/internal/type/request_parameters.rbs +15 -0
  531. data/sig/metronome_sdk/internal/type/union.rbs +49 -0
  532. data/sig/metronome_sdk/internal/type/unknown.rbs +23 -0
  533. data/sig/metronome_sdk/internal/util.rbs +158 -0
  534. data/sig/metronome_sdk/internal.rbs +5 -0
  535. data/sig/metronome_sdk/models/base_usage_filter.rbs +24 -0
  536. data/sig/metronome_sdk/models/commit.rbs +750 -0
  537. data/sig/metronome_sdk/models/contract_without_amendments.rbs +1122 -0
  538. data/sig/metronome_sdk/models/credit.rbs +415 -0
  539. data/sig/metronome_sdk/models/credit_type_data.rbs +15 -0
  540. data/sig/metronome_sdk/models/discount.rbs +56 -0
  541. data/sig/metronome_sdk/models/event_type_filter.rbs +23 -0
  542. data/sig/metronome_sdk/models/id.rbs +13 -0
  543. data/sig/metronome_sdk/models/override.rbs +343 -0
  544. data/sig/metronome_sdk/models/pro_service.rbs +52 -0
  545. data/sig/metronome_sdk/models/property_filter.rbs +36 -0
  546. data/sig/metronome_sdk/models/rate.rbs +86 -0
  547. data/sig/metronome_sdk/models/schedule_duration.rbs +48 -0
  548. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +65 -0
  549. data/sig/metronome_sdk/models/scheduled_charge.rbs +62 -0
  550. data/sig/metronome_sdk/models/tier.rbs +17 -0
  551. data/sig/metronome_sdk/models/v1/alert_archive_params.rbs +28 -0
  552. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +15 -0
  553. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +181 -0
  554. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +15 -0
  555. data/sig/metronome_sdk/models/v1/audit_log_list_params.rbs +76 -0
  556. data/sig/metronome_sdk/models/v1/audit_log_list_response.rbs +114 -0
  557. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +17 -0
  558. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +15 -0
  559. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +87 -0
  560. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +15 -0
  561. data/sig/metronome_sdk/models/v1/billable_metric_list_params.rbs +35 -0
  562. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +92 -0
  563. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_params.rbs +23 -0
  564. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +107 -0
  565. data/sig/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbs +53 -0
  566. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +1398 -0
  567. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +15 -0
  568. data/sig/metronome_sdk/models/v1/contract_archive_params.rbs +29 -0
  569. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +15 -0
  570. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_params.rbs +188 -0
  571. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +18 -0
  572. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +2400 -0
  573. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +15 -0
  574. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +79 -0
  575. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +32 -0
  576. data/sig/metronome_sdk/models/v1/contract_list_params.rbs +55 -0
  577. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +333 -0
  578. data/sig/metronome_sdk/models/v1/contract_retrieve_params.rbs +41 -0
  579. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbs +94 -0
  580. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +141 -0
  581. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +333 -0
  582. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_params.rbs +106 -0
  583. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +18 -0
  584. data/sig/metronome_sdk/models/v1/contract_set_usage_filter_params.rbs +41 -0
  585. data/sig/metronome_sdk/models/v1/contract_update_end_date_params.rbs +41 -0
  586. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +16 -0
  587. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_params.rbs +33 -0
  588. data/sig/metronome_sdk/models/v1/contracts/named_schedule_retrieve_response.rbs +42 -0
  589. data/sig/metronome_sdk/models/v1/contracts/named_schedule_update_params.rbs +45 -0
  590. data/sig/metronome_sdk/models/v1/contracts/product_archive_params.rbs +25 -0
  591. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +17 -0
  592. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +120 -0
  593. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +17 -0
  594. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +104 -0
  595. data/sig/metronome_sdk/models/v1/contracts/product_list_params.rbs +55 -0
  596. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +162 -0
  597. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +19 -0
  598. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +179 -0
  599. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +105 -0
  600. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +17 -0
  601. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +43 -0
  602. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +38 -0
  603. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_params.rbs +99 -0
  604. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +17 -0
  605. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_params.rbs +37 -0
  606. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +111 -0
  607. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +19 -0
  608. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_params.rbs +90 -0
  609. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +131 -0
  610. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +129 -0
  611. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_params.rbs +69 -0
  612. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +17 -0
  613. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_params.rbs +43 -0
  614. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_retrieve_response.rbs +44 -0
  615. data/sig/metronome_sdk/models/v1/contracts/rate_cards/named_schedule_update_params.rbs +51 -0
  616. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_params.rbs +30 -0
  617. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +19 -0
  618. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_params.rbs +45 -0
  619. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +20 -0
  620. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +185 -0
  621. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +19 -0
  622. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +170 -0
  623. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +160 -0
  624. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_params.rbs +92 -0
  625. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +114 -0
  626. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +152 -0
  627. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +15 -0
  628. data/sig/metronome_sdk/models/v1/credit_grant_edit_params.rbs +43 -0
  629. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +15 -0
  630. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +51 -0
  631. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +120 -0
  632. data/sig/metronome_sdk/models/v1/credit_grant_list_params.rbs +63 -0
  633. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +155 -0
  634. data/sig/metronome_sdk/models/v1/credit_grant_void_params.rbs +37 -0
  635. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +15 -0
  636. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +44 -0
  637. data/sig/metronome_sdk/models/v1/custom_field_add_key_params.rbs +78 -0
  638. data/sig/metronome_sdk/models/v1/custom_field_delete_values_params.rbs +78 -0
  639. data/sig/metronome_sdk/models/v1/custom_field_list_keys_params.rbs +80 -0
  640. data/sig/metronome_sdk/models/v1/custom_field_list_keys_response.rbs +92 -0
  641. data/sig/metronome_sdk/models/v1/custom_field_remove_key_params.rbs +74 -0
  642. data/sig/metronome_sdk/models/v1/custom_field_set_values_params.rbs +78 -0
  643. data/sig/metronome_sdk/models/v1/customer.rbs +38 -0
  644. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +17 -0
  645. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +15 -0
  646. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +269 -0
  647. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +16 -0
  648. data/sig/metronome_sdk/models/v1/customer_detail.rbs +96 -0
  649. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_params.rbs +49 -0
  650. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +116 -0
  651. data/sig/metronome_sdk/models/v1/customer_list_costs_params.rbs +45 -0
  652. data/sig/metronome_sdk/models/v1/customer_list_costs_response.rbs +88 -0
  653. data/sig/metronome_sdk/models/v1/customer_list_params.rbs +57 -0
  654. data/sig/metronome_sdk/models/v1/customer_retrieve_params.rbs +23 -0
  655. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +16 -0
  656. data/sig/metronome_sdk/models/v1/customer_set_ingest_aliases_params.rbs +26 -0
  657. data/sig/metronome_sdk/models/v1/customer_set_name_params.rbs +26 -0
  658. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +16 -0
  659. data/sig/metronome_sdk/models/v1/customer_update_config_params.rbs +33 -0
  660. data/sig/metronome_sdk/models/v1/customers/alert_list_params.rbs +53 -0
  661. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +26 -0
  662. data/sig/metronome_sdk/models/v1/customers/alert_reset_params.rbs +28 -0
  663. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +28 -0
  664. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +20 -0
  665. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +152 -0
  666. data/sig/metronome_sdk/models/v1/customers/billing_config_delete_params.rbs +56 -0
  667. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbs +56 -0
  668. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +181 -0
  669. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +317 -0
  670. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +17 -0
  671. data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +81 -0
  672. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +23 -0
  673. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_params.rbs +43 -0
  674. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +18 -0
  675. data/sig/metronome_sdk/models/v1/customers/credit_create_params.rbs +152 -0
  676. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +17 -0
  677. data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +81 -0
  678. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +23 -0
  679. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_params.rbs +31 -0
  680. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +18 -0
  681. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +213 -0
  682. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +995 -0
  683. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_params.rbs +51 -0
  684. data/sig/metronome_sdk/models/v1/customers/invoice_add_charge_response.rbs +15 -0
  685. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_params.rbs +103 -0
  686. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +27 -0
  687. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +88 -0
  688. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_params.rbs +37 -0
  689. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +20 -0
  690. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_params.rbs +33 -0
  691. data/sig/metronome_sdk/models/v1/customers/named_schedule_retrieve_response.rbs +42 -0
  692. data/sig/metronome_sdk/models/v1/customers/named_schedule_update_params.rbs +45 -0
  693. data/sig/metronome_sdk/models/v1/customers/plan_add_params.rbs +183 -0
  694. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +17 -0
  695. data/sig/metronome_sdk/models/v1/customers/plan_end_params.rbs +49 -0
  696. data/sig/metronome_sdk/models/v1/customers/plan_end_response.rbs +15 -0
  697. data/sig/metronome_sdk/models/v1/customers/plan_list_params.rbs +35 -0
  698. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_params.rbs +43 -0
  699. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbs +94 -0
  700. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +104 -0
  701. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +176 -0
  702. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_response.rbs +32 -0
  703. data/sig/metronome_sdk/models/v1/invoice_regenerate_params.rbs +22 -0
  704. data/sig/metronome_sdk/models/v1/invoice_regenerate_response.rbs +32 -0
  705. data/sig/metronome_sdk/models/v1/invoice_void_params.rbs +22 -0
  706. data/sig/metronome_sdk/models/v1/invoice_void_response.rbs +32 -0
  707. data/sig/metronome_sdk/models/v1/plan_detail.rbs +173 -0
  708. data/sig/metronome_sdk/models/v1/plan_get_details_params.rbs +22 -0
  709. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +16 -0
  710. data/sig/metronome_sdk/models/v1/plan_list_charges_params.rbs +33 -0
  711. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +159 -0
  712. data/sig/metronome_sdk/models/v1/plan_list_customers_params.rbs +58 -0
  713. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +59 -0
  714. data/sig/metronome_sdk/models/v1/plan_list_params.rbs +30 -0
  715. data/sig/metronome_sdk/models/v1/plan_list_response.rbs +34 -0
  716. data/sig/metronome_sdk/models/v1/pricing_unit_list_params.rbs +30 -0
  717. data/sig/metronome_sdk/models/v1/pricing_unit_list_response.rbs +26 -0
  718. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +34 -0
  719. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +34 -0
  720. data/sig/metronome_sdk/models/v1/service_list_params.rbs +17 -0
  721. data/sig/metronome_sdk/models/v1/service_list_response.rbs +54 -0
  722. data/sig/metronome_sdk/models/v1/usage_ingest_params.rbs +60 -0
  723. data/sig/metronome_sdk/models/v1/usage_list_params.rbs +102 -0
  724. data/sig/metronome_sdk/models/v1/usage_list_response.rbs +65 -0
  725. data/sig/metronome_sdk/models/v1/usage_list_with_groups_params.rbs +97 -0
  726. data/sig/metronome_sdk/models/v1/usage_list_with_groups_response.rbs +36 -0
  727. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +279 -0
  728. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +15 -0
  729. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +148 -0
  730. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +15 -0
  731. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +2726 -0
  732. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +15 -0
  733. data/sig/metronome_sdk/models/v2/contract_get_edit_history_params.rbs +26 -0
  734. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +2128 -0
  735. data/sig/metronome_sdk/models/v2/contract_list_params.rbs +55 -0
  736. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +2586 -0
  737. data/sig/metronome_sdk/models/v2/contract_retrieve_params.rbs +47 -0
  738. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +2586 -0
  739. data/sig/metronome_sdk/request_options.rbs +36 -0
  740. data/sig/metronome_sdk/resources/v1/alerts.rbs +32 -0
  741. data/sig/metronome_sdk/resources/v1/audit_logs.rbs +20 -0
  742. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +38 -0
  743. data/sig/metronome_sdk/resources/v1/contracts/named_schedules.rbs +27 -0
  744. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +65 -0
  745. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rbs +31 -0
  746. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbs +25 -0
  747. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +47 -0
  748. data/sig/metronome_sdk/resources/v1/contracts/rate_cards.rbs +57 -0
  749. data/sig/metronome_sdk/resources/v1/contracts.rbs +159 -0
  750. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +62 -0
  751. data/sig/metronome_sdk/resources/v1/custom_fields.rbs +42 -0
  752. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +30 -0
  753. data/sig/metronome_sdk/resources/v1/customers/billing_config.rbs +33 -0
  754. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +54 -0
  755. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +50 -0
  756. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +56 -0
  757. data/sig/metronome_sdk/resources/v1/customers/named_schedules.rbs +27 -0
  758. data/sig/metronome_sdk/resources/v1/customers/plans.rbs +47 -0
  759. data/sig/metronome_sdk/resources/v1/customers.rbs +90 -0
  760. data/sig/metronome_sdk/resources/v1/dashboards.rbs +18 -0
  761. data/sig/metronome_sdk/resources/v1/invoices.rbs +19 -0
  762. data/sig/metronome_sdk/resources/v1/plans.rbs +35 -0
  763. data/sig/metronome_sdk/resources/v1/pricing_units.rbs +15 -0
  764. data/sig/metronome_sdk/resources/v1/services.rbs +13 -0
  765. data/sig/metronome_sdk/resources/v1/usage.rbs +37 -0
  766. data/sig/metronome_sdk/resources/v1.rbs +33 -0
  767. data/sig/metronome_sdk/resources/v2/contracts.rbs +80 -0
  768. data/sig/metronome_sdk/resources/v2.rbs +9 -0
  769. data/sig/metronome_sdk/version.rbs +3 -0
  770. metadata +827 -0
@@ -0,0 +1,1431 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class ContractWithoutAmendments < MetronomeSDK::Internal::Type::BaseModel
6
+ # @!attribute commits
7
+ #
8
+ # @return [Array<MetronomeSDK::Models::Commit>]
9
+ required :commits, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::Commit] }
10
+
11
+ # @!attribute created_at
12
+ #
13
+ # @return [Time]
14
+ required :created_at, Time
15
+
16
+ # @!attribute created_by
17
+ #
18
+ # @return [String]
19
+ required :created_by, String
20
+
21
+ # @!attribute overrides
22
+ #
23
+ # @return [Array<MetronomeSDK::Models::Override>]
24
+ required :overrides, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::Override] }
25
+
26
+ # @!attribute scheduled_charges
27
+ #
28
+ # @return [Array<MetronomeSDK::Models::ScheduledCharge>]
29
+ required :scheduled_charges,
30
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::ScheduledCharge] }
31
+
32
+ # @!attribute starting_at
33
+ #
34
+ # @return [Time]
35
+ required :starting_at, Time
36
+
37
+ # @!attribute transitions
38
+ #
39
+ # @return [Array<MetronomeSDK::Models::ContractWithoutAmendments::Transition>]
40
+ required :transitions,
41
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::ContractWithoutAmendments::Transition] }
42
+
43
+ # @!attribute usage_statement_schedule
44
+ #
45
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::UsageStatementSchedule]
46
+ required :usage_statement_schedule,
47
+ -> { MetronomeSDK::Models::ContractWithoutAmendments::UsageStatementSchedule }
48
+
49
+ # @!attribute credit_balance_threshold_configuration
50
+ #
51
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration, nil]
52
+ optional :credit_balance_threshold_configuration,
53
+ -> { MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration }
54
+
55
+ # @!attribute credits
56
+ #
57
+ # @return [Array<MetronomeSDK::Models::Credit>, nil]
58
+ optional :credits, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::Credit] }
59
+
60
+ # @!attribute discounts
61
+ # This field's availability is dependent on your client's configuration.
62
+ #
63
+ # @return [Array<MetronomeSDK::Models::Discount>, nil]
64
+ optional :discounts, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::Discount] }
65
+
66
+ # @!attribute ending_before
67
+ #
68
+ # @return [Time, nil]
69
+ optional :ending_before, Time
70
+
71
+ # @!attribute name
72
+ #
73
+ # @return [String, nil]
74
+ optional :name, String
75
+
76
+ # @!attribute net_payment_terms_days
77
+ #
78
+ # @return [Float, nil]
79
+ optional :net_payment_terms_days, Float
80
+
81
+ # @!attribute netsuite_sales_order_id
82
+ # This field's availability is dependent on your client's configuration.
83
+ #
84
+ # @return [String, nil]
85
+ optional :netsuite_sales_order_id, String
86
+
87
+ # @!attribute professional_services
88
+ # This field's availability is dependent on your client's configuration.
89
+ #
90
+ # @return [Array<MetronomeSDK::Models::ProService>, nil]
91
+ optional :professional_services,
92
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::ProService] }
93
+
94
+ # @!attribute rate_card_id
95
+ #
96
+ # @return [String, nil]
97
+ optional :rate_card_id, String
98
+
99
+ # @!attribute recurring_commits
100
+ #
101
+ # @return [Array<MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit>, nil]
102
+ optional :recurring_commits,
103
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit] }
104
+
105
+ # @!attribute recurring_credits
106
+ #
107
+ # @return [Array<MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit>, nil]
108
+ optional :recurring_credits,
109
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit] }
110
+
111
+ # @!attribute reseller_royalties
112
+ # This field's availability is dependent on your client's configuration.
113
+ #
114
+ # @return [Array<MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty>, nil]
115
+ optional :reseller_royalties,
116
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty] }
117
+
118
+ # @!attribute salesforce_opportunity_id
119
+ # This field's availability is dependent on your client's configuration.
120
+ #
121
+ # @return [String, nil]
122
+ optional :salesforce_opportunity_id, String
123
+
124
+ # @!attribute scheduled_charges_on_usage_invoices
125
+ # Determines which scheduled and commit charges to consolidate onto the Contract's
126
+ # usage invoice. The charge's `timestamp` must match the usage invoice's
127
+ # `ending_before` date for consolidation to occur. This field cannot be modified
128
+ # after a Contract has been created. If this field is omitted, charges will appear
129
+ # on a separate invoice from usage charges.
130
+ #
131
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::ScheduledChargesOnUsageInvoices, nil]
132
+ optional :scheduled_charges_on_usage_invoices,
133
+ enum: -> { MetronomeSDK::Models::ContractWithoutAmendments::ScheduledChargesOnUsageInvoices }
134
+
135
+ # @!attribute spend_threshold_configuration
136
+ #
137
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration, nil]
138
+ optional :spend_threshold_configuration,
139
+ -> { MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration }
140
+
141
+ # @!attribute total_contract_value
142
+ # This field's availability is dependent on your client's configuration.
143
+ #
144
+ # @return [Float, nil]
145
+ optional :total_contract_value, Float
146
+
147
+ # @!attribute usage_filter
148
+ #
149
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::UsageFilter, nil]
150
+ optional :usage_filter, -> { MetronomeSDK::Models::ContractWithoutAmendments::UsageFilter }
151
+
152
+ # @!method initialize(commits:, created_at:, created_by:, overrides:, scheduled_charges:, starting_at:, transitions:, usage_statement_schedule:, credit_balance_threshold_configuration: nil, credits: nil, discounts: nil, ending_before: nil, name: nil, net_payment_terms_days: nil, netsuite_sales_order_id: nil, professional_services: nil, rate_card_id: nil, recurring_commits: nil, recurring_credits: nil, reseller_royalties: nil, salesforce_opportunity_id: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, total_contract_value: nil, usage_filter: nil)
153
+ # Some parameter documentations has been truncated, see
154
+ # {MetronomeSDK::Models::ContractWithoutAmendments} for more details.
155
+ #
156
+ # @param commits [Array<MetronomeSDK::Models::Commit>]
157
+ #
158
+ # @param created_at [Time]
159
+ #
160
+ # @param created_by [String]
161
+ #
162
+ # @param overrides [Array<MetronomeSDK::Models::Override>]
163
+ #
164
+ # @param scheduled_charges [Array<MetronomeSDK::Models::ScheduledCharge>]
165
+ #
166
+ # @param starting_at [Time]
167
+ #
168
+ # @param transitions [Array<MetronomeSDK::Models::ContractWithoutAmendments::Transition>]
169
+ #
170
+ # @param usage_statement_schedule [MetronomeSDK::Models::ContractWithoutAmendments::UsageStatementSchedule]
171
+ #
172
+ # @param credit_balance_threshold_configuration [MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration]
173
+ #
174
+ # @param credits [Array<MetronomeSDK::Models::Credit>]
175
+ #
176
+ # @param discounts [Array<MetronomeSDK::Models::Discount>] This field's availability is dependent on your client's configuration.
177
+ #
178
+ # @param ending_before [Time]
179
+ #
180
+ # @param name [String]
181
+ #
182
+ # @param net_payment_terms_days [Float]
183
+ #
184
+ # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
185
+ #
186
+ # @param professional_services [Array<MetronomeSDK::Models::ProService>] This field's availability is dependent on your client's configuration.
187
+ #
188
+ # @param rate_card_id [String]
189
+ #
190
+ # @param recurring_commits [Array<MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit>]
191
+ #
192
+ # @param recurring_credits [Array<MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit>]
193
+ #
194
+ # @param reseller_royalties [Array<MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty>] This field's availability is dependent on your client's configuration.
195
+ #
196
+ # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
197
+ #
198
+ # @param scheduled_charges_on_usage_invoices [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::ScheduledChargesOnUsageInvoices] Determines which scheduled and commit charges to consolidate onto the Contract's
199
+ # ...
200
+ #
201
+ # @param spend_threshold_configuration [MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration]
202
+ #
203
+ # @param total_contract_value [Float] This field's availability is dependent on your client's configuration.
204
+ #
205
+ # @param usage_filter [MetronomeSDK::Models::ContractWithoutAmendments::UsageFilter]
206
+
207
+ class Transition < MetronomeSDK::Internal::Type::BaseModel
208
+ # @!attribute from_contract_id
209
+ #
210
+ # @return [String]
211
+ required :from_contract_id, String
212
+
213
+ # @!attribute to_contract_id
214
+ #
215
+ # @return [String]
216
+ required :to_contract_id, String
217
+
218
+ # @!attribute type
219
+ #
220
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::Transition::Type]
221
+ required :type, enum: -> { MetronomeSDK::Models::ContractWithoutAmendments::Transition::Type }
222
+
223
+ # @!method initialize(from_contract_id:, to_contract_id:, type:)
224
+ # @param from_contract_id [String]
225
+ # @param to_contract_id [String]
226
+ # @param type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::Transition::Type]
227
+
228
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::Transition#type
229
+ module Type
230
+ extend MetronomeSDK::Internal::Type::Enum
231
+
232
+ SUPERSEDE = :SUPERSEDE
233
+ RENEWAL = :RENEWAL
234
+
235
+ # @!method self.values
236
+ # @return [Array<Symbol>]
237
+ end
238
+ end
239
+
240
+ # @see MetronomeSDK::Models::ContractWithoutAmendments#usage_statement_schedule
241
+ class UsageStatementSchedule < MetronomeSDK::Internal::Type::BaseModel
242
+ # @!attribute billing_anchor_date
243
+ # Contract usage statements follow a selected cadence based on this date.
244
+ #
245
+ # @return [Time]
246
+ required :billing_anchor_date, Time
247
+
248
+ # @!attribute frequency
249
+ #
250
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::UsageStatementSchedule::Frequency]
251
+ required :frequency,
252
+ enum: -> { MetronomeSDK::Models::ContractWithoutAmendments::UsageStatementSchedule::Frequency }
253
+
254
+ # @!method initialize(billing_anchor_date:, frequency:)
255
+ # @param billing_anchor_date [Time] Contract usage statements follow a selected cadence based on this date.
256
+ #
257
+ # @param frequency [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::UsageStatementSchedule::Frequency]
258
+
259
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::UsageStatementSchedule#frequency
260
+ module Frequency
261
+ extend MetronomeSDK::Internal::Type::Enum
262
+
263
+ MONTHLY = :MONTHLY
264
+ QUARTERLY = :QUARTERLY
265
+ ANNUAL = :ANNUAL
266
+ WEEKLY = :WEEKLY
267
+
268
+ # @!method self.values
269
+ # @return [Array<Symbol>]
270
+ end
271
+ end
272
+
273
+ # @see MetronomeSDK::Models::ContractWithoutAmendments#credit_balance_threshold_configuration
274
+ class CreditBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
275
+ # @!attribute commit
276
+ #
277
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::Commit]
278
+ required :commit,
279
+ -> { MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::Commit }
280
+
281
+ # @!attribute is_enabled
282
+ # When set to false, the contract will not be evaluated against the
283
+ # threshold_amount. Toggling to true will result an immediate evaluation,
284
+ # regardless of prior state.
285
+ #
286
+ # @return [Boolean]
287
+ required :is_enabled, MetronomeSDK::Internal::Type::Boolean
288
+
289
+ # @!attribute payment_gate_config
290
+ #
291
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig]
292
+ required :payment_gate_config,
293
+ -> { MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig }
294
+
295
+ # @!attribute recharge_to_amount
296
+ # Specify the amount the balance should be recharged to.
297
+ #
298
+ # @return [Float]
299
+ required :recharge_to_amount, Float
300
+
301
+ # @!attribute threshold_amount
302
+ # Specify the threshold amount for the contract. Each time the contract's balance
303
+ # lowers to this amount, a threshold charge will be initiated.
304
+ #
305
+ # @return [Float]
306
+ required :threshold_amount, Float
307
+
308
+ # @!method initialize(commit:, is_enabled:, payment_gate_config:, recharge_to_amount:, threshold_amount:)
309
+ # Some parameter documentations has been truncated, see
310
+ # {MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration}
311
+ # for more details.
312
+ #
313
+ # @param commit [MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::Commit]
314
+ #
315
+ # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
316
+ # ...
317
+ #
318
+ # @param payment_gate_config [MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig]
319
+ #
320
+ # @param recharge_to_amount [Float] Specify the amount the balance should be recharged to.
321
+ #
322
+ # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's balance
323
+ # ...
324
+
325
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration#commit
326
+ class Commit < MetronomeSDK::Internal::Type::BaseModel
327
+ # @!attribute product_id
328
+ # The commit product that will be used to generate the line item for commit
329
+ # payment.
330
+ #
331
+ # @return [String]
332
+ required :product_id, String
333
+
334
+ # @!attribute applicable_product_ids
335
+ # Which products the threshold commit applies to. If both applicable_product_ids
336
+ # and applicable_product_tags are not provided, the commit applies to all
337
+ # products.
338
+ #
339
+ # @return [Array<String>, nil]
340
+ optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
341
+
342
+ # @!attribute applicable_product_tags
343
+ # Which tags the threshold commit applies to. If both applicable_product_ids and
344
+ # applicable_product_tags are not provided, the commit applies to all products.
345
+ #
346
+ # @return [Array<String>, nil]
347
+ optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
348
+
349
+ # @!attribute description
350
+ #
351
+ # @return [String, nil]
352
+ optional :description, String
353
+
354
+ # @!attribute name
355
+ # Specify the name of the line item for the threshold charge. If left blank, it
356
+ # will default to the commit product name.
357
+ #
358
+ # @return [String, nil]
359
+ optional :name, String
360
+
361
+ # @!method initialize(product_id:, applicable_product_ids: nil, applicable_product_tags: nil, description: nil, name: nil)
362
+ # Some parameter documentations has been truncated, see
363
+ # {MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::Commit}
364
+ # for more details.
365
+ #
366
+ # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
367
+ # ...
368
+ #
369
+ # @param applicable_product_ids [Array<String>] Which products the threshold commit applies to. If both applicable_product_ids a
370
+ # ...
371
+ #
372
+ # @param applicable_product_tags [Array<String>] Which tags the threshold commit applies to. If both applicable_product_ids and a
373
+ # ...
374
+ #
375
+ # @param description [String]
376
+ #
377
+ # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
378
+ # ...
379
+ end
380
+
381
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration#payment_gate_config
382
+ class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
383
+ # @!attribute payment_gate_type
384
+ # Gate access to the commit balance based on successful collection of payment.
385
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
386
+ # facilitate payment using your own payment integration. Select NONE if you do not
387
+ # wish to payment gate the commit balance.
388
+ #
389
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType]
390
+ required :payment_gate_type,
391
+ enum: -> { MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType }
392
+
393
+ # @!attribute stripe_config
394
+ # Only applicable if using Stripe as your payment gateway through Metronome.
395
+ #
396
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
397
+ optional :stripe_config,
398
+ -> { MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig }
399
+
400
+ # @!attribute tax_type
401
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
402
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
403
+ # will default to NONE.
404
+ #
405
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::TaxType, nil]
406
+ optional :tax_type,
407
+ enum: -> { MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::TaxType }
408
+
409
+ # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
410
+ # Some parameter documentations has been truncated, see
411
+ # {MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig}
412
+ # for more details.
413
+ #
414
+ # @param payment_gate_type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
415
+ # ...
416
+ #
417
+ # @param stripe_config [MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
418
+ #
419
+ # @param tax_type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
420
+ # ...
421
+
422
+ # Gate access to the commit balance based on successful collection of payment.
423
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
424
+ # facilitate payment using your own payment integration. Select NONE if you do not
425
+ # wish to payment gate the commit balance.
426
+ #
427
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig#payment_gate_type
428
+ module PaymentGateType
429
+ extend MetronomeSDK::Internal::Type::Enum
430
+
431
+ NONE = :NONE
432
+ STRIPE = :STRIPE
433
+ EXTERNAL = :EXTERNAL
434
+
435
+ # @!method self.values
436
+ # @return [Array<Symbol>]
437
+ end
438
+
439
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig#stripe_config
440
+ class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
441
+ # @!attribute payment_type
442
+ # If left blank, will default to INVOICE
443
+ #
444
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
445
+ required :payment_type,
446
+ enum: -> { MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType }
447
+
448
+ # @!method initialize(payment_type:)
449
+ # Only applicable if using Stripe as your payment gateway through Metronome.
450
+ #
451
+ # @param payment_type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
452
+
453
+ # If left blank, will default to INVOICE
454
+ #
455
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
456
+ module PaymentType
457
+ extend MetronomeSDK::Internal::Type::Enum
458
+
459
+ INVOICE = :INVOICE
460
+ PAYMENT_INTENT = :PAYMENT_INTENT
461
+
462
+ # @!method self.values
463
+ # @return [Array<Symbol>]
464
+ end
465
+ end
466
+
467
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
468
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
469
+ # will default to NONE.
470
+ #
471
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::CreditBalanceThresholdConfiguration::PaymentGateConfig#tax_type
472
+ module TaxType
473
+ extend MetronomeSDK::Internal::Type::Enum
474
+
475
+ NONE = :NONE
476
+ STRIPE = :STRIPE
477
+
478
+ # @!method self.values
479
+ # @return [Array<Symbol>]
480
+ end
481
+ end
482
+ end
483
+
484
+ class RecurringCommit < MetronomeSDK::Internal::Type::BaseModel
485
+ # @!attribute id
486
+ #
487
+ # @return [String]
488
+ required :id, String
489
+
490
+ # @!attribute access_amount
491
+ # The amount of commit to grant.
492
+ #
493
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::AccessAmount]
494
+ required :access_amount,
495
+ -> { MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::AccessAmount }
496
+
497
+ # @!attribute commit_duration
498
+ # The amount of time the created commits will be valid for
499
+ #
500
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration]
501
+ required :commit_duration,
502
+ -> { MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration }
503
+
504
+ # @!attribute priority
505
+ # Will be passed down to the individual commits
506
+ #
507
+ # @return [Float]
508
+ required :priority, Float
509
+
510
+ # @!attribute product
511
+ #
512
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Product]
513
+ required :product, -> { MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Product }
514
+
515
+ # @!attribute rate_type
516
+ # Whether the created commits will use the commit rate or list rate
517
+ #
518
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::RateType]
519
+ required :rate_type,
520
+ enum: -> { MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::RateType }
521
+
522
+ # @!attribute starting_at
523
+ # Determines the start time for the first commit
524
+ #
525
+ # @return [Time]
526
+ required :starting_at, Time
527
+
528
+ # @!attribute applicable_product_ids
529
+ # Will be passed down to the individual commits
530
+ #
531
+ # @return [Array<String>, nil]
532
+ optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
533
+
534
+ # @!attribute applicable_product_tags
535
+ # Will be passed down to the individual commits
536
+ #
537
+ # @return [Array<String>, nil]
538
+ optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
539
+
540
+ # @!attribute contract
541
+ #
542
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Contract, nil]
543
+ optional :contract, -> { MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Contract }
544
+
545
+ # @!attribute description
546
+ # Will be passed down to the individual commits
547
+ #
548
+ # @return [String, nil]
549
+ optional :description, String
550
+
551
+ # @!attribute ending_before
552
+ # Determines when the contract will stop creating recurring commits. Optional
553
+ #
554
+ # @return [Time, nil]
555
+ optional :ending_before, Time
556
+
557
+ # @!attribute invoice_amount
558
+ # The amount the customer should be billed for the commit. Not required.
559
+ #
560
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::InvoiceAmount, nil]
561
+ optional :invoice_amount,
562
+ -> { MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::InvoiceAmount }
563
+
564
+ # @!attribute name
565
+ # Displayed on invoices. Will be passed through to the individual commits
566
+ #
567
+ # @return [String, nil]
568
+ optional :name, String
569
+
570
+ # @!attribute netsuite_sales_order_id
571
+ # Will be passed down to the individual commits
572
+ #
573
+ # @return [String, nil]
574
+ optional :netsuite_sales_order_id, String
575
+
576
+ # @!attribute proration
577
+ # Determines whether the first and last commit will be prorated. If not provided,
578
+ # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
579
+ #
580
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Proration, nil]
581
+ optional :proration,
582
+ enum: -> { MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Proration }
583
+
584
+ # @!attribute recurrence_frequency
585
+ # The frequency at which the recurring commits will be created. If not provided: -
586
+ # The commits will be created on the usage invoice frequency. If provided: - The
587
+ # period defined in the duration will correspond to this frequency. - Commits will
588
+ # be created aligned with the recurring commit's start_date rather than the usage
589
+ # invoice dates.
590
+ #
591
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::RecurrenceFrequency, nil]
592
+ optional :recurrence_frequency,
593
+ enum: -> { MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::RecurrenceFrequency }
594
+
595
+ # @!attribute rollover_fraction
596
+ # Will be passed down to the individual commits. This controls how much of an
597
+ # individual unexpired commit will roll over upon contract transition. Must be
598
+ # between 0 and 1.
599
+ #
600
+ # @return [Float, nil]
601
+ optional :rollover_fraction, Float
602
+
603
+ # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, invoice_amount: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil)
604
+ # Some parameter documentations has been truncated, see
605
+ # {MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit} for more
606
+ # details.
607
+ #
608
+ # @param id [String]
609
+ #
610
+ # @param access_amount [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::AccessAmount] The amount of commit to grant.
611
+ #
612
+ # @param commit_duration [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration] The amount of time the created commits will be valid for
613
+ #
614
+ # @param priority [Float] Will be passed down to the individual commits
615
+ #
616
+ # @param product [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Product]
617
+ #
618
+ # @param rate_type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::RateType] Whether the created commits will use the commit rate or list rate
619
+ #
620
+ # @param starting_at [Time] Determines the start time for the first commit
621
+ #
622
+ # @param applicable_product_ids [Array<String>] Will be passed down to the individual commits
623
+ #
624
+ # @param applicable_product_tags [Array<String>] Will be passed down to the individual commits
625
+ #
626
+ # @param contract [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Contract]
627
+ #
628
+ # @param description [String] Will be passed down to the individual commits
629
+ #
630
+ # @param ending_before [Time] Determines when the contract will stop creating recurring commits. Optional
631
+ #
632
+ # @param invoice_amount [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::InvoiceAmount] The amount the customer should be billed for the commit. Not required.
633
+ #
634
+ # @param name [String] Displayed on invoices. Will be passed through to the individual commits
635
+ #
636
+ # @param netsuite_sales_order_id [String] Will be passed down to the individual commits
637
+ #
638
+ # @param proration [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::Proration] Determines whether the first and last commit will be prorated. If not provided,
639
+ # ...
640
+ #
641
+ # @param recurrence_frequency [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided:
642
+ # ...
643
+ #
644
+ # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
645
+ # ...
646
+
647
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit#access_amount
648
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
649
+ # @!attribute credit_type_id
650
+ #
651
+ # @return [String]
652
+ required :credit_type_id, String
653
+
654
+ # @!attribute quantity
655
+ #
656
+ # @return [Float]
657
+ required :quantity, Float
658
+
659
+ # @!attribute unit_price
660
+ #
661
+ # @return [Float]
662
+ required :unit_price, Float
663
+
664
+ # @!method initialize(credit_type_id:, quantity:, unit_price:)
665
+ # The amount of commit to grant.
666
+ #
667
+ # @param credit_type_id [String]
668
+ # @param quantity [Float]
669
+ # @param unit_price [Float]
670
+ end
671
+
672
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit#commit_duration
673
+ class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
674
+ # @!attribute value
675
+ #
676
+ # @return [Float]
677
+ required :value, Float
678
+
679
+ # @!attribute unit
680
+ #
681
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration::Unit, nil]
682
+ optional :unit,
683
+ enum: -> { MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration::Unit }
684
+
685
+ # @!method initialize(value:, unit: nil)
686
+ # The amount of time the created commits will be valid for
687
+ #
688
+ # @param value [Float]
689
+ # @param unit [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration::Unit]
690
+
691
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration#unit
692
+ module Unit
693
+ extend MetronomeSDK::Internal::Type::Enum
694
+
695
+ PERIODS = :PERIODS
696
+
697
+ # @!method self.values
698
+ # @return [Array<Symbol>]
699
+ end
700
+ end
701
+
702
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit#product
703
+ class Product < MetronomeSDK::Internal::Type::BaseModel
704
+ # @!attribute id
705
+ #
706
+ # @return [String]
707
+ required :id, String
708
+
709
+ # @!attribute name
710
+ #
711
+ # @return [String]
712
+ required :name, String
713
+
714
+ # @!method initialize(id:, name:)
715
+ # @param id [String]
716
+ # @param name [String]
717
+ end
718
+
719
+ # Whether the created commits will use the commit rate or list rate
720
+ #
721
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit#rate_type
722
+ module RateType
723
+ extend MetronomeSDK::Internal::Type::Enum
724
+
725
+ COMMIT_RATE = :COMMIT_RATE
726
+ LIST_RATE = :LIST_RATE
727
+
728
+ # @!method self.values
729
+ # @return [Array<Symbol>]
730
+ end
731
+
732
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit#contract
733
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
734
+ # @!attribute id
735
+ #
736
+ # @return [String]
737
+ required :id, String
738
+
739
+ # @!method initialize(id:)
740
+ # @param id [String]
741
+ end
742
+
743
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit#invoice_amount
744
+ class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
745
+ # @!attribute credit_type_id
746
+ #
747
+ # @return [String]
748
+ required :credit_type_id, String
749
+
750
+ # @!attribute quantity
751
+ #
752
+ # @return [Float]
753
+ required :quantity, Float
754
+
755
+ # @!attribute unit_price
756
+ #
757
+ # @return [Float]
758
+ required :unit_price, Float
759
+
760
+ # @!method initialize(credit_type_id:, quantity:, unit_price:)
761
+ # The amount the customer should be billed for the commit. Not required.
762
+ #
763
+ # @param credit_type_id [String]
764
+ # @param quantity [Float]
765
+ # @param unit_price [Float]
766
+ end
767
+
768
+ # Determines whether the first and last commit will be prorated. If not provided,
769
+ # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
770
+ #
771
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit#proration
772
+ module Proration
773
+ extend MetronomeSDK::Internal::Type::Enum
774
+
775
+ NONE = :NONE
776
+ FIRST = :FIRST
777
+ LAST = :LAST
778
+ FIRST_AND_LAST = :FIRST_AND_LAST
779
+
780
+ # @!method self.values
781
+ # @return [Array<Symbol>]
782
+ end
783
+
784
+ # The frequency at which the recurring commits will be created. If not provided: -
785
+ # The commits will be created on the usage invoice frequency. If provided: - The
786
+ # period defined in the duration will correspond to this frequency. - Commits will
787
+ # be created aligned with the recurring commit's start_date rather than the usage
788
+ # invoice dates.
789
+ #
790
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit#recurrence_frequency
791
+ module RecurrenceFrequency
792
+ extend MetronomeSDK::Internal::Type::Enum
793
+
794
+ MONTHLY = :MONTHLY
795
+ QUARTERLY = :QUARTERLY
796
+ ANNUAL = :ANNUAL
797
+ WEEKLY = :WEEKLY
798
+
799
+ # @!method self.values
800
+ # @return [Array<Symbol>]
801
+ end
802
+ end
803
+
804
+ class RecurringCredit < MetronomeSDK::Internal::Type::BaseModel
805
+ # @!attribute id
806
+ #
807
+ # @return [String]
808
+ required :id, String
809
+
810
+ # @!attribute access_amount
811
+ # The amount of commit to grant.
812
+ #
813
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::AccessAmount]
814
+ required :access_amount,
815
+ -> { MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::AccessAmount }
816
+
817
+ # @!attribute commit_duration
818
+ # The amount of time the created commits will be valid for
819
+ #
820
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration]
821
+ required :commit_duration,
822
+ -> { MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration }
823
+
824
+ # @!attribute priority
825
+ # Will be passed down to the individual commits
826
+ #
827
+ # @return [Float]
828
+ required :priority, Float
829
+
830
+ # @!attribute product
831
+ #
832
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Product]
833
+ required :product, -> { MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Product }
834
+
835
+ # @!attribute rate_type
836
+ # Whether the created commits will use the commit rate or list rate
837
+ #
838
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::RateType]
839
+ required :rate_type,
840
+ enum: -> { MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::RateType }
841
+
842
+ # @!attribute starting_at
843
+ # Determines the start time for the first commit
844
+ #
845
+ # @return [Time]
846
+ required :starting_at, Time
847
+
848
+ # @!attribute applicable_product_ids
849
+ # Will be passed down to the individual commits
850
+ #
851
+ # @return [Array<String>, nil]
852
+ optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
853
+
854
+ # @!attribute applicable_product_tags
855
+ # Will be passed down to the individual commits
856
+ #
857
+ # @return [Array<String>, nil]
858
+ optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
859
+
860
+ # @!attribute contract
861
+ #
862
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Contract, nil]
863
+ optional :contract, -> { MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Contract }
864
+
865
+ # @!attribute description
866
+ # Will be passed down to the individual commits
867
+ #
868
+ # @return [String, nil]
869
+ optional :description, String
870
+
871
+ # @!attribute ending_before
872
+ # Determines when the contract will stop creating recurring commits. Optional
873
+ #
874
+ # @return [Time, nil]
875
+ optional :ending_before, Time
876
+
877
+ # @!attribute name
878
+ # Displayed on invoices. Will be passed through to the individual commits
879
+ #
880
+ # @return [String, nil]
881
+ optional :name, String
882
+
883
+ # @!attribute netsuite_sales_order_id
884
+ # Will be passed down to the individual commits
885
+ #
886
+ # @return [String, nil]
887
+ optional :netsuite_sales_order_id, String
888
+
889
+ # @!attribute proration
890
+ # Determines whether the first and last commit will be prorated. If not provided,
891
+ # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
892
+ #
893
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Proration, nil]
894
+ optional :proration,
895
+ enum: -> { MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Proration }
896
+
897
+ # @!attribute recurrence_frequency
898
+ # The frequency at which the recurring commits will be created. If not provided: -
899
+ # The commits will be created on the usage invoice frequency. If provided: - The
900
+ # period defined in the duration will correspond to this frequency. - Commits will
901
+ # be created aligned with the recurring commit's start_date rather than the usage
902
+ # invoice dates.
903
+ #
904
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::RecurrenceFrequency, nil]
905
+ optional :recurrence_frequency,
906
+ enum: -> { MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::RecurrenceFrequency }
907
+
908
+ # @!attribute rollover_fraction
909
+ # Will be passed down to the individual commits. This controls how much of an
910
+ # individual unexpired commit will roll over upon contract transition. Must be
911
+ # between 0 and 1.
912
+ #
913
+ # @return [Float, nil]
914
+ optional :rollover_fraction, Float
915
+
916
+ # @!method initialize(id:, access_amount:, commit_duration:, priority:, product:, rate_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, contract: nil, description: nil, ending_before: nil, name: nil, netsuite_sales_order_id: nil, proration: nil, recurrence_frequency: nil, rollover_fraction: nil)
917
+ # Some parameter documentations has been truncated, see
918
+ # {MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit} for more
919
+ # details.
920
+ #
921
+ # @param id [String]
922
+ #
923
+ # @param access_amount [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::AccessAmount] The amount of commit to grant.
924
+ #
925
+ # @param commit_duration [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration] The amount of time the created commits will be valid for
926
+ #
927
+ # @param priority [Float] Will be passed down to the individual commits
928
+ #
929
+ # @param product [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Product]
930
+ #
931
+ # @param rate_type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::RateType] Whether the created commits will use the commit rate or list rate
932
+ #
933
+ # @param starting_at [Time] Determines the start time for the first commit
934
+ #
935
+ # @param applicable_product_ids [Array<String>] Will be passed down to the individual commits
936
+ #
937
+ # @param applicable_product_tags [Array<String>] Will be passed down to the individual commits
938
+ #
939
+ # @param contract [MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Contract]
940
+ #
941
+ # @param description [String] Will be passed down to the individual commits
942
+ #
943
+ # @param ending_before [Time] Determines when the contract will stop creating recurring commits. Optional
944
+ #
945
+ # @param name [String] Displayed on invoices. Will be passed through to the individual commits
946
+ #
947
+ # @param netsuite_sales_order_id [String] Will be passed down to the individual commits
948
+ #
949
+ # @param proration [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::Proration] Determines whether the first and last commit will be prorated. If not provided,
950
+ # ...
951
+ #
952
+ # @param recurrence_frequency [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::RecurrenceFrequency] The frequency at which the recurring commits will be created. If not provided:
953
+ # ...
954
+ #
955
+ # @param rollover_fraction [Float] Will be passed down to the individual commits. This controls how much of an indi
956
+ # ...
957
+
958
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit#access_amount
959
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
960
+ # @!attribute credit_type_id
961
+ #
962
+ # @return [String]
963
+ required :credit_type_id, String
964
+
965
+ # @!attribute quantity
966
+ #
967
+ # @return [Float]
968
+ required :quantity, Float
969
+
970
+ # @!attribute unit_price
971
+ #
972
+ # @return [Float]
973
+ required :unit_price, Float
974
+
975
+ # @!method initialize(credit_type_id:, quantity:, unit_price:)
976
+ # The amount of commit to grant.
977
+ #
978
+ # @param credit_type_id [String]
979
+ # @param quantity [Float]
980
+ # @param unit_price [Float]
981
+ end
982
+
983
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit#commit_duration
984
+ class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
985
+ # @!attribute value
986
+ #
987
+ # @return [Float]
988
+ required :value, Float
989
+
990
+ # @!attribute unit
991
+ #
992
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration::Unit, nil]
993
+ optional :unit,
994
+ enum: -> { MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration::Unit }
995
+
996
+ # @!method initialize(value:, unit: nil)
997
+ # The amount of time the created commits will be valid for
998
+ #
999
+ # @param value [Float]
1000
+ # @param unit [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration::Unit]
1001
+
1002
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration#unit
1003
+ module Unit
1004
+ extend MetronomeSDK::Internal::Type::Enum
1005
+
1006
+ PERIODS = :PERIODS
1007
+
1008
+ # @!method self.values
1009
+ # @return [Array<Symbol>]
1010
+ end
1011
+ end
1012
+
1013
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit#product
1014
+ class Product < MetronomeSDK::Internal::Type::BaseModel
1015
+ # @!attribute id
1016
+ #
1017
+ # @return [String]
1018
+ required :id, String
1019
+
1020
+ # @!attribute name
1021
+ #
1022
+ # @return [String]
1023
+ required :name, String
1024
+
1025
+ # @!method initialize(id:, name:)
1026
+ # @param id [String]
1027
+ # @param name [String]
1028
+ end
1029
+
1030
+ # Whether the created commits will use the commit rate or list rate
1031
+ #
1032
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit#rate_type
1033
+ module RateType
1034
+ extend MetronomeSDK::Internal::Type::Enum
1035
+
1036
+ COMMIT_RATE = :COMMIT_RATE
1037
+ LIST_RATE = :LIST_RATE
1038
+
1039
+ # @!method self.values
1040
+ # @return [Array<Symbol>]
1041
+ end
1042
+
1043
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit#contract
1044
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
1045
+ # @!attribute id
1046
+ #
1047
+ # @return [String]
1048
+ required :id, String
1049
+
1050
+ # @!method initialize(id:)
1051
+ # @param id [String]
1052
+ end
1053
+
1054
+ # Determines whether the first and last commit will be prorated. If not provided,
1055
+ # the default is FIRST_AND_LAST (i.e. prorate both the first and last commits).
1056
+ #
1057
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit#proration
1058
+ module Proration
1059
+ extend MetronomeSDK::Internal::Type::Enum
1060
+
1061
+ NONE = :NONE
1062
+ FIRST = :FIRST
1063
+ LAST = :LAST
1064
+ FIRST_AND_LAST = :FIRST_AND_LAST
1065
+
1066
+ # @!method self.values
1067
+ # @return [Array<Symbol>]
1068
+ end
1069
+
1070
+ # The frequency at which the recurring commits will be created. If not provided: -
1071
+ # The commits will be created on the usage invoice frequency. If provided: - The
1072
+ # period defined in the duration will correspond to this frequency. - Commits will
1073
+ # be created aligned with the recurring commit's start_date rather than the usage
1074
+ # invoice dates.
1075
+ #
1076
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit#recurrence_frequency
1077
+ module RecurrenceFrequency
1078
+ extend MetronomeSDK::Internal::Type::Enum
1079
+
1080
+ MONTHLY = :MONTHLY
1081
+ QUARTERLY = :QUARTERLY
1082
+ ANNUAL = :ANNUAL
1083
+ WEEKLY = :WEEKLY
1084
+
1085
+ # @!method self.values
1086
+ # @return [Array<Symbol>]
1087
+ end
1088
+ end
1089
+
1090
+ class ResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
1091
+ # @!attribute fraction
1092
+ #
1093
+ # @return [Float]
1094
+ required :fraction, Float
1095
+
1096
+ # @!attribute netsuite_reseller_id
1097
+ #
1098
+ # @return [String]
1099
+ required :netsuite_reseller_id, String
1100
+
1101
+ # @!attribute reseller_type
1102
+ #
1103
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty::ResellerType]
1104
+ required :reseller_type,
1105
+ enum: -> { MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty::ResellerType }
1106
+
1107
+ # @!attribute starting_at
1108
+ #
1109
+ # @return [Time]
1110
+ required :starting_at, Time
1111
+
1112
+ # @!attribute applicable_product_ids
1113
+ #
1114
+ # @return [Array<String>, nil]
1115
+ optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
1116
+
1117
+ # @!attribute applicable_product_tags
1118
+ #
1119
+ # @return [Array<String>, nil]
1120
+ optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
1121
+
1122
+ # @!attribute aws_account_number
1123
+ #
1124
+ # @return [String, nil]
1125
+ optional :aws_account_number, String
1126
+
1127
+ # @!attribute aws_offer_id
1128
+ #
1129
+ # @return [String, nil]
1130
+ optional :aws_offer_id, String
1131
+
1132
+ # @!attribute aws_payer_reference_id
1133
+ #
1134
+ # @return [String, nil]
1135
+ optional :aws_payer_reference_id, String
1136
+
1137
+ # @!attribute ending_before
1138
+ #
1139
+ # @return [Time, nil]
1140
+ optional :ending_before, Time
1141
+
1142
+ # @!attribute gcp_account_id
1143
+ #
1144
+ # @return [String, nil]
1145
+ optional :gcp_account_id, String
1146
+
1147
+ # @!attribute gcp_offer_id
1148
+ #
1149
+ # @return [String, nil]
1150
+ optional :gcp_offer_id, String
1151
+
1152
+ # @!attribute reseller_contract_value
1153
+ #
1154
+ # @return [Float, nil]
1155
+ optional :reseller_contract_value, Float
1156
+
1157
+ # @!method initialize(fraction:, netsuite_reseller_id:, reseller_type:, starting_at:, applicable_product_ids: nil, applicable_product_tags: nil, aws_account_number: nil, aws_offer_id: nil, aws_payer_reference_id: nil, ending_before: nil, gcp_account_id: nil, gcp_offer_id: nil, reseller_contract_value: nil)
1158
+ # @param fraction [Float]
1159
+ # @param netsuite_reseller_id [String]
1160
+ # @param reseller_type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty::ResellerType]
1161
+ # @param starting_at [Time]
1162
+ # @param applicable_product_ids [Array<String>]
1163
+ # @param applicable_product_tags [Array<String>]
1164
+ # @param aws_account_number [String]
1165
+ # @param aws_offer_id [String]
1166
+ # @param aws_payer_reference_id [String]
1167
+ # @param ending_before [Time]
1168
+ # @param gcp_account_id [String]
1169
+ # @param gcp_offer_id [String]
1170
+ # @param reseller_contract_value [Float]
1171
+
1172
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty#reseller_type
1173
+ module ResellerType
1174
+ extend MetronomeSDK::Internal::Type::Enum
1175
+
1176
+ AWS = :AWS
1177
+ AWS_PRO_SERVICE = :AWS_PRO_SERVICE
1178
+ GCP = :GCP
1179
+ GCP_PRO_SERVICE = :GCP_PRO_SERVICE
1180
+
1181
+ # @!method self.values
1182
+ # @return [Array<Symbol>]
1183
+ end
1184
+ end
1185
+
1186
+ # Determines which scheduled and commit charges to consolidate onto the Contract's
1187
+ # usage invoice. The charge's `timestamp` must match the usage invoice's
1188
+ # `ending_before` date for consolidation to occur. This field cannot be modified
1189
+ # after a Contract has been created. If this field is omitted, charges will appear
1190
+ # on a separate invoice from usage charges.
1191
+ #
1192
+ # @see MetronomeSDK::Models::ContractWithoutAmendments#scheduled_charges_on_usage_invoices
1193
+ module ScheduledChargesOnUsageInvoices
1194
+ extend MetronomeSDK::Internal::Type::Enum
1195
+
1196
+ ALL = :ALL
1197
+
1198
+ # @!method self.values
1199
+ # @return [Array<Symbol>]
1200
+ end
1201
+
1202
+ # @see MetronomeSDK::Models::ContractWithoutAmendments#spend_threshold_configuration
1203
+ class SpendThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
1204
+ # @!attribute commit
1205
+ #
1206
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::Commit]
1207
+ required :commit,
1208
+ -> { MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::Commit }
1209
+
1210
+ # @!attribute is_enabled
1211
+ # When set to false, the contract will not be evaluated against the
1212
+ # threshold_amount. Toggling to true will result an immediate evaluation,
1213
+ # regardless of prior state.
1214
+ #
1215
+ # @return [Boolean]
1216
+ required :is_enabled, MetronomeSDK::Internal::Type::Boolean
1217
+
1218
+ # @!attribute payment_gate_config
1219
+ #
1220
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig]
1221
+ required :payment_gate_config,
1222
+ -> { MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig }
1223
+
1224
+ # @!attribute threshold_amount
1225
+ # Specify the threshold amount for the contract. Each time the contract's usage
1226
+ # hits this amount, a threshold charge will be initiated.
1227
+ #
1228
+ # @return [Float]
1229
+ required :threshold_amount, Float
1230
+
1231
+ # @!method initialize(commit:, is_enabled:, payment_gate_config:, threshold_amount:)
1232
+ # Some parameter documentations has been truncated, see
1233
+ # {MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration}
1234
+ # for more details.
1235
+ #
1236
+ # @param commit [MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::Commit]
1237
+ #
1238
+ # @param is_enabled [Boolean] When set to false, the contract will not be evaluated against the threshold_amou
1239
+ # ...
1240
+ #
1241
+ # @param payment_gate_config [MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig]
1242
+ #
1243
+ # @param threshold_amount [Float] Specify the threshold amount for the contract. Each time the contract's usage hi
1244
+ # ...
1245
+
1246
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration#commit
1247
+ class Commit < MetronomeSDK::Internal::Type::BaseModel
1248
+ # @!attribute product_id
1249
+ # The commit product that will be used to generate the line item for commit
1250
+ # payment.
1251
+ #
1252
+ # @return [String]
1253
+ required :product_id, String
1254
+
1255
+ # @!attribute description
1256
+ #
1257
+ # @return [String, nil]
1258
+ optional :description, String
1259
+
1260
+ # @!attribute name
1261
+ # Specify the name of the line item for the threshold charge. If left blank, it
1262
+ # will default to the commit product name.
1263
+ #
1264
+ # @return [String, nil]
1265
+ optional :name, String
1266
+
1267
+ # @!method initialize(product_id:, description: nil, name: nil)
1268
+ # Some parameter documentations has been truncated, see
1269
+ # {MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::Commit}
1270
+ # for more details.
1271
+ #
1272
+ # @param product_id [String] The commit product that will be used to generate the line item for commit paymen
1273
+ # ...
1274
+ #
1275
+ # @param description [String]
1276
+ #
1277
+ # @param name [String] Specify the name of the line item for the threshold charge. If left blank, it wi
1278
+ # ...
1279
+ end
1280
+
1281
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration#payment_gate_config
1282
+ class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
1283
+ # @!attribute payment_gate_type
1284
+ # Gate access to the commit balance based on successful collection of payment.
1285
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
1286
+ # facilitate payment using your own payment integration. Select NONE if you do not
1287
+ # wish to payment gate the commit balance.
1288
+ #
1289
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType]
1290
+ required :payment_gate_type,
1291
+ enum: -> { MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType }
1292
+
1293
+ # @!attribute stripe_config
1294
+ # Only applicable if using Stripe as your payment gateway through Metronome.
1295
+ #
1296
+ # @return [MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig, nil]
1297
+ optional :stripe_config,
1298
+ -> { MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig }
1299
+
1300
+ # @!attribute tax_type
1301
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
1302
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
1303
+ # will default to NONE.
1304
+ #
1305
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::TaxType, nil]
1306
+ optional :tax_type,
1307
+ enum: -> { MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::TaxType }
1308
+
1309
+ # @!method initialize(payment_gate_type:, stripe_config: nil, tax_type: nil)
1310
+ # Some parameter documentations has been truncated, see
1311
+ # {MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig}
1312
+ # for more details.
1313
+ #
1314
+ # @param payment_gate_type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PaymentGateType] Gate access to the commit balance based on successful collection of payment. Sel
1315
+ # ...
1316
+ #
1317
+ # @param stripe_config [MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig] Only applicable if using Stripe as your payment gateway through Metronome.
1318
+ #
1319
+ # @param tax_type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::TaxType] Stripe tax is only supported for Stripe payment gateway. Select NONE if you do n
1320
+ # ...
1321
+
1322
+ # Gate access to the commit balance based on successful collection of payment.
1323
+ # Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to
1324
+ # facilitate payment using your own payment integration. Select NONE if you do not
1325
+ # wish to payment gate the commit balance.
1326
+ #
1327
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig#payment_gate_type
1328
+ module PaymentGateType
1329
+ extend MetronomeSDK::Internal::Type::Enum
1330
+
1331
+ NONE = :NONE
1332
+ STRIPE = :STRIPE
1333
+ EXTERNAL = :EXTERNAL
1334
+
1335
+ # @!method self.values
1336
+ # @return [Array<Symbol>]
1337
+ end
1338
+
1339
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig#stripe_config
1340
+ class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
1341
+ # @!attribute payment_type
1342
+ # If left blank, will default to INVOICE
1343
+ #
1344
+ # @return [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType]
1345
+ required :payment_type,
1346
+ enum: -> { MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType }
1347
+
1348
+ # @!method initialize(payment_type:)
1349
+ # Only applicable if using Stripe as your payment gateway through Metronome.
1350
+ #
1351
+ # @param payment_type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::PaymentType] If left blank, will default to INVOICE
1352
+
1353
+ # If left blank, will default to INVOICE
1354
+ #
1355
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig#payment_type
1356
+ module PaymentType
1357
+ extend MetronomeSDK::Internal::Type::Enum
1358
+
1359
+ INVOICE = :INVOICE
1360
+ PAYMENT_INTENT = :PAYMENT_INTENT
1361
+
1362
+ # @!method self.values
1363
+ # @return [Array<Symbol>]
1364
+ end
1365
+ end
1366
+
1367
+ # Stripe tax is only supported for Stripe payment gateway. Select NONE if you do
1368
+ # not wish Metronome to calculate tax on your behalf. Leaving this field blank
1369
+ # will default to NONE.
1370
+ #
1371
+ # @see MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig#tax_type
1372
+ module TaxType
1373
+ extend MetronomeSDK::Internal::Type::Enum
1374
+
1375
+ NONE = :NONE
1376
+ STRIPE = :STRIPE
1377
+
1378
+ # @!method self.values
1379
+ # @return [Array<Symbol>]
1380
+ end
1381
+ end
1382
+ end
1383
+
1384
+ # @see MetronomeSDK::Models::ContractWithoutAmendments#usage_filter
1385
+ class UsageFilter < MetronomeSDK::Internal::Type::BaseModel
1386
+ # @!attribute current
1387
+ #
1388
+ # @return [MetronomeSDK::Models::BaseUsageFilter, nil]
1389
+ required :current, -> { MetronomeSDK::Models::BaseUsageFilter }, nil?: true
1390
+
1391
+ # @!attribute initial
1392
+ #
1393
+ # @return [MetronomeSDK::Models::BaseUsageFilter]
1394
+ required :initial, -> { MetronomeSDK::Models::BaseUsageFilter }
1395
+
1396
+ # @!attribute updates
1397
+ #
1398
+ # @return [Array<MetronomeSDK::Models::ContractWithoutAmendments::UsageFilter::Update>]
1399
+ required :updates,
1400
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::ContractWithoutAmendments::UsageFilter::Update] }
1401
+
1402
+ # @!method initialize(current:, initial:, updates:)
1403
+ # @param current [MetronomeSDK::Models::BaseUsageFilter, nil]
1404
+ # @param initial [MetronomeSDK::Models::BaseUsageFilter]
1405
+ # @param updates [Array<MetronomeSDK::Models::ContractWithoutAmendments::UsageFilter::Update>]
1406
+
1407
+ class Update < MetronomeSDK::Internal::Type::BaseModel
1408
+ # @!attribute group_key
1409
+ #
1410
+ # @return [String]
1411
+ required :group_key, String
1412
+
1413
+ # @!attribute group_values
1414
+ #
1415
+ # @return [Array<String>]
1416
+ required :group_values, MetronomeSDK::Internal::Type::ArrayOf[String]
1417
+
1418
+ # @!attribute starting_at
1419
+ #
1420
+ # @return [Time]
1421
+ required :starting_at, Time
1422
+
1423
+ # @!method initialize(group_key:, group_values:, starting_at:)
1424
+ # @param group_key [String]
1425
+ # @param group_values [Array<String>]
1426
+ # @param starting_at [Time]
1427
+ end
1428
+ end
1429
+ end
1430
+ end
1431
+ end