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,2400 @@
1
+ module MetronomeSDK
2
+ module Models
3
+ module V1
4
+ type contract_create_params =
5
+ {
6
+ customer_id: String,
7
+ starting_at: Time,
8
+ billing_provider_configuration: MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration,
9
+ commits: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit],
10
+ credit_balance_threshold_configuration: MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration,
11
+ credits: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Credit],
12
+ custom_fields: ::Hash[Symbol, String],
13
+ discounts: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Discount],
14
+ ending_before: Time,
15
+ multiplier_override_prioritization: MetronomeSDK::Models::V1::ContractCreateParams::multiplier_override_prioritization,
16
+ name: String,
17
+ net_payment_terms_days: Float,
18
+ netsuite_sales_order_id: String,
19
+ overrides: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Override],
20
+ professional_services: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::ProfessionalService],
21
+ rate_card_alias: String,
22
+ rate_card_id: String,
23
+ recurring_commits: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit],
24
+ recurring_credits: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit],
25
+ reseller_royalties: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty],
26
+ salesforce_opportunity_id: String,
27
+ scheduled_charges: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge],
28
+ scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::ContractCreateParams::scheduled_charges_on_usage_invoices,
29
+ spend_threshold_configuration: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration,
30
+ total_contract_value: Float,
31
+ transition: MetronomeSDK::Models::V1::ContractCreateParams::Transition,
32
+ uniqueness_key: String,
33
+ usage_filter: MetronomeSDK::Models::BaseUsageFilter,
34
+ usage_statement_schedule: MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule
35
+ }
36
+ & MetronomeSDK::Internal::Type::request_parameters
37
+
38
+ class ContractCreateParams < MetronomeSDK::Internal::Type::BaseModel
39
+ extend MetronomeSDK::Internal::Type::RequestParameters::Converter
40
+ include MetronomeSDK::Internal::Type::RequestParameters
41
+
42
+ attr_accessor customer_id: String
43
+
44
+ attr_accessor starting_at: Time
45
+
46
+ attr_reader billing_provider_configuration: MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration?
47
+
48
+ def billing_provider_configuration=: (
49
+ MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration
50
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration
51
+
52
+ attr_reader commits: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit]?
53
+
54
+ def commits=: (
55
+ ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit]
56
+ ) -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit]
57
+
58
+ attr_reader credit_balance_threshold_configuration: MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration?
59
+
60
+ def credit_balance_threshold_configuration=: (
61
+ MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration
62
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration
63
+
64
+ attr_reader credits: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Credit]?
65
+
66
+ def credits=: (
67
+ ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Credit]
68
+ ) -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Credit]
69
+
70
+ attr_reader custom_fields: ::Hash[Symbol, String]?
71
+
72
+ def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
73
+
74
+ attr_reader discounts: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Discount]?
75
+
76
+ def discounts=: (
77
+ ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Discount]
78
+ ) -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Discount]
79
+
80
+ attr_reader ending_before: Time?
81
+
82
+ def ending_before=: (Time) -> Time
83
+
84
+ attr_reader multiplier_override_prioritization: MetronomeSDK::Models::V1::ContractCreateParams::multiplier_override_prioritization?
85
+
86
+ def multiplier_override_prioritization=: (
87
+ MetronomeSDK::Models::V1::ContractCreateParams::multiplier_override_prioritization
88
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::multiplier_override_prioritization
89
+
90
+ attr_reader name: String?
91
+
92
+ def name=: (String) -> String
93
+
94
+ attr_reader net_payment_terms_days: Float?
95
+
96
+ def net_payment_terms_days=: (Float) -> Float
97
+
98
+ attr_reader netsuite_sales_order_id: String?
99
+
100
+ def netsuite_sales_order_id=: (String) -> String
101
+
102
+ attr_reader overrides: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Override]?
103
+
104
+ def overrides=: (
105
+ ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Override]
106
+ ) -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Override]
107
+
108
+ attr_reader professional_services: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::ProfessionalService]?
109
+
110
+ def professional_services=: (
111
+ ::Array[MetronomeSDK::Models::V1::ContractCreateParams::ProfessionalService]
112
+ ) -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::ProfessionalService]
113
+
114
+ attr_reader rate_card_alias: String?
115
+
116
+ def rate_card_alias=: (String) -> String
117
+
118
+ attr_reader rate_card_id: String?
119
+
120
+ def rate_card_id=: (String) -> String
121
+
122
+ attr_reader recurring_commits: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit]?
123
+
124
+ def recurring_commits=: (
125
+ ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit]
126
+ ) -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit]
127
+
128
+ attr_reader recurring_credits: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit]?
129
+
130
+ def recurring_credits=: (
131
+ ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit]
132
+ ) -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit]
133
+
134
+ attr_reader reseller_royalties: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty]?
135
+
136
+ def reseller_royalties=: (
137
+ ::Array[MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty]
138
+ ) -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty]
139
+
140
+ attr_reader salesforce_opportunity_id: String?
141
+
142
+ def salesforce_opportunity_id=: (String) -> String
143
+
144
+ attr_reader scheduled_charges: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge]?
145
+
146
+ def scheduled_charges=: (
147
+ ::Array[MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge]
148
+ ) -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge]
149
+
150
+ attr_reader scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::ContractCreateParams::scheduled_charges_on_usage_invoices?
151
+
152
+ def scheduled_charges_on_usage_invoices=: (
153
+ MetronomeSDK::Models::V1::ContractCreateParams::scheduled_charges_on_usage_invoices
154
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::scheduled_charges_on_usage_invoices
155
+
156
+ attr_reader spend_threshold_configuration: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration?
157
+
158
+ def spend_threshold_configuration=: (
159
+ MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration
160
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration
161
+
162
+ attr_reader total_contract_value: Float?
163
+
164
+ def total_contract_value=: (Float) -> Float
165
+
166
+ attr_reader transition: MetronomeSDK::Models::V1::ContractCreateParams::Transition?
167
+
168
+ def transition=: (
169
+ MetronomeSDK::Models::V1::ContractCreateParams::Transition
170
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::Transition
171
+
172
+ attr_reader uniqueness_key: String?
173
+
174
+ def uniqueness_key=: (String) -> String
175
+
176
+ attr_reader usage_filter: MetronomeSDK::Models::BaseUsageFilter?
177
+
178
+ def usage_filter=: (
179
+ MetronomeSDK::Models::BaseUsageFilter
180
+ ) -> MetronomeSDK::Models::BaseUsageFilter
181
+
182
+ attr_reader usage_statement_schedule: MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule?
183
+
184
+ def usage_statement_schedule=: (
185
+ MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule
186
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule
187
+
188
+ def initialize: (
189
+ customer_id: String,
190
+ starting_at: Time,
191
+ ?billing_provider_configuration: MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration,
192
+ ?commits: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit],
193
+ ?credit_balance_threshold_configuration: MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration,
194
+ ?credits: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Credit],
195
+ ?custom_fields: ::Hash[Symbol, String],
196
+ ?discounts: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Discount],
197
+ ?ending_before: Time,
198
+ ?multiplier_override_prioritization: MetronomeSDK::Models::V1::ContractCreateParams::multiplier_override_prioritization,
199
+ ?name: String,
200
+ ?net_payment_terms_days: Float,
201
+ ?netsuite_sales_order_id: String,
202
+ ?overrides: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Override],
203
+ ?professional_services: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::ProfessionalService],
204
+ ?rate_card_alias: String,
205
+ ?rate_card_id: String,
206
+ ?recurring_commits: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit],
207
+ ?recurring_credits: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit],
208
+ ?reseller_royalties: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty],
209
+ ?salesforce_opportunity_id: String,
210
+ ?scheduled_charges: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge],
211
+ ?scheduled_charges_on_usage_invoices: MetronomeSDK::Models::V1::ContractCreateParams::scheduled_charges_on_usage_invoices,
212
+ ?spend_threshold_configuration: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration,
213
+ ?total_contract_value: Float,
214
+ ?transition: MetronomeSDK::Models::V1::ContractCreateParams::Transition,
215
+ ?uniqueness_key: String,
216
+ ?usage_filter: MetronomeSDK::Models::BaseUsageFilter,
217
+ ?usage_statement_schedule: MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule,
218
+ ?request_options: MetronomeSDK::request_opts
219
+ ) -> void
220
+
221
+ def to_hash: -> MetronomeSDK::Models::V1::contract_create_params
222
+
223
+ type billing_provider_configuration =
224
+ {
225
+ billing_provider: MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::billing_provider,
226
+ billing_provider_configuration_id: String,
227
+ delivery_method: MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::delivery_method
228
+ }
229
+
230
+ class BillingProviderConfiguration < MetronomeSDK::Internal::Type::BaseModel
231
+ attr_reader billing_provider: MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::billing_provider?
232
+
233
+ def billing_provider=: (
234
+ MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::billing_provider
235
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::billing_provider
236
+
237
+ attr_reader billing_provider_configuration_id: String?
238
+
239
+ def billing_provider_configuration_id=: (String) -> String
240
+
241
+ attr_reader delivery_method: MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::delivery_method?
242
+
243
+ def delivery_method=: (
244
+ MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::delivery_method
245
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::delivery_method
246
+
247
+ def initialize: (
248
+ ?billing_provider: MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::billing_provider,
249
+ ?billing_provider_configuration_id: String,
250
+ ?delivery_method: MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::delivery_method
251
+ ) -> void
252
+
253
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::billing_provider_configuration
254
+
255
+ type billing_provider =
256
+ :aws_marketplace
257
+ | :azure_marketplace
258
+ | :gcp_marketplace
259
+ | :stripe
260
+ | :netsuite
261
+
262
+ module BillingProvider
263
+ extend MetronomeSDK::Internal::Type::Enum
264
+
265
+ AWS_MARKETPLACE: :aws_marketplace
266
+ AZURE_MARKETPLACE: :azure_marketplace
267
+ GCP_MARKETPLACE: :gcp_marketplace
268
+ STRIPE: :stripe
269
+ NETSUITE: :netsuite
270
+
271
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::billing_provider]
272
+ end
273
+
274
+ type delivery_method =
275
+ :direct_to_billing_provider | :aws_sqs | :tackle | :aws_sns
276
+
277
+ module DeliveryMethod
278
+ extend MetronomeSDK::Internal::Type::Enum
279
+
280
+ DIRECT_TO_BILLING_PROVIDER: :direct_to_billing_provider
281
+ AWS_SQS: :aws_sqs
282
+ TACKLE: :tackle
283
+ AWS_SNS: :aws_sns
284
+
285
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::BillingProviderConfiguration::delivery_method]
286
+ end
287
+ end
288
+
289
+ type commit =
290
+ {
291
+ product_id: String,
292
+ type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::type_,
293
+ access_schedule: MetronomeSDK::Models::V1::ContractCreateParams::Commit::AccessSchedule,
294
+ amount: Float,
295
+ applicable_product_ids: ::Array[String],
296
+ applicable_product_tags: ::Array[String],
297
+ custom_fields: ::Hash[Symbol, String],
298
+ description: String,
299
+ invoice_schedule: MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule,
300
+ name: String,
301
+ netsuite_sales_order_id: String,
302
+ payment_gate_config: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig,
303
+ priority: Float,
304
+ rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::rate_type,
305
+ rollover_fraction: Float,
306
+ temporary_id: String
307
+ }
308
+
309
+ class Commit < MetronomeSDK::Internal::Type::BaseModel
310
+ attr_accessor product_id: String
311
+
312
+ attr_accessor type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::type_
313
+
314
+ attr_reader access_schedule: MetronomeSDK::Models::V1::ContractCreateParams::Commit::AccessSchedule?
315
+
316
+ def access_schedule=: (
317
+ MetronomeSDK::Models::V1::ContractCreateParams::Commit::AccessSchedule
318
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::Commit::AccessSchedule
319
+
320
+ attr_reader amount: Float?
321
+
322
+ def amount=: (Float) -> Float
323
+
324
+ attr_reader applicable_product_ids: ::Array[String]?
325
+
326
+ def applicable_product_ids=: (::Array[String]) -> ::Array[String]
327
+
328
+ attr_reader applicable_product_tags: ::Array[String]?
329
+
330
+ def applicable_product_tags=: (::Array[String]) -> ::Array[String]
331
+
332
+ attr_reader custom_fields: ::Hash[Symbol, String]?
333
+
334
+ def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
335
+
336
+ attr_reader description: String?
337
+
338
+ def description=: (String) -> String
339
+
340
+ attr_reader invoice_schedule: MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule?
341
+
342
+ def invoice_schedule=: (
343
+ MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule
344
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule
345
+
346
+ attr_reader name: String?
347
+
348
+ def name=: (String) -> String
349
+
350
+ attr_reader netsuite_sales_order_id: String?
351
+
352
+ def netsuite_sales_order_id=: (String) -> String
353
+
354
+ attr_reader payment_gate_config: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig?
355
+
356
+ def payment_gate_config=: (
357
+ MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig
358
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig
359
+
360
+ attr_reader priority: Float?
361
+
362
+ def priority=: (Float) -> Float
363
+
364
+ attr_reader rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::rate_type?
365
+
366
+ def rate_type=: (
367
+ MetronomeSDK::Models::V1::ContractCreateParams::Commit::rate_type
368
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::Commit::rate_type
369
+
370
+ attr_reader rollover_fraction: Float?
371
+
372
+ def rollover_fraction=: (Float) -> Float
373
+
374
+ attr_reader temporary_id: String?
375
+
376
+ def temporary_id=: (String) -> String
377
+
378
+ def initialize: (
379
+ product_id: String,
380
+ type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::type_,
381
+ ?access_schedule: MetronomeSDK::Models::V1::ContractCreateParams::Commit::AccessSchedule,
382
+ ?amount: Float,
383
+ ?applicable_product_ids: ::Array[String],
384
+ ?applicable_product_tags: ::Array[String],
385
+ ?custom_fields: ::Hash[Symbol, String],
386
+ ?description: String,
387
+ ?invoice_schedule: MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule,
388
+ ?name: String,
389
+ ?netsuite_sales_order_id: String,
390
+ ?payment_gate_config: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig,
391
+ ?priority: Float,
392
+ ?rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::rate_type,
393
+ ?rollover_fraction: Float,
394
+ ?temporary_id: String
395
+ ) -> void
396
+
397
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::commit
398
+
399
+ type type_ = :PREPAID | :POSTPAID
400
+
401
+ module Type
402
+ extend MetronomeSDK::Internal::Type::Enum
403
+
404
+ PREPAID: :PREPAID
405
+ POSTPAID: :POSTPAID
406
+
407
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::type_]
408
+ end
409
+
410
+ type access_schedule =
411
+ {
412
+ schedule_items: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::AccessSchedule::ScheduleItem],
413
+ credit_type_id: String
414
+ }
415
+
416
+ class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
417
+ attr_accessor schedule_items: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::AccessSchedule::ScheduleItem]
418
+
419
+ attr_reader credit_type_id: String?
420
+
421
+ def credit_type_id=: (String) -> String
422
+
423
+ def initialize: (
424
+ schedule_items: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::AccessSchedule::ScheduleItem],
425
+ ?credit_type_id: String
426
+ ) -> void
427
+
428
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::Commit::access_schedule
429
+
430
+ type schedule_item =
431
+ { amount: Float, ending_before: Time, starting_at: Time }
432
+
433
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
434
+ attr_accessor amount: Float
435
+
436
+ attr_accessor ending_before: Time
437
+
438
+ attr_accessor starting_at: Time
439
+
440
+ def initialize: (
441
+ amount: Float,
442
+ ending_before: Time,
443
+ starting_at: Time
444
+ ) -> void
445
+
446
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::Commit::AccessSchedule::schedule_item
447
+ end
448
+ end
449
+
450
+ type invoice_schedule =
451
+ {
452
+ credit_type_id: String,
453
+ recurring_schedule: MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule,
454
+ schedule_items: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::ScheduleItem]
455
+ }
456
+
457
+ class InvoiceSchedule < MetronomeSDK::Internal::Type::BaseModel
458
+ attr_reader credit_type_id: String?
459
+
460
+ def credit_type_id=: (String) -> String
461
+
462
+ attr_reader recurring_schedule: MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule?
463
+
464
+ def recurring_schedule=: (
465
+ MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule
466
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule
467
+
468
+ attr_reader schedule_items: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::ScheduleItem]?
469
+
470
+ def schedule_items=: (
471
+ ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::ScheduleItem]
472
+ ) -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::ScheduleItem]
473
+
474
+ def initialize: (
475
+ ?credit_type_id: String,
476
+ ?recurring_schedule: MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule,
477
+ ?schedule_items: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::ScheduleItem]
478
+ ) -> void
479
+
480
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::Commit::invoice_schedule
481
+
482
+ type recurring_schedule =
483
+ {
484
+ amount_distribution: MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::amount_distribution,
485
+ ending_before: Time,
486
+ frequency: MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::frequency,
487
+ starting_at: Time,
488
+ amount: Float,
489
+ quantity: Float,
490
+ unit_price: Float
491
+ }
492
+
493
+ class RecurringSchedule < MetronomeSDK::Internal::Type::BaseModel
494
+ attr_accessor amount_distribution: MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::amount_distribution
495
+
496
+ attr_accessor ending_before: Time
497
+
498
+ attr_accessor frequency: MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::frequency
499
+
500
+ attr_accessor starting_at: Time
501
+
502
+ attr_reader amount: Float?
503
+
504
+ def amount=: (Float) -> Float
505
+
506
+ attr_reader quantity: Float?
507
+
508
+ def quantity=: (Float) -> Float
509
+
510
+ attr_reader unit_price: Float?
511
+
512
+ def unit_price=: (Float) -> Float
513
+
514
+ def initialize: (
515
+ amount_distribution: MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::amount_distribution,
516
+ ending_before: Time,
517
+ frequency: MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::frequency,
518
+ starting_at: Time,
519
+ ?amount: Float,
520
+ ?quantity: Float,
521
+ ?unit_price: Float
522
+ ) -> void
523
+
524
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::recurring_schedule
525
+
526
+ type amount_distribution = :DIVIDED | :DIVIDED_ROUNDED | :EACH
527
+
528
+ module AmountDistribution
529
+ extend MetronomeSDK::Internal::Type::Enum
530
+
531
+ DIVIDED: :DIVIDED
532
+ DIVIDED_ROUNDED: :DIVIDED_ROUNDED
533
+ EACH: :EACH
534
+
535
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::amount_distribution]
536
+ end
537
+
538
+ type frequency = :MONTHLY | :QUARTERLY | :SEMI_ANNUAL | :ANNUAL
539
+
540
+ module Frequency
541
+ extend MetronomeSDK::Internal::Type::Enum
542
+
543
+ MONTHLY: :MONTHLY
544
+ QUARTERLY: :QUARTERLY
545
+ SEMI_ANNUAL: :SEMI_ANNUAL
546
+ ANNUAL: :ANNUAL
547
+
548
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::RecurringSchedule::frequency]
549
+ end
550
+ end
551
+
552
+ type schedule_item =
553
+ {
554
+ timestamp: Time,
555
+ amount: Float,
556
+ quantity: Float,
557
+ unit_price: Float
558
+ }
559
+
560
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
561
+ attr_accessor timestamp: Time
562
+
563
+ attr_reader amount: Float?
564
+
565
+ def amount=: (Float) -> Float
566
+
567
+ attr_reader quantity: Float?
568
+
569
+ def quantity=: (Float) -> Float
570
+
571
+ attr_reader unit_price: Float?
572
+
573
+ def unit_price=: (Float) -> Float
574
+
575
+ def initialize: (
576
+ timestamp: Time,
577
+ ?amount: Float,
578
+ ?quantity: Float,
579
+ ?unit_price: Float
580
+ ) -> void
581
+
582
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::Commit::InvoiceSchedule::schedule_item
583
+ end
584
+ end
585
+
586
+ type payment_gate_config =
587
+ {
588
+ payment_gate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::payment_gate_type,
589
+ stripe_config: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig,
590
+ tax_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type
591
+ }
592
+
593
+ class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
594
+ attr_accessor payment_gate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::payment_gate_type
595
+
596
+ attr_reader stripe_config: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig?
597
+
598
+ def stripe_config=: (
599
+ MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig
600
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig
601
+
602
+ attr_reader tax_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type?
603
+
604
+ def tax_type=: (
605
+ MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type
606
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type
607
+
608
+ def initialize: (
609
+ payment_gate_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::payment_gate_type,
610
+ ?stripe_config: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig,
611
+ ?tax_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type
612
+ ) -> void
613
+
614
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::Commit::payment_gate_config
615
+
616
+ type payment_gate_type = :NONE | :STRIPE | :EXTERNAL
617
+
618
+ module PaymentGateType
619
+ extend MetronomeSDK::Internal::Type::Enum
620
+
621
+ NONE: :NONE
622
+ STRIPE: :STRIPE
623
+ EXTERNAL: :EXTERNAL
624
+
625
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::payment_gate_type]
626
+ end
627
+
628
+ type stripe_config =
629
+ {
630
+ payment_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::payment_type
631
+ }
632
+
633
+ class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
634
+ attr_accessor payment_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::payment_type
635
+
636
+ def initialize: (
637
+ payment_type: MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::payment_type
638
+ ) -> void
639
+
640
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::stripe_config
641
+
642
+ type payment_type = :INVOICE | :PAYMENT_INTENT
643
+
644
+ module PaymentType
645
+ extend MetronomeSDK::Internal::Type::Enum
646
+
647
+ INVOICE: :INVOICE
648
+ PAYMENT_INTENT: :PAYMENT_INTENT
649
+
650
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::StripeConfig::payment_type]
651
+ end
652
+ end
653
+
654
+ type tax_type = :NONE | :STRIPE
655
+
656
+ module TaxType
657
+ extend MetronomeSDK::Internal::Type::Enum
658
+
659
+ NONE: :NONE
660
+ STRIPE: :STRIPE
661
+
662
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::PaymentGateConfig::tax_type]
663
+ end
664
+ end
665
+
666
+ type rate_type = :COMMIT_RATE | :LIST_RATE
667
+
668
+ module RateType
669
+ extend MetronomeSDK::Internal::Type::Enum
670
+
671
+ COMMIT_RATE: :COMMIT_RATE
672
+ LIST_RATE: :LIST_RATE
673
+
674
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Commit::rate_type]
675
+ end
676
+ end
677
+
678
+ type credit_balance_threshold_configuration =
679
+ {
680
+ commit: MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::Commit,
681
+ is_enabled: bool,
682
+ payment_gate_config: MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig,
683
+ recharge_to_amount: Float,
684
+ threshold_amount: Float
685
+ }
686
+
687
+ class CreditBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
688
+ attr_accessor commit: MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::Commit
689
+
690
+ attr_accessor is_enabled: bool
691
+
692
+ attr_accessor payment_gate_config: MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig
693
+
694
+ attr_accessor recharge_to_amount: Float
695
+
696
+ attr_accessor threshold_amount: Float
697
+
698
+ def initialize: (
699
+ commit: MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::Commit,
700
+ is_enabled: bool,
701
+ payment_gate_config: MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig,
702
+ recharge_to_amount: Float,
703
+ threshold_amount: Float
704
+ ) -> void
705
+
706
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::credit_balance_threshold_configuration
707
+
708
+ type commit =
709
+ {
710
+ product_id: String,
711
+ applicable_product_ids: ::Array[String],
712
+ applicable_product_tags: ::Array[String],
713
+ description: String,
714
+ name: String
715
+ }
716
+
717
+ class Commit < MetronomeSDK::Internal::Type::BaseModel
718
+ attr_accessor product_id: String
719
+
720
+ attr_reader applicable_product_ids: ::Array[String]?
721
+
722
+ def applicable_product_ids=: (::Array[String]) -> ::Array[String]
723
+
724
+ attr_reader applicable_product_tags: ::Array[String]?
725
+
726
+ def applicable_product_tags=: (::Array[String]) -> ::Array[String]
727
+
728
+ attr_reader description: String?
729
+
730
+ def description=: (String) -> String
731
+
732
+ attr_reader name: String?
733
+
734
+ def name=: (String) -> String
735
+
736
+ def initialize: (
737
+ product_id: String,
738
+ ?applicable_product_ids: ::Array[String],
739
+ ?applicable_product_tags: ::Array[String],
740
+ ?description: String,
741
+ ?name: String
742
+ ) -> void
743
+
744
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::commit
745
+ end
746
+
747
+ type payment_gate_config =
748
+ {
749
+ payment_gate_type: MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type,
750
+ stripe_config: MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig,
751
+ tax_type: MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::tax_type
752
+ }
753
+
754
+ class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
755
+ attr_accessor payment_gate_type: MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type
756
+
757
+ attr_reader stripe_config: MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig?
758
+
759
+ def stripe_config=: (
760
+ MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig
761
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig
762
+
763
+ attr_reader tax_type: MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::tax_type?
764
+
765
+ def tax_type=: (
766
+ MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::tax_type
767
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::tax_type
768
+
769
+ def initialize: (
770
+ payment_gate_type: MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type,
771
+ ?stripe_config: MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig,
772
+ ?tax_type: MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::tax_type
773
+ ) -> void
774
+
775
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::payment_gate_config
776
+
777
+ type payment_gate_type = :NONE | :STRIPE | :EXTERNAL
778
+
779
+ module PaymentGateType
780
+ extend MetronomeSDK::Internal::Type::Enum
781
+
782
+ NONE: :NONE
783
+ STRIPE: :STRIPE
784
+ EXTERNAL: :EXTERNAL
785
+
786
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type]
787
+ end
788
+
789
+ type stripe_config =
790
+ {
791
+ payment_type: MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
792
+ }
793
+
794
+ class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
795
+ attr_accessor payment_type: MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
796
+
797
+ def initialize: (
798
+ payment_type: MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
799
+ ) -> void
800
+
801
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::stripe_config
802
+
803
+ type payment_type = :INVOICE | :PAYMENT_INTENT
804
+
805
+ module PaymentType
806
+ extend MetronomeSDK::Internal::Type::Enum
807
+
808
+ INVOICE: :INVOICE
809
+ PAYMENT_INTENT: :PAYMENT_INTENT
810
+
811
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type]
812
+ end
813
+ end
814
+
815
+ type tax_type = :NONE | :STRIPE
816
+
817
+ module TaxType
818
+ extend MetronomeSDK::Internal::Type::Enum
819
+
820
+ NONE: :NONE
821
+ STRIPE: :STRIPE
822
+
823
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::CreditBalanceThresholdConfiguration::PaymentGateConfig::tax_type]
824
+ end
825
+ end
826
+ end
827
+
828
+ type credit =
829
+ {
830
+ access_schedule: MetronomeSDK::Models::V1::ContractCreateParams::Credit::AccessSchedule,
831
+ product_id: String,
832
+ applicable_product_ids: ::Array[String],
833
+ applicable_product_tags: ::Array[String],
834
+ custom_fields: ::Hash[Symbol, String],
835
+ description: String,
836
+ name: String,
837
+ netsuite_sales_order_id: String,
838
+ priority: Float,
839
+ rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Credit::rate_type
840
+ }
841
+
842
+ class Credit < MetronomeSDK::Internal::Type::BaseModel
843
+ attr_accessor access_schedule: MetronomeSDK::Models::V1::ContractCreateParams::Credit::AccessSchedule
844
+
845
+ attr_accessor product_id: String
846
+
847
+ attr_reader applicable_product_ids: ::Array[String]?
848
+
849
+ def applicable_product_ids=: (::Array[String]) -> ::Array[String]
850
+
851
+ attr_reader applicable_product_tags: ::Array[String]?
852
+
853
+ def applicable_product_tags=: (::Array[String]) -> ::Array[String]
854
+
855
+ attr_reader custom_fields: ::Hash[Symbol, String]?
856
+
857
+ def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
858
+
859
+ attr_reader description: String?
860
+
861
+ def description=: (String) -> String
862
+
863
+ attr_reader name: String?
864
+
865
+ def name=: (String) -> String
866
+
867
+ attr_reader netsuite_sales_order_id: String?
868
+
869
+ def netsuite_sales_order_id=: (String) -> String
870
+
871
+ attr_reader priority: Float?
872
+
873
+ def priority=: (Float) -> Float
874
+
875
+ attr_reader rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Credit::rate_type?
876
+
877
+ def rate_type=: (
878
+ MetronomeSDK::Models::V1::ContractCreateParams::Credit::rate_type
879
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::Credit::rate_type
880
+
881
+ def initialize: (
882
+ access_schedule: MetronomeSDK::Models::V1::ContractCreateParams::Credit::AccessSchedule,
883
+ product_id: String,
884
+ ?applicable_product_ids: ::Array[String],
885
+ ?applicable_product_tags: ::Array[String],
886
+ ?custom_fields: ::Hash[Symbol, String],
887
+ ?description: String,
888
+ ?name: String,
889
+ ?netsuite_sales_order_id: String,
890
+ ?priority: Float,
891
+ ?rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Credit::rate_type
892
+ ) -> void
893
+
894
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::credit
895
+
896
+ type access_schedule =
897
+ {
898
+ schedule_items: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Credit::AccessSchedule::ScheduleItem],
899
+ credit_type_id: String
900
+ }
901
+
902
+ class AccessSchedule < MetronomeSDK::Internal::Type::BaseModel
903
+ attr_accessor schedule_items: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Credit::AccessSchedule::ScheduleItem]
904
+
905
+ attr_reader credit_type_id: String?
906
+
907
+ def credit_type_id=: (String) -> String
908
+
909
+ def initialize: (
910
+ schedule_items: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Credit::AccessSchedule::ScheduleItem],
911
+ ?credit_type_id: String
912
+ ) -> void
913
+
914
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::Credit::access_schedule
915
+
916
+ type schedule_item =
917
+ { amount: Float, ending_before: Time, starting_at: Time }
918
+
919
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
920
+ attr_accessor amount: Float
921
+
922
+ attr_accessor ending_before: Time
923
+
924
+ attr_accessor starting_at: Time
925
+
926
+ def initialize: (
927
+ amount: Float,
928
+ ending_before: Time,
929
+ starting_at: Time
930
+ ) -> void
931
+
932
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::Credit::AccessSchedule::schedule_item
933
+ end
934
+ end
935
+
936
+ type rate_type = :COMMIT_RATE | :LIST_RATE
937
+
938
+ module RateType
939
+ extend MetronomeSDK::Internal::Type::Enum
940
+
941
+ COMMIT_RATE: :COMMIT_RATE
942
+ LIST_RATE: :LIST_RATE
943
+
944
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Credit::rate_type]
945
+ end
946
+ end
947
+
948
+ type discount =
949
+ {
950
+ product_id: String,
951
+ schedule: MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule,
952
+ custom_fields: ::Hash[Symbol, String],
953
+ name: String,
954
+ netsuite_sales_order_id: String
955
+ }
956
+
957
+ class Discount < MetronomeSDK::Internal::Type::BaseModel
958
+ attr_accessor product_id: String
959
+
960
+ attr_accessor schedule: MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule
961
+
962
+ attr_reader custom_fields: ::Hash[Symbol, String]?
963
+
964
+ def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
965
+
966
+ attr_reader name: String?
967
+
968
+ def name=: (String) -> String
969
+
970
+ attr_reader netsuite_sales_order_id: String?
971
+
972
+ def netsuite_sales_order_id=: (String) -> String
973
+
974
+ def initialize: (
975
+ product_id: String,
976
+ schedule: MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule,
977
+ ?custom_fields: ::Hash[Symbol, String],
978
+ ?name: String,
979
+ ?netsuite_sales_order_id: String
980
+ ) -> void
981
+
982
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::discount
983
+
984
+ type schedule =
985
+ {
986
+ credit_type_id: String,
987
+ recurring_schedule: MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule,
988
+ schedule_items: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::ScheduleItem]
989
+ }
990
+
991
+ class Schedule < MetronomeSDK::Internal::Type::BaseModel
992
+ attr_reader credit_type_id: String?
993
+
994
+ def credit_type_id=: (String) -> String
995
+
996
+ attr_reader recurring_schedule: MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule?
997
+
998
+ def recurring_schedule=: (
999
+ MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule
1000
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule
1001
+
1002
+ attr_reader schedule_items: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::ScheduleItem]?
1003
+
1004
+ def schedule_items=: (
1005
+ ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::ScheduleItem]
1006
+ ) -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::ScheduleItem]
1007
+
1008
+ def initialize: (
1009
+ ?credit_type_id: String,
1010
+ ?recurring_schedule: MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule,
1011
+ ?schedule_items: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::ScheduleItem]
1012
+ ) -> void
1013
+
1014
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::Discount::schedule
1015
+
1016
+ type recurring_schedule =
1017
+ {
1018
+ amount_distribution: MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::amount_distribution,
1019
+ ending_before: Time,
1020
+ frequency: MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::frequency,
1021
+ starting_at: Time,
1022
+ amount: Float,
1023
+ quantity: Float,
1024
+ unit_price: Float
1025
+ }
1026
+
1027
+ class RecurringSchedule < MetronomeSDK::Internal::Type::BaseModel
1028
+ attr_accessor amount_distribution: MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::amount_distribution
1029
+
1030
+ attr_accessor ending_before: Time
1031
+
1032
+ attr_accessor frequency: MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::frequency
1033
+
1034
+ attr_accessor starting_at: Time
1035
+
1036
+ attr_reader amount: Float?
1037
+
1038
+ def amount=: (Float) -> Float
1039
+
1040
+ attr_reader quantity: Float?
1041
+
1042
+ def quantity=: (Float) -> Float
1043
+
1044
+ attr_reader unit_price: Float?
1045
+
1046
+ def unit_price=: (Float) -> Float
1047
+
1048
+ def initialize: (
1049
+ amount_distribution: MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::amount_distribution,
1050
+ ending_before: Time,
1051
+ frequency: MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::frequency,
1052
+ starting_at: Time,
1053
+ ?amount: Float,
1054
+ ?quantity: Float,
1055
+ ?unit_price: Float
1056
+ ) -> void
1057
+
1058
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::recurring_schedule
1059
+
1060
+ type amount_distribution = :DIVIDED | :DIVIDED_ROUNDED | :EACH
1061
+
1062
+ module AmountDistribution
1063
+ extend MetronomeSDK::Internal::Type::Enum
1064
+
1065
+ DIVIDED: :DIVIDED
1066
+ DIVIDED_ROUNDED: :DIVIDED_ROUNDED
1067
+ EACH: :EACH
1068
+
1069
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::amount_distribution]
1070
+ end
1071
+
1072
+ type frequency = :MONTHLY | :QUARTERLY | :SEMI_ANNUAL | :ANNUAL
1073
+
1074
+ module Frequency
1075
+ extend MetronomeSDK::Internal::Type::Enum
1076
+
1077
+ MONTHLY: :MONTHLY
1078
+ QUARTERLY: :QUARTERLY
1079
+ SEMI_ANNUAL: :SEMI_ANNUAL
1080
+ ANNUAL: :ANNUAL
1081
+
1082
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::RecurringSchedule::frequency]
1083
+ end
1084
+ end
1085
+
1086
+ type schedule_item =
1087
+ {
1088
+ timestamp: Time,
1089
+ amount: Float,
1090
+ quantity: Float,
1091
+ unit_price: Float
1092
+ }
1093
+
1094
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
1095
+ attr_accessor timestamp: Time
1096
+
1097
+ attr_reader amount: Float?
1098
+
1099
+ def amount=: (Float) -> Float
1100
+
1101
+ attr_reader quantity: Float?
1102
+
1103
+ def quantity=: (Float) -> Float
1104
+
1105
+ attr_reader unit_price: Float?
1106
+
1107
+ def unit_price=: (Float) -> Float
1108
+
1109
+ def initialize: (
1110
+ timestamp: Time,
1111
+ ?amount: Float,
1112
+ ?quantity: Float,
1113
+ ?unit_price: Float
1114
+ ) -> void
1115
+
1116
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::Discount::Schedule::schedule_item
1117
+ end
1118
+ end
1119
+ end
1120
+
1121
+ type multiplier_override_prioritization = :LOWEST_MULTIPLIER | :EXPLICIT
1122
+
1123
+ module MultiplierOverridePrioritization
1124
+ extend MetronomeSDK::Internal::Type::Enum
1125
+
1126
+ LOWEST_MULTIPLIER: :LOWEST_MULTIPLIER
1127
+ EXPLICIT: :EXPLICIT
1128
+
1129
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::multiplier_override_prioritization]
1130
+ end
1131
+
1132
+ type override =
1133
+ {
1134
+ starting_at: Time,
1135
+ applicable_product_tags: ::Array[String],
1136
+ ending_before: Time,
1137
+ entitled: bool,
1138
+ is_commit_specific: bool,
1139
+ multiplier: Float,
1140
+ override_specifiers: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier],
1141
+ overwrite_rate: MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate,
1142
+ priority: Float,
1143
+ product_id: String,
1144
+ target: MetronomeSDK::Models::V1::ContractCreateParams::Override::target,
1145
+ tiers: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Override::Tier],
1146
+ type: MetronomeSDK::Models::V1::ContractCreateParams::Override::type_
1147
+ }
1148
+
1149
+ class Override < MetronomeSDK::Internal::Type::BaseModel
1150
+ attr_accessor starting_at: Time
1151
+
1152
+ attr_reader applicable_product_tags: ::Array[String]?
1153
+
1154
+ def applicable_product_tags=: (::Array[String]) -> ::Array[String]
1155
+
1156
+ attr_reader ending_before: Time?
1157
+
1158
+ def ending_before=: (Time) -> Time
1159
+
1160
+ attr_reader entitled: bool?
1161
+
1162
+ def entitled=: (bool) -> bool
1163
+
1164
+ attr_reader is_commit_specific: bool?
1165
+
1166
+ def is_commit_specific=: (bool) -> bool
1167
+
1168
+ attr_reader multiplier: Float?
1169
+
1170
+ def multiplier=: (Float) -> Float
1171
+
1172
+ attr_reader override_specifiers: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier]?
1173
+
1174
+ def override_specifiers=: (
1175
+ ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier]
1176
+ ) -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier]
1177
+
1178
+ attr_reader overwrite_rate: MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate?
1179
+
1180
+ def overwrite_rate=: (
1181
+ MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate
1182
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate
1183
+
1184
+ attr_reader priority: Float?
1185
+
1186
+ def priority=: (Float) -> Float
1187
+
1188
+ attr_reader product_id: String?
1189
+
1190
+ def product_id=: (String) -> String
1191
+
1192
+ attr_reader target: MetronomeSDK::Models::V1::ContractCreateParams::Override::target?
1193
+
1194
+ def target=: (
1195
+ MetronomeSDK::Models::V1::ContractCreateParams::Override::target
1196
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::Override::target
1197
+
1198
+ attr_reader tiers: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Override::Tier]?
1199
+
1200
+ def tiers=: (
1201
+ ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Override::Tier]
1202
+ ) -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Override::Tier]
1203
+
1204
+ attr_reader type: MetronomeSDK::Models::V1::ContractCreateParams::Override::type_?
1205
+
1206
+ def type=: (
1207
+ MetronomeSDK::Models::V1::ContractCreateParams::Override::type_
1208
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::Override::type_
1209
+
1210
+ def initialize: (
1211
+ starting_at: Time,
1212
+ ?applicable_product_tags: ::Array[String],
1213
+ ?ending_before: Time,
1214
+ ?entitled: bool,
1215
+ ?is_commit_specific: bool,
1216
+ ?multiplier: Float,
1217
+ ?override_specifiers: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Override::OverrideSpecifier],
1218
+ ?overwrite_rate: MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate,
1219
+ ?priority: Float,
1220
+ ?product_id: String,
1221
+ ?target: MetronomeSDK::Models::V1::ContractCreateParams::Override::target,
1222
+ ?tiers: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Override::Tier],
1223
+ ?type: MetronomeSDK::Models::V1::ContractCreateParams::Override::type_
1224
+ ) -> void
1225
+
1226
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::override
1227
+
1228
+ type override_specifier =
1229
+ {
1230
+ commit_ids: ::Array[String],
1231
+ presentation_group_values: ::Hash[Symbol, String],
1232
+ pricing_group_values: ::Hash[Symbol, String],
1233
+ product_id: String,
1234
+ product_tags: ::Array[String],
1235
+ recurring_commit_ids: ::Array[String],
1236
+ recurring_credit_ids: ::Array[String]
1237
+ }
1238
+
1239
+ class OverrideSpecifier < MetronomeSDK::Internal::Type::BaseModel
1240
+ attr_reader commit_ids: ::Array[String]?
1241
+
1242
+ def commit_ids=: (::Array[String]) -> ::Array[String]
1243
+
1244
+ attr_reader presentation_group_values: ::Hash[Symbol, String]?
1245
+
1246
+ def presentation_group_values=: (
1247
+ ::Hash[Symbol, String]
1248
+ ) -> ::Hash[Symbol, String]
1249
+
1250
+ attr_reader pricing_group_values: ::Hash[Symbol, String]?
1251
+
1252
+ def pricing_group_values=: (
1253
+ ::Hash[Symbol, String]
1254
+ ) -> ::Hash[Symbol, String]
1255
+
1256
+ attr_reader product_id: String?
1257
+
1258
+ def product_id=: (String) -> String
1259
+
1260
+ attr_reader product_tags: ::Array[String]?
1261
+
1262
+ def product_tags=: (::Array[String]) -> ::Array[String]
1263
+
1264
+ attr_reader recurring_commit_ids: ::Array[String]?
1265
+
1266
+ def recurring_commit_ids=: (::Array[String]) -> ::Array[String]
1267
+
1268
+ attr_reader recurring_credit_ids: ::Array[String]?
1269
+
1270
+ def recurring_credit_ids=: (::Array[String]) -> ::Array[String]
1271
+
1272
+ def initialize: (
1273
+ ?commit_ids: ::Array[String],
1274
+ ?presentation_group_values: ::Hash[Symbol, String],
1275
+ ?pricing_group_values: ::Hash[Symbol, String],
1276
+ ?product_id: String,
1277
+ ?product_tags: ::Array[String],
1278
+ ?recurring_commit_ids: ::Array[String],
1279
+ ?recurring_credit_ids: ::Array[String]
1280
+ ) -> void
1281
+
1282
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::Override::override_specifier
1283
+ end
1284
+
1285
+ type overwrite_rate =
1286
+ {
1287
+ rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate::rate_type,
1288
+ credit_type_id: String,
1289
+ custom_rate: ::Hash[Symbol, top],
1290
+ is_prorated: bool,
1291
+ price: Float,
1292
+ quantity: Float,
1293
+ tiers: ::Array[MetronomeSDK::Models::Tier]
1294
+ }
1295
+
1296
+ class OverwriteRate < MetronomeSDK::Internal::Type::BaseModel
1297
+ attr_accessor rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate::rate_type
1298
+
1299
+ attr_reader credit_type_id: String?
1300
+
1301
+ def credit_type_id=: (String) -> String
1302
+
1303
+ attr_reader custom_rate: ::Hash[Symbol, top]?
1304
+
1305
+ def custom_rate=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
1306
+
1307
+ attr_reader is_prorated: bool?
1308
+
1309
+ def is_prorated=: (bool) -> bool
1310
+
1311
+ attr_reader price: Float?
1312
+
1313
+ def price=: (Float) -> Float
1314
+
1315
+ attr_reader quantity: Float?
1316
+
1317
+ def quantity=: (Float) -> Float
1318
+
1319
+ attr_reader tiers: ::Array[MetronomeSDK::Models::Tier]?
1320
+
1321
+ def tiers=: (
1322
+ ::Array[MetronomeSDK::Models::Tier]
1323
+ ) -> ::Array[MetronomeSDK::Models::Tier]
1324
+
1325
+ def initialize: (
1326
+ rate_type: MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate::rate_type,
1327
+ ?credit_type_id: String,
1328
+ ?custom_rate: ::Hash[Symbol, top],
1329
+ ?is_prorated: bool,
1330
+ ?price: Float,
1331
+ ?quantity: Float,
1332
+ ?tiers: ::Array[MetronomeSDK::Models::Tier]
1333
+ ) -> void
1334
+
1335
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::Override::overwrite_rate
1336
+
1337
+ type rate_type =
1338
+ :FLAT | :PERCENTAGE | :SUBSCRIPTION | :TIERED | :CUSTOM
1339
+
1340
+ module RateType
1341
+ extend MetronomeSDK::Internal::Type::Enum
1342
+
1343
+ FLAT: :FLAT
1344
+ PERCENTAGE: :PERCENTAGE
1345
+ SUBSCRIPTION: :SUBSCRIPTION
1346
+ TIERED: :TIERED
1347
+ CUSTOM: :CUSTOM
1348
+
1349
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Override::OverwriteRate::rate_type]
1350
+ end
1351
+ end
1352
+
1353
+ type target = :COMMIT_RATE | :LIST_RATE
1354
+
1355
+ module Target
1356
+ extend MetronomeSDK::Internal::Type::Enum
1357
+
1358
+ COMMIT_RATE: :COMMIT_RATE
1359
+ LIST_RATE: :LIST_RATE
1360
+
1361
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Override::target]
1362
+ end
1363
+
1364
+ type tier = { multiplier: Float, size: Float }
1365
+
1366
+ class Tier < MetronomeSDK::Internal::Type::BaseModel
1367
+ attr_accessor multiplier: Float
1368
+
1369
+ attr_reader size: Float?
1370
+
1371
+ def size=: (Float) -> Float
1372
+
1373
+ def initialize: (multiplier: Float, ?size: Float) -> void
1374
+
1375
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::Override::tier
1376
+ end
1377
+
1378
+ type type_ = :OVERWRITE | :MULTIPLIER | :TIERED
1379
+
1380
+ module Type
1381
+ extend MetronomeSDK::Internal::Type::Enum
1382
+
1383
+ OVERWRITE: :OVERWRITE
1384
+ MULTIPLIER: :MULTIPLIER
1385
+ TIERED: :TIERED
1386
+
1387
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Override::type_]
1388
+ end
1389
+ end
1390
+
1391
+ type professional_service =
1392
+ {
1393
+ max_amount: Float,
1394
+ product_id: String,
1395
+ quantity: Float,
1396
+ unit_price: Float,
1397
+ custom_fields: ::Hash[Symbol, String],
1398
+ description: String,
1399
+ netsuite_sales_order_id: String
1400
+ }
1401
+
1402
+ class ProfessionalService < MetronomeSDK::Internal::Type::BaseModel
1403
+ attr_accessor max_amount: Float
1404
+
1405
+ attr_accessor product_id: String
1406
+
1407
+ attr_accessor quantity: Float
1408
+
1409
+ attr_accessor unit_price: Float
1410
+
1411
+ attr_reader custom_fields: ::Hash[Symbol, String]?
1412
+
1413
+ def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
1414
+
1415
+ attr_reader description: String?
1416
+
1417
+ def description=: (String) -> String
1418
+
1419
+ attr_reader netsuite_sales_order_id: String?
1420
+
1421
+ def netsuite_sales_order_id=: (String) -> String
1422
+
1423
+ def initialize: (
1424
+ max_amount: Float,
1425
+ product_id: String,
1426
+ quantity: Float,
1427
+ unit_price: Float,
1428
+ ?custom_fields: ::Hash[Symbol, String],
1429
+ ?description: String,
1430
+ ?netsuite_sales_order_id: String
1431
+ ) -> void
1432
+
1433
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::professional_service
1434
+ end
1435
+
1436
+ type recurring_commit =
1437
+ {
1438
+ access_amount: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::AccessAmount,
1439
+ commit_duration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::CommitDuration,
1440
+ priority: Float,
1441
+ product_id: String,
1442
+ starting_at: Time,
1443
+ applicable_product_ids: ::Array[String],
1444
+ applicable_product_tags: ::Array[String],
1445
+ description: String,
1446
+ ending_before: Time,
1447
+ invoice_amount: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::InvoiceAmount,
1448
+ name: String,
1449
+ netsuite_sales_order_id: String,
1450
+ proration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::proration,
1451
+ rate_type: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::rate_type,
1452
+ recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::recurrence_frequency,
1453
+ rollover_fraction: Float,
1454
+ temporary_id: String
1455
+ }
1456
+
1457
+ class RecurringCommit < MetronomeSDK::Internal::Type::BaseModel
1458
+ attr_accessor access_amount: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::AccessAmount
1459
+
1460
+ attr_accessor commit_duration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::CommitDuration
1461
+
1462
+ attr_accessor priority: Float
1463
+
1464
+ attr_accessor product_id: String
1465
+
1466
+ attr_accessor starting_at: Time
1467
+
1468
+ attr_reader applicable_product_ids: ::Array[String]?
1469
+
1470
+ def applicable_product_ids=: (::Array[String]) -> ::Array[String]
1471
+
1472
+ attr_reader applicable_product_tags: ::Array[String]?
1473
+
1474
+ def applicable_product_tags=: (::Array[String]) -> ::Array[String]
1475
+
1476
+ attr_reader description: String?
1477
+
1478
+ def description=: (String) -> String
1479
+
1480
+ attr_reader ending_before: Time?
1481
+
1482
+ def ending_before=: (Time) -> Time
1483
+
1484
+ attr_reader invoice_amount: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::InvoiceAmount?
1485
+
1486
+ def invoice_amount=: (
1487
+ MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::InvoiceAmount
1488
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::InvoiceAmount
1489
+
1490
+ attr_reader name: String?
1491
+
1492
+ def name=: (String) -> String
1493
+
1494
+ attr_reader netsuite_sales_order_id: String?
1495
+
1496
+ def netsuite_sales_order_id=: (String) -> String
1497
+
1498
+ attr_reader proration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::proration?
1499
+
1500
+ def proration=: (
1501
+ MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::proration
1502
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::proration
1503
+
1504
+ attr_reader rate_type: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::rate_type?
1505
+
1506
+ def rate_type=: (
1507
+ MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::rate_type
1508
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::rate_type
1509
+
1510
+ attr_reader recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::recurrence_frequency?
1511
+
1512
+ def recurrence_frequency=: (
1513
+ MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::recurrence_frequency
1514
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::recurrence_frequency
1515
+
1516
+ attr_reader rollover_fraction: Float?
1517
+
1518
+ def rollover_fraction=: (Float) -> Float
1519
+
1520
+ attr_reader temporary_id: String?
1521
+
1522
+ def temporary_id=: (String) -> String
1523
+
1524
+ def initialize: (
1525
+ access_amount: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::AccessAmount,
1526
+ commit_duration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::CommitDuration,
1527
+ priority: Float,
1528
+ product_id: String,
1529
+ starting_at: Time,
1530
+ ?applicable_product_ids: ::Array[String],
1531
+ ?applicable_product_tags: ::Array[String],
1532
+ ?description: String,
1533
+ ?ending_before: Time,
1534
+ ?invoice_amount: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::InvoiceAmount,
1535
+ ?name: String,
1536
+ ?netsuite_sales_order_id: String,
1537
+ ?proration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::proration,
1538
+ ?rate_type: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::rate_type,
1539
+ ?recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::recurrence_frequency,
1540
+ ?rollover_fraction: Float,
1541
+ ?temporary_id: String
1542
+ ) -> void
1543
+
1544
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::recurring_commit
1545
+
1546
+ type access_amount =
1547
+ { credit_type_id: String, quantity: Float, unit_price: Float }
1548
+
1549
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
1550
+ attr_accessor credit_type_id: String
1551
+
1552
+ attr_accessor quantity: Float
1553
+
1554
+ attr_accessor unit_price: Float
1555
+
1556
+ def initialize: (
1557
+ credit_type_id: String,
1558
+ quantity: Float,
1559
+ unit_price: Float
1560
+ ) -> void
1561
+
1562
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::access_amount
1563
+ end
1564
+
1565
+ type commit_duration =
1566
+ {
1567
+ unit: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::CommitDuration::unit,
1568
+ value: Float
1569
+ }
1570
+
1571
+ class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
1572
+ attr_accessor unit: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::CommitDuration::unit
1573
+
1574
+ attr_accessor value: Float
1575
+
1576
+ def initialize: (
1577
+ unit: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::CommitDuration::unit,
1578
+ value: Float
1579
+ ) -> void
1580
+
1581
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::commit_duration
1582
+
1583
+ type unit = :PERIODS
1584
+
1585
+ module Unit
1586
+ extend MetronomeSDK::Internal::Type::Enum
1587
+
1588
+ PERIODS: :PERIODS
1589
+
1590
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::CommitDuration::unit]
1591
+ end
1592
+ end
1593
+
1594
+ type invoice_amount =
1595
+ { credit_type_id: String, quantity: Float, unit_price: Float }
1596
+
1597
+ class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
1598
+ attr_accessor credit_type_id: String
1599
+
1600
+ attr_accessor quantity: Float
1601
+
1602
+ attr_accessor unit_price: Float
1603
+
1604
+ def initialize: (
1605
+ credit_type_id: String,
1606
+ quantity: Float,
1607
+ unit_price: Float
1608
+ ) -> void
1609
+
1610
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::invoice_amount
1611
+ end
1612
+
1613
+ type proration = :NONE | :FIRST | :LAST | :FIRST_AND_LAST
1614
+
1615
+ module Proration
1616
+ extend MetronomeSDK::Internal::Type::Enum
1617
+
1618
+ NONE: :NONE
1619
+ FIRST: :FIRST
1620
+ LAST: :LAST
1621
+ FIRST_AND_LAST: :FIRST_AND_LAST
1622
+
1623
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::proration]
1624
+ end
1625
+
1626
+ type rate_type = :COMMIT_RATE | :LIST_RATE
1627
+
1628
+ module RateType
1629
+ extend MetronomeSDK::Internal::Type::Enum
1630
+
1631
+ COMMIT_RATE: :COMMIT_RATE
1632
+ LIST_RATE: :LIST_RATE
1633
+
1634
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::rate_type]
1635
+ end
1636
+
1637
+ type recurrence_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
1638
+
1639
+ module RecurrenceFrequency
1640
+ extend MetronomeSDK::Internal::Type::Enum
1641
+
1642
+ MONTHLY: :MONTHLY
1643
+ QUARTERLY: :QUARTERLY
1644
+ ANNUAL: :ANNUAL
1645
+ WEEKLY: :WEEKLY
1646
+
1647
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCommit::recurrence_frequency]
1648
+ end
1649
+ end
1650
+
1651
+ type recurring_credit =
1652
+ {
1653
+ access_amount: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::AccessAmount,
1654
+ commit_duration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::CommitDuration,
1655
+ priority: Float,
1656
+ product_id: String,
1657
+ starting_at: Time,
1658
+ applicable_product_ids: ::Array[String],
1659
+ applicable_product_tags: ::Array[String],
1660
+ description: String,
1661
+ ending_before: Time,
1662
+ name: String,
1663
+ netsuite_sales_order_id: String,
1664
+ proration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::proration,
1665
+ rate_type: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::rate_type,
1666
+ recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::recurrence_frequency,
1667
+ rollover_fraction: Float,
1668
+ temporary_id: String
1669
+ }
1670
+
1671
+ class RecurringCredit < MetronomeSDK::Internal::Type::BaseModel
1672
+ attr_accessor access_amount: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::AccessAmount
1673
+
1674
+ attr_accessor commit_duration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::CommitDuration
1675
+
1676
+ attr_accessor priority: Float
1677
+
1678
+ attr_accessor product_id: String
1679
+
1680
+ attr_accessor starting_at: Time
1681
+
1682
+ attr_reader applicable_product_ids: ::Array[String]?
1683
+
1684
+ def applicable_product_ids=: (::Array[String]) -> ::Array[String]
1685
+
1686
+ attr_reader applicable_product_tags: ::Array[String]?
1687
+
1688
+ def applicable_product_tags=: (::Array[String]) -> ::Array[String]
1689
+
1690
+ attr_reader description: String?
1691
+
1692
+ def description=: (String) -> String
1693
+
1694
+ attr_reader ending_before: Time?
1695
+
1696
+ def ending_before=: (Time) -> Time
1697
+
1698
+ attr_reader name: String?
1699
+
1700
+ def name=: (String) -> String
1701
+
1702
+ attr_reader netsuite_sales_order_id: String?
1703
+
1704
+ def netsuite_sales_order_id=: (String) -> String
1705
+
1706
+ attr_reader proration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::proration?
1707
+
1708
+ def proration=: (
1709
+ MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::proration
1710
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::proration
1711
+
1712
+ attr_reader rate_type: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::rate_type?
1713
+
1714
+ def rate_type=: (
1715
+ MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::rate_type
1716
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::rate_type
1717
+
1718
+ attr_reader recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::recurrence_frequency?
1719
+
1720
+ def recurrence_frequency=: (
1721
+ MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::recurrence_frequency
1722
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::recurrence_frequency
1723
+
1724
+ attr_reader rollover_fraction: Float?
1725
+
1726
+ def rollover_fraction=: (Float) -> Float
1727
+
1728
+ attr_reader temporary_id: String?
1729
+
1730
+ def temporary_id=: (String) -> String
1731
+
1732
+ def initialize: (
1733
+ access_amount: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::AccessAmount,
1734
+ commit_duration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::CommitDuration,
1735
+ priority: Float,
1736
+ product_id: String,
1737
+ starting_at: Time,
1738
+ ?applicable_product_ids: ::Array[String],
1739
+ ?applicable_product_tags: ::Array[String],
1740
+ ?description: String,
1741
+ ?ending_before: Time,
1742
+ ?name: String,
1743
+ ?netsuite_sales_order_id: String,
1744
+ ?proration: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::proration,
1745
+ ?rate_type: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::rate_type,
1746
+ ?recurrence_frequency: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::recurrence_frequency,
1747
+ ?rollover_fraction: Float,
1748
+ ?temporary_id: String
1749
+ ) -> void
1750
+
1751
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::recurring_credit
1752
+
1753
+ type access_amount =
1754
+ { credit_type_id: String, quantity: Float, unit_price: Float }
1755
+
1756
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
1757
+ attr_accessor credit_type_id: String
1758
+
1759
+ attr_accessor quantity: Float
1760
+
1761
+ attr_accessor unit_price: Float
1762
+
1763
+ def initialize: (
1764
+ credit_type_id: String,
1765
+ quantity: Float,
1766
+ unit_price: Float
1767
+ ) -> void
1768
+
1769
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::access_amount
1770
+ end
1771
+
1772
+ type commit_duration =
1773
+ {
1774
+ unit: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::CommitDuration::unit,
1775
+ value: Float
1776
+ }
1777
+
1778
+ class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
1779
+ attr_accessor unit: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::CommitDuration::unit
1780
+
1781
+ attr_accessor value: Float
1782
+
1783
+ def initialize: (
1784
+ unit: MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::CommitDuration::unit,
1785
+ value: Float
1786
+ ) -> void
1787
+
1788
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::commit_duration
1789
+
1790
+ type unit = :PERIODS
1791
+
1792
+ module Unit
1793
+ extend MetronomeSDK::Internal::Type::Enum
1794
+
1795
+ PERIODS: :PERIODS
1796
+
1797
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::CommitDuration::unit]
1798
+ end
1799
+ end
1800
+
1801
+ type proration = :NONE | :FIRST | :LAST | :FIRST_AND_LAST
1802
+
1803
+ module Proration
1804
+ extend MetronomeSDK::Internal::Type::Enum
1805
+
1806
+ NONE: :NONE
1807
+ FIRST: :FIRST
1808
+ LAST: :LAST
1809
+ FIRST_AND_LAST: :FIRST_AND_LAST
1810
+
1811
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::proration]
1812
+ end
1813
+
1814
+ type rate_type = :COMMIT_RATE | :LIST_RATE
1815
+
1816
+ module RateType
1817
+ extend MetronomeSDK::Internal::Type::Enum
1818
+
1819
+ COMMIT_RATE: :COMMIT_RATE
1820
+ LIST_RATE: :LIST_RATE
1821
+
1822
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::rate_type]
1823
+ end
1824
+
1825
+ type recurrence_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
1826
+
1827
+ module RecurrenceFrequency
1828
+ extend MetronomeSDK::Internal::Type::Enum
1829
+
1830
+ MONTHLY: :MONTHLY
1831
+ QUARTERLY: :QUARTERLY
1832
+ ANNUAL: :ANNUAL
1833
+ WEEKLY: :WEEKLY
1834
+
1835
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::RecurringCredit::recurrence_frequency]
1836
+ end
1837
+ end
1838
+
1839
+ type reseller_royalty =
1840
+ {
1841
+ fraction: Float,
1842
+ netsuite_reseller_id: String,
1843
+ reseller_type: MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::reseller_type,
1844
+ starting_at: Time,
1845
+ applicable_product_ids: ::Array[String],
1846
+ applicable_product_tags: ::Array[String],
1847
+ aws_options: MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::AwsOptions,
1848
+ ending_before: Time,
1849
+ gcp_options: MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::GcpOptions,
1850
+ reseller_contract_value: Float
1851
+ }
1852
+
1853
+ class ResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
1854
+ attr_accessor fraction: Float
1855
+
1856
+ attr_accessor netsuite_reseller_id: String
1857
+
1858
+ attr_accessor reseller_type: MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::reseller_type
1859
+
1860
+ attr_accessor starting_at: Time
1861
+
1862
+ attr_reader applicable_product_ids: ::Array[String]?
1863
+
1864
+ def applicable_product_ids=: (::Array[String]) -> ::Array[String]
1865
+
1866
+ attr_reader applicable_product_tags: ::Array[String]?
1867
+
1868
+ def applicable_product_tags=: (::Array[String]) -> ::Array[String]
1869
+
1870
+ attr_reader aws_options: MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::AwsOptions?
1871
+
1872
+ def aws_options=: (
1873
+ MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::AwsOptions
1874
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::AwsOptions
1875
+
1876
+ attr_reader ending_before: Time?
1877
+
1878
+ def ending_before=: (Time) -> Time
1879
+
1880
+ attr_reader gcp_options: MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::GcpOptions?
1881
+
1882
+ def gcp_options=: (
1883
+ MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::GcpOptions
1884
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::GcpOptions
1885
+
1886
+ attr_reader reseller_contract_value: Float?
1887
+
1888
+ def reseller_contract_value=: (Float) -> Float
1889
+
1890
+ def initialize: (
1891
+ fraction: Float,
1892
+ netsuite_reseller_id: String,
1893
+ reseller_type: MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::reseller_type,
1894
+ starting_at: Time,
1895
+ ?applicable_product_ids: ::Array[String],
1896
+ ?applicable_product_tags: ::Array[String],
1897
+ ?aws_options: MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::AwsOptions,
1898
+ ?ending_before: Time,
1899
+ ?gcp_options: MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::GcpOptions,
1900
+ ?reseller_contract_value: Float
1901
+ ) -> void
1902
+
1903
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::reseller_royalty
1904
+
1905
+ type reseller_type = :AWS | :AWS_PRO_SERVICE | :GCP | :GCP_PRO_SERVICE
1906
+
1907
+ module ResellerType
1908
+ extend MetronomeSDK::Internal::Type::Enum
1909
+
1910
+ AWS: :AWS
1911
+ AWS_PRO_SERVICE: :AWS_PRO_SERVICE
1912
+ GCP: :GCP
1913
+ GCP_PRO_SERVICE: :GCP_PRO_SERVICE
1914
+
1915
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::reseller_type]
1916
+ end
1917
+
1918
+ type aws_options =
1919
+ {
1920
+ aws_account_number: String,
1921
+ aws_offer_id: String,
1922
+ aws_payer_reference_id: String
1923
+ }
1924
+
1925
+ class AwsOptions < MetronomeSDK::Internal::Type::BaseModel
1926
+ attr_reader aws_account_number: String?
1927
+
1928
+ def aws_account_number=: (String) -> String
1929
+
1930
+ attr_reader aws_offer_id: String?
1931
+
1932
+ def aws_offer_id=: (String) -> String
1933
+
1934
+ attr_reader aws_payer_reference_id: String?
1935
+
1936
+ def aws_payer_reference_id=: (String) -> String
1937
+
1938
+ def initialize: (
1939
+ ?aws_account_number: String,
1940
+ ?aws_offer_id: String,
1941
+ ?aws_payer_reference_id: String
1942
+ ) -> void
1943
+
1944
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::aws_options
1945
+ end
1946
+
1947
+ type gcp_options = { gcp_account_id: String, gcp_offer_id: String }
1948
+
1949
+ class GcpOptions < MetronomeSDK::Internal::Type::BaseModel
1950
+ attr_reader gcp_account_id: String?
1951
+
1952
+ def gcp_account_id=: (String) -> String
1953
+
1954
+ attr_reader gcp_offer_id: String?
1955
+
1956
+ def gcp_offer_id=: (String) -> String
1957
+
1958
+ def initialize: (
1959
+ ?gcp_account_id: String,
1960
+ ?gcp_offer_id: String
1961
+ ) -> void
1962
+
1963
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::ResellerRoyalty::gcp_options
1964
+ end
1965
+ end
1966
+
1967
+ type scheduled_charge =
1968
+ {
1969
+ product_id: String,
1970
+ schedule: MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule,
1971
+ name: String,
1972
+ netsuite_sales_order_id: String
1973
+ }
1974
+
1975
+ class ScheduledCharge < MetronomeSDK::Internal::Type::BaseModel
1976
+ attr_accessor product_id: String
1977
+
1978
+ attr_accessor schedule: MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule
1979
+
1980
+ attr_reader name: String?
1981
+
1982
+ def name=: (String) -> String
1983
+
1984
+ attr_reader netsuite_sales_order_id: String?
1985
+
1986
+ def netsuite_sales_order_id=: (String) -> String
1987
+
1988
+ def initialize: (
1989
+ product_id: String,
1990
+ schedule: MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule,
1991
+ ?name: String,
1992
+ ?netsuite_sales_order_id: String
1993
+ ) -> void
1994
+
1995
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::scheduled_charge
1996
+
1997
+ type schedule =
1998
+ {
1999
+ credit_type_id: String,
2000
+ recurring_schedule: MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule,
2001
+ schedule_items: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::ScheduleItem]
2002
+ }
2003
+
2004
+ class Schedule < MetronomeSDK::Internal::Type::BaseModel
2005
+ attr_reader credit_type_id: String?
2006
+
2007
+ def credit_type_id=: (String) -> String
2008
+
2009
+ attr_reader recurring_schedule: MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule?
2010
+
2011
+ def recurring_schedule=: (
2012
+ MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule
2013
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule
2014
+
2015
+ attr_reader schedule_items: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::ScheduleItem]?
2016
+
2017
+ def schedule_items=: (
2018
+ ::Array[MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::ScheduleItem]
2019
+ ) -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::ScheduleItem]
2020
+
2021
+ def initialize: (
2022
+ ?credit_type_id: String,
2023
+ ?recurring_schedule: MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule,
2024
+ ?schedule_items: ::Array[MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::ScheduleItem]
2025
+ ) -> void
2026
+
2027
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::schedule
2028
+
2029
+ type recurring_schedule =
2030
+ {
2031
+ amount_distribution: MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::amount_distribution,
2032
+ ending_before: Time,
2033
+ frequency: MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::frequency,
2034
+ starting_at: Time,
2035
+ amount: Float,
2036
+ quantity: Float,
2037
+ unit_price: Float
2038
+ }
2039
+
2040
+ class RecurringSchedule < MetronomeSDK::Internal::Type::BaseModel
2041
+ attr_accessor amount_distribution: MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::amount_distribution
2042
+
2043
+ attr_accessor ending_before: Time
2044
+
2045
+ attr_accessor frequency: MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::frequency
2046
+
2047
+ attr_accessor starting_at: Time
2048
+
2049
+ attr_reader amount: Float?
2050
+
2051
+ def amount=: (Float) -> Float
2052
+
2053
+ attr_reader quantity: Float?
2054
+
2055
+ def quantity=: (Float) -> Float
2056
+
2057
+ attr_reader unit_price: Float?
2058
+
2059
+ def unit_price=: (Float) -> Float
2060
+
2061
+ def initialize: (
2062
+ amount_distribution: MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::amount_distribution,
2063
+ ending_before: Time,
2064
+ frequency: MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::frequency,
2065
+ starting_at: Time,
2066
+ ?amount: Float,
2067
+ ?quantity: Float,
2068
+ ?unit_price: Float
2069
+ ) -> void
2070
+
2071
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::recurring_schedule
2072
+
2073
+ type amount_distribution = :DIVIDED | :DIVIDED_ROUNDED | :EACH
2074
+
2075
+ module AmountDistribution
2076
+ extend MetronomeSDK::Internal::Type::Enum
2077
+
2078
+ DIVIDED: :DIVIDED
2079
+ DIVIDED_ROUNDED: :DIVIDED_ROUNDED
2080
+ EACH: :EACH
2081
+
2082
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::amount_distribution]
2083
+ end
2084
+
2085
+ type frequency = :MONTHLY | :QUARTERLY | :SEMI_ANNUAL | :ANNUAL
2086
+
2087
+ module Frequency
2088
+ extend MetronomeSDK::Internal::Type::Enum
2089
+
2090
+ MONTHLY: :MONTHLY
2091
+ QUARTERLY: :QUARTERLY
2092
+ SEMI_ANNUAL: :SEMI_ANNUAL
2093
+ ANNUAL: :ANNUAL
2094
+
2095
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::RecurringSchedule::frequency]
2096
+ end
2097
+ end
2098
+
2099
+ type schedule_item =
2100
+ {
2101
+ timestamp: Time,
2102
+ amount: Float,
2103
+ quantity: Float,
2104
+ unit_price: Float
2105
+ }
2106
+
2107
+ class ScheduleItem < MetronomeSDK::Internal::Type::BaseModel
2108
+ attr_accessor timestamp: Time
2109
+
2110
+ attr_reader amount: Float?
2111
+
2112
+ def amount=: (Float) -> Float
2113
+
2114
+ attr_reader quantity: Float?
2115
+
2116
+ def quantity=: (Float) -> Float
2117
+
2118
+ attr_reader unit_price: Float?
2119
+
2120
+ def unit_price=: (Float) -> Float
2121
+
2122
+ def initialize: (
2123
+ timestamp: Time,
2124
+ ?amount: Float,
2125
+ ?quantity: Float,
2126
+ ?unit_price: Float
2127
+ ) -> void
2128
+
2129
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::ScheduledCharge::Schedule::schedule_item
2130
+ end
2131
+ end
2132
+ end
2133
+
2134
+ type scheduled_charges_on_usage_invoices = :ALL
2135
+
2136
+ module ScheduledChargesOnUsageInvoices
2137
+ extend MetronomeSDK::Internal::Type::Enum
2138
+
2139
+ ALL: :ALL
2140
+
2141
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::scheduled_charges_on_usage_invoices]
2142
+ end
2143
+
2144
+ type spend_threshold_configuration =
2145
+ {
2146
+ commit: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::Commit,
2147
+ is_enabled: bool,
2148
+ payment_gate_config: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig,
2149
+ threshold_amount: Float
2150
+ }
2151
+
2152
+ class SpendThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
2153
+ attr_accessor commit: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::Commit
2154
+
2155
+ attr_accessor is_enabled: bool
2156
+
2157
+ attr_accessor payment_gate_config: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig
2158
+
2159
+ attr_accessor threshold_amount: Float
2160
+
2161
+ def initialize: (
2162
+ commit: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::Commit,
2163
+ is_enabled: bool,
2164
+ payment_gate_config: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig,
2165
+ threshold_amount: Float
2166
+ ) -> void
2167
+
2168
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::spend_threshold_configuration
2169
+
2170
+ type commit =
2171
+ { product_id: String, description: String, name: String }
2172
+
2173
+ class Commit < MetronomeSDK::Internal::Type::BaseModel
2174
+ attr_accessor product_id: String
2175
+
2176
+ attr_reader description: String?
2177
+
2178
+ def description=: (String) -> String
2179
+
2180
+ attr_reader name: String?
2181
+
2182
+ def name=: (String) -> String
2183
+
2184
+ def initialize: (
2185
+ product_id: String,
2186
+ ?description: String,
2187
+ ?name: String
2188
+ ) -> void
2189
+
2190
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::commit
2191
+ end
2192
+
2193
+ type payment_gate_config =
2194
+ {
2195
+ payment_gate_type: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::payment_gate_type,
2196
+ stripe_config: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
2197
+ tax_type: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::tax_type
2198
+ }
2199
+
2200
+ class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
2201
+ attr_accessor payment_gate_type: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::payment_gate_type
2202
+
2203
+ attr_reader stripe_config: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig?
2204
+
2205
+ def stripe_config=: (
2206
+ MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig
2207
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig
2208
+
2209
+ attr_reader tax_type: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::tax_type?
2210
+
2211
+ def tax_type=: (
2212
+ MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::tax_type
2213
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::tax_type
2214
+
2215
+ def initialize: (
2216
+ payment_gate_type: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::payment_gate_type,
2217
+ ?stripe_config: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
2218
+ ?tax_type: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::tax_type
2219
+ ) -> void
2220
+
2221
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::payment_gate_config
2222
+
2223
+ type payment_gate_type = :NONE | :STRIPE | :EXTERNAL
2224
+
2225
+ module PaymentGateType
2226
+ extend MetronomeSDK::Internal::Type::Enum
2227
+
2228
+ NONE: :NONE
2229
+ STRIPE: :STRIPE
2230
+ EXTERNAL: :EXTERNAL
2231
+
2232
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::payment_gate_type]
2233
+ end
2234
+
2235
+ type stripe_config =
2236
+ {
2237
+ payment_type: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
2238
+ }
2239
+
2240
+ class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
2241
+ attr_accessor payment_type: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
2242
+
2243
+ def initialize: (
2244
+ payment_type: MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
2245
+ ) -> void
2246
+
2247
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::stripe_config
2248
+
2249
+ type payment_type = :INVOICE | :PAYMENT_INTENT
2250
+
2251
+ module PaymentType
2252
+ extend MetronomeSDK::Internal::Type::Enum
2253
+
2254
+ INVOICE: :INVOICE
2255
+ PAYMENT_INTENT: :PAYMENT_INTENT
2256
+
2257
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type]
2258
+ end
2259
+ end
2260
+
2261
+ type tax_type = :NONE | :STRIPE
2262
+
2263
+ module TaxType
2264
+ extend MetronomeSDK::Internal::Type::Enum
2265
+
2266
+ NONE: :NONE
2267
+ STRIPE: :STRIPE
2268
+
2269
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::SpendThresholdConfiguration::PaymentGateConfig::tax_type]
2270
+ end
2271
+ end
2272
+ end
2273
+
2274
+ type transition =
2275
+ {
2276
+ from_contract_id: String,
2277
+ type: MetronomeSDK::Models::V1::ContractCreateParams::Transition::type_,
2278
+ future_invoice_behavior: MetronomeSDK::Models::V1::ContractCreateParams::Transition::FutureInvoiceBehavior
2279
+ }
2280
+
2281
+ class Transition < MetronomeSDK::Internal::Type::BaseModel
2282
+ attr_accessor from_contract_id: String
2283
+
2284
+ attr_accessor type: MetronomeSDK::Models::V1::ContractCreateParams::Transition::type_
2285
+
2286
+ attr_reader future_invoice_behavior: MetronomeSDK::Models::V1::ContractCreateParams::Transition::FutureInvoiceBehavior?
2287
+
2288
+ def future_invoice_behavior=: (
2289
+ MetronomeSDK::Models::V1::ContractCreateParams::Transition::FutureInvoiceBehavior
2290
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::Transition::FutureInvoiceBehavior
2291
+
2292
+ def initialize: (
2293
+ from_contract_id: String,
2294
+ type: MetronomeSDK::Models::V1::ContractCreateParams::Transition::type_,
2295
+ ?future_invoice_behavior: MetronomeSDK::Models::V1::ContractCreateParams::Transition::FutureInvoiceBehavior
2296
+ ) -> void
2297
+
2298
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::transition
2299
+
2300
+ type type_ = :SUPERSEDE | :RENEWAL
2301
+
2302
+ module Type
2303
+ extend MetronomeSDK::Internal::Type::Enum
2304
+
2305
+ SUPERSEDE: :SUPERSEDE
2306
+ RENEWAL: :RENEWAL
2307
+
2308
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Transition::type_]
2309
+ end
2310
+
2311
+ type future_invoice_behavior =
2312
+ {
2313
+ trueup: MetronomeSDK::Models::V1::ContractCreateParams::Transition::FutureInvoiceBehavior::trueup?
2314
+ }
2315
+
2316
+ class FutureInvoiceBehavior < MetronomeSDK::Internal::Type::BaseModel
2317
+ attr_accessor trueup: MetronomeSDK::Models::V1::ContractCreateParams::Transition::FutureInvoiceBehavior::trueup?
2318
+
2319
+ def initialize: (
2320
+ ?trueup: MetronomeSDK::Models::V1::ContractCreateParams::Transition::FutureInvoiceBehavior::trueup?
2321
+ ) -> void
2322
+
2323
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::Transition::future_invoice_behavior
2324
+
2325
+ type trueup = :REMOVE | :AS_IS
2326
+
2327
+ module Trueup
2328
+ extend MetronomeSDK::Internal::Type::Enum
2329
+
2330
+ REMOVE: :REMOVE
2331
+ AS_IS: :AS_IS
2332
+
2333
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::Transition::FutureInvoiceBehavior::trueup]
2334
+ end
2335
+ end
2336
+ end
2337
+
2338
+ type usage_statement_schedule =
2339
+ {
2340
+ frequency: MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::frequency,
2341
+ billing_anchor_date: Time,
2342
+ day: MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::day,
2343
+ invoice_generation_starting_at: Time
2344
+ }
2345
+
2346
+ class UsageStatementSchedule < MetronomeSDK::Internal::Type::BaseModel
2347
+ attr_accessor frequency: MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::frequency
2348
+
2349
+ attr_reader billing_anchor_date: Time?
2350
+
2351
+ def billing_anchor_date=: (Time) -> Time
2352
+
2353
+ attr_reader day: MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::day?
2354
+
2355
+ def day=: (
2356
+ MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::day
2357
+ ) -> MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::day
2358
+
2359
+ attr_reader invoice_generation_starting_at: Time?
2360
+
2361
+ def invoice_generation_starting_at=: (Time) -> Time
2362
+
2363
+ def initialize: (
2364
+ frequency: MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::frequency,
2365
+ ?billing_anchor_date: Time,
2366
+ ?day: MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::day,
2367
+ ?invoice_generation_starting_at: Time
2368
+ ) -> void
2369
+
2370
+ def to_hash: -> MetronomeSDK::Models::V1::ContractCreateParams::usage_statement_schedule
2371
+
2372
+ type frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
2373
+
2374
+ module Frequency
2375
+ extend MetronomeSDK::Internal::Type::Enum
2376
+
2377
+ MONTHLY: :MONTHLY
2378
+ QUARTERLY: :QUARTERLY
2379
+ ANNUAL: :ANNUAL
2380
+ WEEKLY: :WEEKLY
2381
+
2382
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::frequency]
2383
+ end
2384
+
2385
+ type day = :FIRST_OF_MONTH | :CONTRACT_START | :CUSTOM_DATE
2386
+
2387
+ module Day
2388
+ extend MetronomeSDK::Internal::Type::Enum
2389
+
2390
+ FIRST_OF_MONTH: :FIRST_OF_MONTH
2391
+ CONTRACT_START: :CONTRACT_START
2392
+ CUSTOM_DATE: :CUSTOM_DATE
2393
+
2394
+ def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractCreateParams::UsageStatementSchedule::day]
2395
+ end
2396
+ end
2397
+ end
2398
+ end
2399
+ end
2400
+ end