metronome-sdk 0.1.0.pre.alpha.3 → 0.1.0.pre.alpha.4

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 (403) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +40 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/errors.rb +22 -0
  5. data/lib/metronome_sdk/internal/transport/base_client.rb +10 -2
  6. data/lib/metronome_sdk/internal/type/array_of.rb +6 -1
  7. data/lib/metronome_sdk/internal/type/base_model.rb +82 -26
  8. data/lib/metronome_sdk/internal/type/boolean.rb +7 -1
  9. data/lib/metronome_sdk/internal/type/converter.rb +42 -34
  10. data/lib/metronome_sdk/internal/type/enum.rb +16 -5
  11. data/lib/metronome_sdk/internal/type/file_input.rb +6 -1
  12. data/lib/metronome_sdk/internal/type/hash_of.rb +6 -1
  13. data/lib/metronome_sdk/internal/type/union.rb +17 -9
  14. data/lib/metronome_sdk/internal/type/unknown.rb +7 -1
  15. data/lib/metronome_sdk/internal/util.rb +8 -9
  16. data/lib/metronome_sdk/models/base_usage_filter.rb +27 -0
  17. data/lib/metronome_sdk/models/commit.rb +1010 -0
  18. data/lib/metronome_sdk/models/contract_without_amendments.rb +1803 -0
  19. data/lib/metronome_sdk/models/credit.rb +634 -0
  20. data/lib/metronome_sdk/models/credit_type_data.rb +21 -0
  21. data/lib/metronome_sdk/models/discount.rb +68 -0
  22. data/lib/metronome_sdk/models/event_type_filter.rb +33 -0
  23. data/lib/metronome_sdk/models/id.rb +15 -0
  24. data/lib/metronome_sdk/models/override.rb +381 -0
  25. data/lib/metronome_sdk/models/pro_service.rb +73 -0
  26. data/lib/metronome_sdk/models/property_filter.rb +52 -0
  27. data/lib/metronome_sdk/models/rate.rb +101 -0
  28. data/lib/metronome_sdk/models/schedule_duration.rb +50 -0
  29. data/lib/metronome_sdk/models/schedule_point_in_time.rb +62 -0
  30. data/lib/metronome_sdk/models/scheduled_charge.rb +76 -0
  31. data/lib/metronome_sdk/models/tier.rb +21 -0
  32. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +3 -14
  33. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -1
  34. data/lib/metronome_sdk/models/v1/alert_create_response.rb +3 -14
  35. data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +2 -8
  36. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +3 -14
  37. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +6 -86
  38. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +3 -14
  39. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +6 -85
  40. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +8 -85
  41. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +312 -35
  42. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +3 -14
  43. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +3 -14
  44. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +3 -1276
  45. data/lib/metronome_sdk/models/v1/contract_create_params.rb +550 -102
  46. data/lib/metronome_sdk/models/v1/contract_create_response.rb +3 -14
  47. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +5 -1645
  48. data/lib/metronome_sdk/models/v1/contract_list_response.rb +253 -10692
  49. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +9 -295
  50. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +254 -10721
  51. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +3 -1276
  52. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +3 -14
  53. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +3 -14
  54. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +6 -97
  55. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +3 -14
  56. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +148 -0
  57. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +12 -561
  58. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +2 -8
  59. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +14 -559
  60. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +6 -97
  61. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +3 -14
  62. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +57 -0
  63. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +45 -0
  64. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_params.rb +2 -8
  65. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +3 -14
  66. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +3 -14
  67. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +6 -42
  68. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +2 -8
  69. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +6 -159
  70. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +6 -42
  71. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +3 -14
  72. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +3 -14
  73. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +3 -14
  74. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -44
  75. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +3 -16
  76. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +6 -44
  77. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +9 -61
  78. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +6 -158
  79. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +5 -77
  80. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +3 -14
  81. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +3 -14
  82. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +20 -1
  83. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +11 -153
  84. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +14 -175
  85. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +3 -14
  86. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +69 -0
  87. data/lib/metronome_sdk/models/v1/customer.rb +53 -0
  88. data/lib/metronome_sdk/models/v1/customer_archive_params.rb +2 -8
  89. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +3 -14
  90. data/lib/metronome_sdk/models/v1/customer_create_response.rb +3 -50
  91. data/lib/metronome_sdk/models/v1/{customer_list_response.rb → customer_detail.rb} +14 -15
  92. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +6 -86
  93. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +115 -0
  94. data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +18 -0
  95. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +3 -126
  96. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +3 -50
  97. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +5 -276
  98. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +3 -279
  99. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +9 -1
  100. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +8 -6
  101. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +3 -14
  102. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +3 -1047
  103. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +3 -14
  104. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +3 -14
  105. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +3 -593
  106. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +3 -14
  107. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +270 -0
  108. data/lib/metronome_sdk/models/v1/customers/{invoice_list_response.rb → invoice.rb} +119 -303
  109. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +2 -1271
  110. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +3 -1276
  111. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +3 -14
  112. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +3 -21
  113. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +1 -0
  114. data/lib/metronome_sdk/models/v1/plan_detail.rb +200 -0
  115. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +3 -286
  116. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +3 -20
  117. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +3 -128
  118. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +38 -0
  119. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +38 -0
  120. data/lib/metronome_sdk/models/v1/usage_search_params.rb +24 -0
  121. data/lib/metronome_sdk/models/v1/usage_search_response.rb +249 -0
  122. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +11 -8
  123. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +3 -14
  124. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +3 -2
  125. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +3 -14
  126. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +885 -103
  127. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3 -14
  128. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +351 -625
  129. data/lib/metronome_sdk/models/v2/contract_list_response.rb +590 -749
  130. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +590 -751
  131. data/lib/metronome_sdk/models.rb +36 -4
  132. data/lib/metronome_sdk/resources/v1/alerts.rb +1 -1
  133. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +2 -2
  134. data/lib/metronome_sdk/resources/v1/contracts/products.rb +4 -4
  135. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +1 -1
  136. data/lib/metronome_sdk/resources/v1/contracts.rb +8 -4
  137. data/lib/metronome_sdk/resources/v1/credit_grants.rb +4 -2
  138. data/lib/metronome_sdk/resources/v1/customers/commits.rb +2 -2
  139. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +2 -2
  140. data/lib/metronome_sdk/resources/v1/customers.rb +40 -2
  141. data/lib/metronome_sdk/resources/v1/usage.rb +25 -0
  142. data/lib/metronome_sdk/resources/v2/contracts.rb +11 -9
  143. data/lib/metronome_sdk/version.rb +1 -1
  144. data/lib/metronome_sdk.rb +31 -2
  145. data/rbi/metronome_sdk/errors.rbi +16 -0
  146. data/rbi/metronome_sdk/internal/type/boolean.rbi +2 -0
  147. data/rbi/metronome_sdk/internal/type/converter.rbi +15 -15
  148. data/rbi/metronome_sdk/internal/type/union.rbi +5 -0
  149. data/rbi/metronome_sdk/internal/type/unknown.rbi +2 -0
  150. data/rbi/metronome_sdk/internal/util.rbi +2 -0
  151. data/rbi/metronome_sdk/models/base_usage_filter.rbi +46 -0
  152. data/rbi/metronome_sdk/models/commit.rbi +1962 -0
  153. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +3676 -0
  154. data/rbi/metronome_sdk/models/credit.rbi +1230 -0
  155. data/rbi/metronome_sdk/models/credit_type_data.rbi +26 -0
  156. data/rbi/metronome_sdk/models/discount.rbi +106 -0
  157. data/rbi/metronome_sdk/models/event_type_filter.rbi +57 -0
  158. data/rbi/metronome_sdk/models/id.rbi +23 -0
  159. data/rbi/metronome_sdk/models/override.rbi +675 -0
  160. data/rbi/metronome_sdk/models/pro_service.rbi +98 -0
  161. data/rbi/metronome_sdk/models/property_filter.rbi +88 -0
  162. data/rbi/metronome_sdk/models/rate.rbi +155 -0
  163. data/rbi/metronome_sdk/models/schedule_duration.rbi +89 -0
  164. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +121 -0
  165. data/rbi/metronome_sdk/models/scheduled_charge.rbi +119 -0
  166. data/rbi/metronome_sdk/models/tier.rbi +29 -0
  167. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +4 -37
  168. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -0
  169. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +4 -37
  170. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +6 -12
  171. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +4 -44
  172. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +8 -177
  173. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +4 -43
  174. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +8 -177
  175. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +8 -175
  176. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +712 -68
  177. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +4 -37
  178. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +4 -39
  179. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +3 -2595
  180. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1100 -172
  181. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +4 -37
  182. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +3 -3366
  183. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +375 -22523
  184. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +12 -632
  185. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +375 -22523
  186. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +3 -2595
  187. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +4 -44
  188. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +4 -44
  189. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +8 -209
  190. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +4 -44
  191. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +237 -0
  192. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +76 -1143
  193. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +3 -9
  194. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +76 -1137
  195. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +8 -209
  196. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +4 -44
  197. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +111 -0
  198. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +94 -0
  199. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbi +3 -9
  200. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbi +4 -44
  201. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +4 -44
  202. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +8 -74
  203. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +3 -9
  204. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +8 -344
  205. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +8 -74
  206. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +4 -44
  207. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +4 -44
  208. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +4 -44
  209. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +8 -108
  210. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +4 -45
  211. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +8 -108
  212. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +12 -149
  213. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +8 -344
  214. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +8 -166
  215. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +4 -41
  216. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +4 -39
  217. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +58 -0
  218. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +10 -231
  219. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +14 -281
  220. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +4 -39
  221. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +90 -0
  222. data/rbi/metronome_sdk/models/v1/customer.rbi +74 -0
  223. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +6 -12
  224. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +4 -39
  225. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +6 -84
  226. data/rbi/metronome_sdk/models/v1/{customer_list_response.rbi → customer_detail.rbi} +19 -26
  227. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +8 -177
  228. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +214 -0
  229. data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +35 -0
  230. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +6 -255
  231. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +6 -86
  232. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +3 -623
  233. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +4 -622
  234. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +11 -0
  235. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +12 -8
  236. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +4 -44
  237. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +3 -2164
  238. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +4 -44
  239. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +4 -44
  240. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +3 -1224
  241. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +4 -44
  242. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +572 -0
  243. data/rbi/metronome_sdk/models/v1/customers/{invoice_list_response.rbi → invoice.rbi} +182 -589
  244. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +4 -2561
  245. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +6 -2612
  246. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +4 -41
  247. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +4 -39
  248. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +5 -0
  249. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +349 -0
  250. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +6 -560
  251. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +4 -37
  252. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +4 -248
  253. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +79 -0
  254. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +80 -0
  255. data/rbi/metronome_sdk/models/v1/usage_search_params.rbi +48 -0
  256. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +438 -0
  257. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +23 -23
  258. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +4 -41
  259. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +11 -15
  260. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +4 -41
  261. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +1859 -202
  262. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +4 -37
  263. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +700 -1447
  264. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +1204 -1472
  265. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +1204 -1472
  266. data/rbi/metronome_sdk/models.rbi +32 -0
  267. data/rbi/metronome_sdk/resources/v1/alerts.rbi +3 -0
  268. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +2 -6
  269. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +4 -4
  270. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +1 -4
  271. data/rbi/metronome_sdk/resources/v1/contracts.rbi +10 -4
  272. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +4 -0
  273. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +6 -4
  274. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +1 -1
  275. data/rbi/metronome_sdk/resources/v1/customers.rbi +34 -3
  276. data/rbi/metronome_sdk/resources/v1/usage.rbi +17 -0
  277. data/rbi/metronome_sdk/resources/v2/contracts.rbi +24 -14
  278. data/sig/metronome_sdk/errors.rbs +9 -0
  279. data/sig/metronome_sdk/internal/type/converter.rbs +7 -1
  280. data/sig/metronome_sdk/models/base_usage_filter.rbs +28 -0
  281. data/sig/metronome_sdk/models/commit.rbs +1020 -0
  282. data/sig/metronome_sdk/models/contract_without_amendments.rbs +1582 -0
  283. data/sig/metronome_sdk/models/credit.rbs +643 -0
  284. data/sig/metronome_sdk/models/credit_type_data.rbs +15 -0
  285. data/sig/metronome_sdk/models/discount.rbs +63 -0
  286. data/sig/metronome_sdk/models/event_type_filter.rbs +26 -0
  287. data/sig/metronome_sdk/models/id.rbs +13 -0
  288. data/sig/metronome_sdk/models/override.rbs +399 -0
  289. data/sig/metronome_sdk/models/pro_service.rbs +61 -0
  290. data/sig/metronome_sdk/models/property_filter.rbs +41 -0
  291. data/sig/metronome_sdk/models/rate.rbs +94 -0
  292. data/sig/metronome_sdk/models/schedule_duration.rbs +56 -0
  293. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +75 -0
  294. data/sig/metronome_sdk/models/scheduled_charge.rbs +70 -0
  295. data/sig/metronome_sdk/models/tier.rbs +17 -0
  296. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +4 -19
  297. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +4 -19
  298. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +4 -12
  299. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +4 -19
  300. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +12 -73
  301. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +4 -19
  302. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +12 -73
  303. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +12 -73
  304. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +291 -24
  305. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +4 -19
  306. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +4 -19
  307. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +4 -1291
  308. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +448 -84
  309. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +4 -19
  310. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +1 -1642
  311. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +188 -10437
  312. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +15 -271
  313. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +188 -10437
  314. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +4 -1291
  315. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +4 -19
  316. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +4 -21
  317. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +8 -82
  318. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +4 -21
  319. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +121 -0
  320. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +16 -466
  321. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +4 -12
  322. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +16 -466
  323. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +8 -82
  324. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +4 -21
  325. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +47 -0
  326. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +41 -0
  327. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +4 -12
  328. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +4 -21
  329. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +4 -21
  330. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +10 -34
  331. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +4 -12
  332. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +10 -144
  333. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +10 -34
  334. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +4 -21
  335. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +4 -21
  336. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +4 -21
  337. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +12 -40
  338. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +4 -21
  339. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +12 -40
  340. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +18 -58
  341. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +10 -144
  342. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +2 -66
  343. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +4 -19
  344. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +4 -19
  345. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +20 -0
  346. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +12 -118
  347. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +16 -140
  348. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +4 -19
  349. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +52 -0
  350. data/sig/metronome_sdk/models/v1/customer.rbs +44 -0
  351. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +4 -12
  352. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +4 -19
  353. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +4 -48
  354. data/sig/metronome_sdk/models/v1/{customer_list_response.rbs → customer_detail.rbs} +17 -17
  355. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +12 -73
  356. data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +105 -0
  357. data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +16 -0
  358. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +4 -112
  359. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +4 -48
  360. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +4 -243
  361. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +4 -247
  362. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +7 -0
  363. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +4 -21
  364. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +4 -1057
  365. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +4 -21
  366. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +4 -21
  367. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +4 -596
  368. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +4 -21
  369. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +234 -0
  370. data/sig/metronome_sdk/models/v1/customers/{invoice_list_response.rbs → invoice.rbs} +147 -305
  371. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +8 -1278
  372. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +4 -1294
  373. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +4 -19
  374. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +4 -16
  375. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +2 -1
  376. data/sig/metronome_sdk/models/v1/plan_detail.rbs +203 -0
  377. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +4 -267
  378. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +4 -16
  379. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +4 -108
  380. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +37 -0
  381. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +37 -0
  382. data/sig/metronome_sdk/models/v1/usage_search_params.rbs +26 -0
  383. data/sig/metronome_sdk/models/v1/usage_search_response.rbs +230 -0
  384. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +4 -8
  385. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +4 -19
  386. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +4 -8
  387. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +4 -19
  388. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +743 -77
  389. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +4 -19
  390. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +274 -665
  391. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +567 -759
  392. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +567 -759
  393. data/sig/metronome_sdk/models.rbs +32 -0
  394. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +2 -2
  395. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +4 -4
  396. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  397. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -1
  398. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -0
  399. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -1
  400. data/sig/metronome_sdk/resources/v1/customers.rbs +9 -1
  401. data/sig/metronome_sdk/resources/v1/usage.rbs +5 -0
  402. data/sig/metronome_sdk/resources/v2/contracts.rbs +3 -2
  403. metadata +95 -8
@@ -0,0 +1,1582 @@
1
+ module MetronomeSDK
2
+ module Models
3
+ type contract_without_amendments =
4
+ {
5
+ commits: ::Array[MetronomeSDK::Commit],
6
+ created_at: Time,
7
+ created_by: String,
8
+ overrides: ::Array[MetronomeSDK::Override],
9
+ scheduled_charges: ::Array[MetronomeSDK::ScheduledCharge],
10
+ starting_at: Time,
11
+ transitions: ::Array[MetronomeSDK::ContractWithoutAmendments::Transition],
12
+ usage_statement_schedule: MetronomeSDK::ContractWithoutAmendments::UsageStatementSchedule,
13
+ credits: ::Array[MetronomeSDK::Credit],
14
+ discounts: ::Array[MetronomeSDK::Discount],
15
+ ending_before: Time,
16
+ hierarchy_configuration: MetronomeSDK::Models::ContractWithoutAmendments::hierarchy_configuration,
17
+ name: String,
18
+ net_payment_terms_days: Float,
19
+ netsuite_sales_order_id: String,
20
+ prepaid_balance_threshold_configuration: MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration,
21
+ professional_services: ::Array[MetronomeSDK::ProService],
22
+ rate_card_id: String,
23
+ recurring_commits: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit],
24
+ recurring_credits: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit],
25
+ reseller_royalties: ::Array[MetronomeSDK::ContractWithoutAmendments::ResellerRoyalty],
26
+ salesforce_opportunity_id: String,
27
+ scheduled_charges_on_usage_invoices: MetronomeSDK::Models::ContractWithoutAmendments::scheduled_charges_on_usage_invoices,
28
+ spend_threshold_configuration: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration,
29
+ total_contract_value: Float,
30
+ usage_filter: MetronomeSDK::ContractWithoutAmendments::UsageFilter
31
+ }
32
+
33
+ class ContractWithoutAmendments < MetronomeSDK::Internal::Type::BaseModel
34
+ attr_accessor commits: ::Array[MetronomeSDK::Commit]
35
+
36
+ attr_accessor created_at: Time
37
+
38
+ attr_accessor created_by: String
39
+
40
+ attr_accessor overrides: ::Array[MetronomeSDK::Override]
41
+
42
+ attr_accessor scheduled_charges: ::Array[MetronomeSDK::ScheduledCharge]
43
+
44
+ attr_accessor starting_at: Time
45
+
46
+ attr_accessor transitions: ::Array[MetronomeSDK::ContractWithoutAmendments::Transition]
47
+
48
+ attr_accessor usage_statement_schedule: MetronomeSDK::ContractWithoutAmendments::UsageStatementSchedule
49
+
50
+ attr_reader credits: ::Array[MetronomeSDK::Credit]?
51
+
52
+ def credits=: (
53
+ ::Array[MetronomeSDK::Credit]
54
+ ) -> ::Array[MetronomeSDK::Credit]
55
+
56
+ attr_reader discounts: ::Array[MetronomeSDK::Discount]?
57
+
58
+ def discounts=: (
59
+ ::Array[MetronomeSDK::Discount]
60
+ ) -> ::Array[MetronomeSDK::Discount]
61
+
62
+ attr_reader ending_before: Time?
63
+
64
+ def ending_before=: (Time) -> Time
65
+
66
+ attr_reader hierarchy_configuration: MetronomeSDK::Models::ContractWithoutAmendments::hierarchy_configuration?
67
+
68
+ def hierarchy_configuration=: (
69
+ MetronomeSDK::Models::ContractWithoutAmendments::hierarchy_configuration
70
+ ) -> MetronomeSDK::Models::ContractWithoutAmendments::hierarchy_configuration
71
+
72
+ attr_reader name: String?
73
+
74
+ def name=: (String) -> String
75
+
76
+ attr_reader net_payment_terms_days: Float?
77
+
78
+ def net_payment_terms_days=: (Float) -> Float
79
+
80
+ attr_reader netsuite_sales_order_id: String?
81
+
82
+ def netsuite_sales_order_id=: (String) -> String
83
+
84
+ attr_reader prepaid_balance_threshold_configuration: MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration?
85
+
86
+ def prepaid_balance_threshold_configuration=: (
87
+ MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration
88
+ ) -> MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration
89
+
90
+ attr_reader professional_services: ::Array[MetronomeSDK::ProService]?
91
+
92
+ def professional_services=: (
93
+ ::Array[MetronomeSDK::ProService]
94
+ ) -> ::Array[MetronomeSDK::ProService]
95
+
96
+ attr_reader rate_card_id: String?
97
+
98
+ def rate_card_id=: (String) -> String
99
+
100
+ attr_reader recurring_commits: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit]?
101
+
102
+ def recurring_commits=: (
103
+ ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit]
104
+ ) -> ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit]
105
+
106
+ attr_reader recurring_credits: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit]?
107
+
108
+ def recurring_credits=: (
109
+ ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit]
110
+ ) -> ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit]
111
+
112
+ attr_reader reseller_royalties: ::Array[MetronomeSDK::ContractWithoutAmendments::ResellerRoyalty]?
113
+
114
+ def reseller_royalties=: (
115
+ ::Array[MetronomeSDK::ContractWithoutAmendments::ResellerRoyalty]
116
+ ) -> ::Array[MetronomeSDK::ContractWithoutAmendments::ResellerRoyalty]
117
+
118
+ attr_reader salesforce_opportunity_id: String?
119
+
120
+ def salesforce_opportunity_id=: (String) -> String
121
+
122
+ attr_reader scheduled_charges_on_usage_invoices: MetronomeSDK::Models::ContractWithoutAmendments::scheduled_charges_on_usage_invoices?
123
+
124
+ def scheduled_charges_on_usage_invoices=: (
125
+ MetronomeSDK::Models::ContractWithoutAmendments::scheduled_charges_on_usage_invoices
126
+ ) -> MetronomeSDK::Models::ContractWithoutAmendments::scheduled_charges_on_usage_invoices
127
+
128
+ attr_reader spend_threshold_configuration: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration?
129
+
130
+ def spend_threshold_configuration=: (
131
+ MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration
132
+ ) -> MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration
133
+
134
+ attr_reader total_contract_value: Float?
135
+
136
+ def total_contract_value=: (Float) -> Float
137
+
138
+ attr_reader usage_filter: MetronomeSDK::ContractWithoutAmendments::UsageFilter?
139
+
140
+ def usage_filter=: (
141
+ MetronomeSDK::ContractWithoutAmendments::UsageFilter
142
+ ) -> MetronomeSDK::ContractWithoutAmendments::UsageFilter
143
+
144
+ def initialize: (
145
+ commits: ::Array[MetronomeSDK::Commit],
146
+ created_at: Time,
147
+ created_by: String,
148
+ overrides: ::Array[MetronomeSDK::Override],
149
+ scheduled_charges: ::Array[MetronomeSDK::ScheduledCharge],
150
+ starting_at: Time,
151
+ transitions: ::Array[MetronomeSDK::ContractWithoutAmendments::Transition],
152
+ usage_statement_schedule: MetronomeSDK::ContractWithoutAmendments::UsageStatementSchedule,
153
+ ?credits: ::Array[MetronomeSDK::Credit],
154
+ ?discounts: ::Array[MetronomeSDK::Discount],
155
+ ?ending_before: Time,
156
+ ?hierarchy_configuration: MetronomeSDK::Models::ContractWithoutAmendments::hierarchy_configuration,
157
+ ?name: String,
158
+ ?net_payment_terms_days: Float,
159
+ ?netsuite_sales_order_id: String,
160
+ ?prepaid_balance_threshold_configuration: MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration,
161
+ ?professional_services: ::Array[MetronomeSDK::ProService],
162
+ ?rate_card_id: String,
163
+ ?recurring_commits: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit],
164
+ ?recurring_credits: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit],
165
+ ?reseller_royalties: ::Array[MetronomeSDK::ContractWithoutAmendments::ResellerRoyalty],
166
+ ?salesforce_opportunity_id: String,
167
+ ?scheduled_charges_on_usage_invoices: MetronomeSDK::Models::ContractWithoutAmendments::scheduled_charges_on_usage_invoices,
168
+ ?spend_threshold_configuration: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration,
169
+ ?total_contract_value: Float,
170
+ ?usage_filter: MetronomeSDK::ContractWithoutAmendments::UsageFilter
171
+ ) -> void
172
+
173
+ def to_hash: -> {
174
+ commits: ::Array[MetronomeSDK::Commit],
175
+ created_at: Time,
176
+ created_by: String,
177
+ overrides: ::Array[MetronomeSDK::Override],
178
+ scheduled_charges: ::Array[MetronomeSDK::ScheduledCharge],
179
+ starting_at: Time,
180
+ transitions: ::Array[MetronomeSDK::ContractWithoutAmendments::Transition],
181
+ usage_statement_schedule: MetronomeSDK::ContractWithoutAmendments::UsageStatementSchedule,
182
+ credits: ::Array[MetronomeSDK::Credit],
183
+ discounts: ::Array[MetronomeSDK::Discount],
184
+ ending_before: Time,
185
+ hierarchy_configuration: MetronomeSDK::Models::ContractWithoutAmendments::hierarchy_configuration,
186
+ name: String,
187
+ net_payment_terms_days: Float,
188
+ netsuite_sales_order_id: String,
189
+ prepaid_balance_threshold_configuration: MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration,
190
+ professional_services: ::Array[MetronomeSDK::ProService],
191
+ rate_card_id: String,
192
+ recurring_commits: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit],
193
+ recurring_credits: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit],
194
+ reseller_royalties: ::Array[MetronomeSDK::ContractWithoutAmendments::ResellerRoyalty],
195
+ salesforce_opportunity_id: String,
196
+ scheduled_charges_on_usage_invoices: MetronomeSDK::Models::ContractWithoutAmendments::scheduled_charges_on_usage_invoices,
197
+ spend_threshold_configuration: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration,
198
+ total_contract_value: Float,
199
+ usage_filter: MetronomeSDK::ContractWithoutAmendments::UsageFilter
200
+ }
201
+
202
+ type transition =
203
+ {
204
+ from_contract_id: String,
205
+ to_contract_id: String,
206
+ type: MetronomeSDK::Models::ContractWithoutAmendments::Transition::type_
207
+ }
208
+
209
+ class Transition < MetronomeSDK::Internal::Type::BaseModel
210
+ attr_accessor from_contract_id: String
211
+
212
+ attr_accessor to_contract_id: String
213
+
214
+ attr_accessor type: MetronomeSDK::Models::ContractWithoutAmendments::Transition::type_
215
+
216
+ def initialize: (
217
+ from_contract_id: String,
218
+ to_contract_id: String,
219
+ type: MetronomeSDK::Models::ContractWithoutAmendments::Transition::type_
220
+ ) -> void
221
+
222
+ def to_hash: -> {
223
+ from_contract_id: String,
224
+ to_contract_id: String,
225
+ type: MetronomeSDK::Models::ContractWithoutAmendments::Transition::type_
226
+ }
227
+
228
+ type type_ = :SUPERSEDE | :RENEWAL
229
+
230
+ module Type
231
+ extend MetronomeSDK::Internal::Type::Enum
232
+
233
+ SUPERSEDE: :SUPERSEDE
234
+ RENEWAL: :RENEWAL
235
+
236
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::Transition::type_]
237
+ end
238
+ end
239
+
240
+ type usage_statement_schedule =
241
+ {
242
+ billing_anchor_date: Time,
243
+ frequency: MetronomeSDK::Models::ContractWithoutAmendments::UsageStatementSchedule::frequency
244
+ }
245
+
246
+ class UsageStatementSchedule < MetronomeSDK::Internal::Type::BaseModel
247
+ attr_accessor billing_anchor_date: Time
248
+
249
+ attr_accessor frequency: MetronomeSDK::Models::ContractWithoutAmendments::UsageStatementSchedule::frequency
250
+
251
+ def initialize: (
252
+ billing_anchor_date: Time,
253
+ frequency: MetronomeSDK::Models::ContractWithoutAmendments::UsageStatementSchedule::frequency
254
+ ) -> void
255
+
256
+ def to_hash: -> {
257
+ billing_anchor_date: Time,
258
+ frequency: MetronomeSDK::Models::ContractWithoutAmendments::UsageStatementSchedule::frequency
259
+ }
260
+
261
+ type frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
262
+
263
+ module Frequency
264
+ extend MetronomeSDK::Internal::Type::Enum
265
+
266
+ MONTHLY: :MONTHLY
267
+ QUARTERLY: :QUARTERLY
268
+ ANNUAL: :ANNUAL
269
+ WEEKLY: :WEEKLY
270
+
271
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::UsageStatementSchedule::frequency]
272
+ end
273
+ end
274
+
275
+ type hierarchy_configuration =
276
+ MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ParentHierarchyConfiguration
277
+ | MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ChildHierarchyConfiguration
278
+
279
+ module HierarchyConfiguration
280
+ extend MetronomeSDK::Internal::Type::Union
281
+
282
+ type parent_hierarchy_configuration =
283
+ {
284
+ children: ::Array[MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ParentHierarchyConfiguration::Child]
285
+ }
286
+
287
+ class ParentHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
288
+ attr_accessor children: ::Array[MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ParentHierarchyConfiguration::Child]
289
+
290
+ def initialize: (
291
+ children: ::Array[MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ParentHierarchyConfiguration::Child]
292
+ ) -> void
293
+
294
+ def to_hash: -> {
295
+ children: ::Array[MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ParentHierarchyConfiguration::Child]
296
+ }
297
+
298
+ type child = { contract_id: String, customer_id: String }
299
+
300
+ class Child < MetronomeSDK::Internal::Type::BaseModel
301
+ attr_accessor contract_id: String
302
+
303
+ attr_accessor customer_id: String
304
+
305
+ def initialize: (contract_id: String, customer_id: String) -> void
306
+
307
+ def to_hash: -> { contract_id: String, customer_id: String }
308
+ end
309
+ end
310
+
311
+ type child_hierarchy_configuration =
312
+ {
313
+ parent: MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ChildHierarchyConfiguration::Parent
314
+ }
315
+
316
+ class ChildHierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
317
+ attr_accessor parent: MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ChildHierarchyConfiguration::Parent
318
+
319
+ def initialize: (
320
+ parent: MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ChildHierarchyConfiguration::Parent
321
+ ) -> void
322
+
323
+ def to_hash: -> {
324
+ parent: MetronomeSDK::ContractWithoutAmendments::HierarchyConfiguration::ChildHierarchyConfiguration::Parent
325
+ }
326
+
327
+ type parent = { contract_id: String, customer_id: String }
328
+
329
+ class Parent < MetronomeSDK::Internal::Type::BaseModel
330
+ attr_accessor contract_id: String
331
+
332
+ attr_accessor customer_id: String
333
+
334
+ def initialize: (contract_id: String, customer_id: String) -> void
335
+
336
+ def to_hash: -> { contract_id: String, customer_id: String }
337
+ end
338
+ end
339
+
340
+ def self?.variants: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::hierarchy_configuration]
341
+ end
342
+
343
+ type prepaid_balance_threshold_configuration =
344
+ {
345
+ commit: MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit,
346
+ is_enabled: bool,
347
+ payment_gate_config: MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig,
348
+ recharge_to_amount: Float,
349
+ threshold_amount: Float,
350
+ custom_credit_type_id: String
351
+ }
352
+
353
+ class PrepaidBalanceThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
354
+ attr_accessor commit: MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit
355
+
356
+ attr_accessor is_enabled: bool
357
+
358
+ attr_accessor payment_gate_config: MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig
359
+
360
+ attr_accessor recharge_to_amount: Float
361
+
362
+ attr_accessor threshold_amount: Float
363
+
364
+ attr_reader custom_credit_type_id: String?
365
+
366
+ def custom_credit_type_id=: (String) -> String
367
+
368
+ def initialize: (
369
+ commit: MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit,
370
+ is_enabled: bool,
371
+ payment_gate_config: MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig,
372
+ recharge_to_amount: Float,
373
+ threshold_amount: Float,
374
+ ?custom_credit_type_id: String
375
+ ) -> void
376
+
377
+ def to_hash: -> {
378
+ commit: MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit,
379
+ is_enabled: bool,
380
+ payment_gate_config: MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig,
381
+ recharge_to_amount: Float,
382
+ threshold_amount: Float,
383
+ custom_credit_type_id: String
384
+ }
385
+
386
+ type commit =
387
+ {
388
+ product_id: String,
389
+ applicable_product_ids: ::Array[String],
390
+ applicable_product_tags: ::Array[String],
391
+ description: String,
392
+ name: String,
393
+ specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit::Specifier]
394
+ }
395
+
396
+ class Commit < MetronomeSDK::Internal::Type::BaseModel
397
+ attr_accessor product_id: String
398
+
399
+ attr_reader applicable_product_ids: ::Array[String]?
400
+
401
+ def applicable_product_ids=: (::Array[String]) -> ::Array[String]
402
+
403
+ attr_reader applicable_product_tags: ::Array[String]?
404
+
405
+ def applicable_product_tags=: (::Array[String]) -> ::Array[String]
406
+
407
+ attr_reader description: String?
408
+
409
+ def description=: (String) -> String
410
+
411
+ attr_reader name: String?
412
+
413
+ def name=: (String) -> String
414
+
415
+ attr_reader specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit::Specifier]?
416
+
417
+ def specifiers=: (
418
+ ::Array[MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit::Specifier]
419
+ ) -> ::Array[MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit::Specifier]
420
+
421
+ def initialize: (
422
+ product_id: String,
423
+ ?applicable_product_ids: ::Array[String],
424
+ ?applicable_product_tags: ::Array[String],
425
+ ?description: String,
426
+ ?name: String,
427
+ ?specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit::Specifier]
428
+ ) -> void
429
+
430
+ def to_hash: -> {
431
+ product_id: String,
432
+ applicable_product_ids: ::Array[String],
433
+ applicable_product_tags: ::Array[String],
434
+ description: String,
435
+ name: String,
436
+ specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::Commit::Specifier]
437
+ }
438
+
439
+ type specifier =
440
+ {
441
+ presentation_group_values: ::Hash[Symbol, String],
442
+ pricing_group_values: ::Hash[Symbol, String],
443
+ product_id: String,
444
+ product_tags: ::Array[String]
445
+ }
446
+
447
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
448
+ attr_reader presentation_group_values: ::Hash[Symbol, String]?
449
+
450
+ def presentation_group_values=: (
451
+ ::Hash[Symbol, String]
452
+ ) -> ::Hash[Symbol, String]
453
+
454
+ attr_reader pricing_group_values: ::Hash[Symbol, String]?
455
+
456
+ def pricing_group_values=: (
457
+ ::Hash[Symbol, String]
458
+ ) -> ::Hash[Symbol, String]
459
+
460
+ attr_reader product_id: String?
461
+
462
+ def product_id=: (String) -> String
463
+
464
+ attr_reader product_tags: ::Array[String]?
465
+
466
+ def product_tags=: (::Array[String]) -> ::Array[String]
467
+
468
+ def initialize: (
469
+ ?presentation_group_values: ::Hash[Symbol, String],
470
+ ?pricing_group_values: ::Hash[Symbol, String],
471
+ ?product_id: String,
472
+ ?product_tags: ::Array[String]
473
+ ) -> void
474
+
475
+ def to_hash: -> {
476
+ presentation_group_values: ::Hash[Symbol, String],
477
+ pricing_group_values: ::Hash[Symbol, String],
478
+ product_id: String,
479
+ product_tags: ::Array[String]
480
+ }
481
+ end
482
+ end
483
+
484
+ type payment_gate_config =
485
+ {
486
+ payment_gate_type: MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type,
487
+ precalculated_tax_config: MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
488
+ stripe_config: MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig,
489
+ tax_type: MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
490
+ }
491
+
492
+ class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
493
+ attr_accessor payment_gate_type: MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type
494
+
495
+ attr_reader precalculated_tax_config: MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig?
496
+
497
+ def precalculated_tax_config=: (
498
+ MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
499
+ ) -> MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
500
+
501
+ attr_reader stripe_config: MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig?
502
+
503
+ def stripe_config=: (
504
+ MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig
505
+ ) -> MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig
506
+
507
+ attr_reader tax_type: MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type?
508
+
509
+ def tax_type=: (
510
+ MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
511
+ ) -> MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
512
+
513
+ def initialize: (
514
+ payment_gate_type: MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type,
515
+ ?precalculated_tax_config: MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
516
+ ?stripe_config: MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig,
517
+ ?tax_type: MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
518
+ ) -> void
519
+
520
+ def to_hash: -> {
521
+ payment_gate_type: MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type,
522
+ precalculated_tax_config: MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
523
+ stripe_config: MetronomeSDK::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig,
524
+ tax_type: MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type
525
+ }
526
+
527
+ type payment_gate_type = :NONE | :STRIPE | :EXTERNAL
528
+
529
+ module PaymentGateType
530
+ extend MetronomeSDK::Internal::Type::Enum
531
+
532
+ NONE: :NONE
533
+ STRIPE: :STRIPE
534
+ EXTERNAL: :EXTERNAL
535
+
536
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::payment_gate_type]
537
+ end
538
+
539
+ type precalculated_tax_config =
540
+ { tax_amount: Float, tax_name: String }
541
+
542
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
543
+ attr_accessor tax_amount: Float
544
+
545
+ attr_reader tax_name: String?
546
+
547
+ def tax_name=: (String) -> String
548
+
549
+ def initialize: (tax_amount: Float, ?tax_name: String) -> void
550
+
551
+ def to_hash: -> { tax_amount: Float, tax_name: String }
552
+ end
553
+
554
+ type stripe_config =
555
+ {
556
+ payment_type: MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
557
+ invoice_metadata: ::Hash[Symbol, String]
558
+ }
559
+
560
+ class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
561
+ attr_accessor payment_type: MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
562
+
563
+ attr_reader invoice_metadata: ::Hash[Symbol, String]?
564
+
565
+ def invoice_metadata=: (
566
+ ::Hash[Symbol, String]
567
+ ) -> ::Hash[Symbol, String]
568
+
569
+ def initialize: (
570
+ payment_type: MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
571
+ ?invoice_metadata: ::Hash[Symbol, String]
572
+ ) -> void
573
+
574
+ def to_hash: -> {
575
+ payment_type: MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
576
+ invoice_metadata: ::Hash[Symbol, String]
577
+ }
578
+
579
+ type payment_type = :INVOICE | :PAYMENT_INTENT
580
+
581
+ module PaymentType
582
+ extend MetronomeSDK::Internal::Type::Enum
583
+
584
+ INVOICE: :INVOICE
585
+ PAYMENT_INTENT: :PAYMENT_INTENT
586
+
587
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type]
588
+ end
589
+ end
590
+
591
+ type tax_type = :NONE | :STRIPE | :ANROK | :PRECALCULATED
592
+
593
+ module TaxType
594
+ extend MetronomeSDK::Internal::Type::Enum
595
+
596
+ NONE: :NONE
597
+ STRIPE: :STRIPE
598
+ ANROK: :ANROK
599
+ PRECALCULATED: :PRECALCULATED
600
+
601
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::PrepaidBalanceThresholdConfiguration::PaymentGateConfig::tax_type]
602
+ end
603
+ end
604
+ end
605
+
606
+ type recurring_commit =
607
+ {
608
+ id: String,
609
+ access_amount: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::AccessAmount,
610
+ commit_duration: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::CommitDuration,
611
+ priority: Float,
612
+ product: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Product,
613
+ rate_type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::rate_type,
614
+ starting_at: Time,
615
+ applicable_product_ids: ::Array[String],
616
+ applicable_product_tags: ::Array[String],
617
+ contract: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Contract,
618
+ description: String,
619
+ ending_before: Time,
620
+ invoice_amount: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::InvoiceAmount,
621
+ name: String,
622
+ netsuite_sales_order_id: String,
623
+ proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::proration,
624
+ recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::recurrence_frequency,
625
+ rollover_fraction: Float,
626
+ specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier]
627
+ }
628
+
629
+ class RecurringCommit < MetronomeSDK::Internal::Type::BaseModel
630
+ attr_accessor id: String
631
+
632
+ attr_accessor access_amount: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::AccessAmount
633
+
634
+ attr_accessor commit_duration: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::CommitDuration
635
+
636
+ attr_accessor priority: Float
637
+
638
+ attr_accessor product: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Product
639
+
640
+ attr_accessor rate_type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::rate_type
641
+
642
+ attr_accessor starting_at: Time
643
+
644
+ attr_reader applicable_product_ids: ::Array[String]?
645
+
646
+ def applicable_product_ids=: (::Array[String]) -> ::Array[String]
647
+
648
+ attr_reader applicable_product_tags: ::Array[String]?
649
+
650
+ def applicable_product_tags=: (::Array[String]) -> ::Array[String]
651
+
652
+ attr_reader contract: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Contract?
653
+
654
+ def contract=: (
655
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Contract
656
+ ) -> MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Contract
657
+
658
+ attr_reader description: String?
659
+
660
+ def description=: (String) -> String
661
+
662
+ attr_reader ending_before: Time?
663
+
664
+ def ending_before=: (Time) -> Time
665
+
666
+ attr_reader invoice_amount: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::InvoiceAmount?
667
+
668
+ def invoice_amount=: (
669
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::InvoiceAmount
670
+ ) -> MetronomeSDK::ContractWithoutAmendments::RecurringCommit::InvoiceAmount
671
+
672
+ attr_reader name: String?
673
+
674
+ def name=: (String) -> String
675
+
676
+ attr_reader netsuite_sales_order_id: String?
677
+
678
+ def netsuite_sales_order_id=: (String) -> String
679
+
680
+ attr_reader proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::proration?
681
+
682
+ def proration=: (
683
+ MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::proration
684
+ ) -> MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::proration
685
+
686
+ attr_reader recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::recurrence_frequency?
687
+
688
+ def recurrence_frequency=: (
689
+ MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::recurrence_frequency
690
+ ) -> MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::recurrence_frequency
691
+
692
+ attr_reader rollover_fraction: Float?
693
+
694
+ def rollover_fraction=: (Float) -> Float
695
+
696
+ attr_reader specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier]?
697
+
698
+ def specifiers=: (
699
+ ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier]
700
+ ) -> ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier]
701
+
702
+ def initialize: (
703
+ id: String,
704
+ access_amount: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::AccessAmount,
705
+ commit_duration: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::CommitDuration,
706
+ priority: Float,
707
+ product: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Product,
708
+ rate_type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::rate_type,
709
+ starting_at: Time,
710
+ ?applicable_product_ids: ::Array[String],
711
+ ?applicable_product_tags: ::Array[String],
712
+ ?contract: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Contract,
713
+ ?description: String,
714
+ ?ending_before: Time,
715
+ ?invoice_amount: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::InvoiceAmount,
716
+ ?name: String,
717
+ ?netsuite_sales_order_id: String,
718
+ ?proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::proration,
719
+ ?recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::recurrence_frequency,
720
+ ?rollover_fraction: Float,
721
+ ?specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier]
722
+ ) -> void
723
+
724
+ def to_hash: -> {
725
+ id: String,
726
+ access_amount: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::AccessAmount,
727
+ commit_duration: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::CommitDuration,
728
+ priority: Float,
729
+ product: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Product,
730
+ rate_type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::rate_type,
731
+ starting_at: Time,
732
+ applicable_product_ids: ::Array[String],
733
+ applicable_product_tags: ::Array[String],
734
+ contract: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Contract,
735
+ description: String,
736
+ ending_before: Time,
737
+ invoice_amount: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::InvoiceAmount,
738
+ name: String,
739
+ netsuite_sales_order_id: String,
740
+ proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::proration,
741
+ recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::recurrence_frequency,
742
+ rollover_fraction: Float,
743
+ specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier]
744
+ }
745
+
746
+ type access_amount =
747
+ { credit_type_id: String, unit_price: Float, quantity: Float }
748
+
749
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
750
+ attr_accessor credit_type_id: String
751
+
752
+ attr_accessor unit_price: Float
753
+
754
+ attr_reader quantity: Float?
755
+
756
+ def quantity=: (Float) -> Float
757
+
758
+ def initialize: (
759
+ credit_type_id: String,
760
+ unit_price: Float,
761
+ ?quantity: Float
762
+ ) -> void
763
+
764
+ def to_hash: -> {
765
+ credit_type_id: String,
766
+ unit_price: Float,
767
+ quantity: Float
768
+ }
769
+ end
770
+
771
+ type commit_duration =
772
+ {
773
+ value: Float,
774
+ unit: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration::unit
775
+ }
776
+
777
+ class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
778
+ attr_accessor value: Float
779
+
780
+ attr_reader unit: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration::unit?
781
+
782
+ def unit=: (
783
+ MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration::unit
784
+ ) -> MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration::unit
785
+
786
+ def initialize: (
787
+ value: Float,
788
+ ?unit: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration::unit
789
+ ) -> void
790
+
791
+ def to_hash: -> {
792
+ value: Float,
793
+ unit: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration::unit
794
+ }
795
+
796
+ type unit = :PERIODS
797
+
798
+ module Unit
799
+ extend MetronomeSDK::Internal::Type::Enum
800
+
801
+ PERIODS: :PERIODS
802
+
803
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration::unit]
804
+ end
805
+ end
806
+
807
+ type product = { id: String, name: String }
808
+
809
+ class Product < MetronomeSDK::Internal::Type::BaseModel
810
+ attr_accessor id: String
811
+
812
+ attr_accessor name: String
813
+
814
+ def initialize: (id: String, name: String) -> void
815
+
816
+ def to_hash: -> { id: String, name: String }
817
+ end
818
+
819
+ type rate_type = :COMMIT_RATE | :LIST_RATE
820
+
821
+ module RateType
822
+ extend MetronomeSDK::Internal::Type::Enum
823
+
824
+ COMMIT_RATE: :COMMIT_RATE
825
+ LIST_RATE: :LIST_RATE
826
+
827
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::rate_type]
828
+ end
829
+
830
+ type contract = { id: String }
831
+
832
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
833
+ attr_accessor id: String
834
+
835
+ def initialize: (id: String) -> void
836
+
837
+ def to_hash: -> { id: String }
838
+ end
839
+
840
+ type invoice_amount =
841
+ { credit_type_id: String, quantity: Float, unit_price: Float }
842
+
843
+ class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
844
+ attr_accessor credit_type_id: String
845
+
846
+ attr_accessor quantity: Float
847
+
848
+ attr_accessor unit_price: Float
849
+
850
+ def initialize: (
851
+ credit_type_id: String,
852
+ quantity: Float,
853
+ unit_price: Float
854
+ ) -> void
855
+
856
+ def to_hash: -> {
857
+ credit_type_id: String,
858
+ quantity: Float,
859
+ unit_price: Float
860
+ }
861
+ end
862
+
863
+ type proration = :NONE | :FIRST | :LAST | :FIRST_AND_LAST
864
+
865
+ module Proration
866
+ extend MetronomeSDK::Internal::Type::Enum
867
+
868
+ NONE: :NONE
869
+ FIRST: :FIRST
870
+ LAST: :LAST
871
+ FIRST_AND_LAST: :FIRST_AND_LAST
872
+
873
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::proration]
874
+ end
875
+
876
+ type recurrence_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
877
+
878
+ module RecurrenceFrequency
879
+ extend MetronomeSDK::Internal::Type::Enum
880
+
881
+ MONTHLY: :MONTHLY
882
+ QUARTERLY: :QUARTERLY
883
+ ANNUAL: :ANNUAL
884
+ WEEKLY: :WEEKLY
885
+
886
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::recurrence_frequency]
887
+ end
888
+
889
+ type specifier =
890
+ {
891
+ presentation_group_values: ::Hash[Symbol, String],
892
+ pricing_group_values: ::Hash[Symbol, String],
893
+ product_id: String,
894
+ product_tags: ::Array[String]
895
+ }
896
+
897
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
898
+ attr_reader presentation_group_values: ::Hash[Symbol, String]?
899
+
900
+ def presentation_group_values=: (
901
+ ::Hash[Symbol, String]
902
+ ) -> ::Hash[Symbol, String]
903
+
904
+ attr_reader pricing_group_values: ::Hash[Symbol, String]?
905
+
906
+ def pricing_group_values=: (
907
+ ::Hash[Symbol, String]
908
+ ) -> ::Hash[Symbol, String]
909
+
910
+ attr_reader product_id: String?
911
+
912
+ def product_id=: (String) -> String
913
+
914
+ attr_reader product_tags: ::Array[String]?
915
+
916
+ def product_tags=: (::Array[String]) -> ::Array[String]
917
+
918
+ def initialize: (
919
+ ?presentation_group_values: ::Hash[Symbol, String],
920
+ ?pricing_group_values: ::Hash[Symbol, String],
921
+ ?product_id: String,
922
+ ?product_tags: ::Array[String]
923
+ ) -> void
924
+
925
+ def to_hash: -> {
926
+ presentation_group_values: ::Hash[Symbol, String],
927
+ pricing_group_values: ::Hash[Symbol, String],
928
+ product_id: String,
929
+ product_tags: ::Array[String]
930
+ }
931
+ end
932
+ end
933
+
934
+ type recurring_credit =
935
+ {
936
+ id: String,
937
+ access_amount: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::AccessAmount,
938
+ commit_duration: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::CommitDuration,
939
+ priority: Float,
940
+ product: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Product,
941
+ rate_type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::rate_type,
942
+ starting_at: Time,
943
+ applicable_product_ids: ::Array[String],
944
+ applicable_product_tags: ::Array[String],
945
+ contract: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Contract,
946
+ description: String,
947
+ ending_before: Time,
948
+ name: String,
949
+ netsuite_sales_order_id: String,
950
+ proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::proration,
951
+ recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::recurrence_frequency,
952
+ rollover_fraction: Float,
953
+ specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier]
954
+ }
955
+
956
+ class RecurringCredit < MetronomeSDK::Internal::Type::BaseModel
957
+ attr_accessor id: String
958
+
959
+ attr_accessor access_amount: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::AccessAmount
960
+
961
+ attr_accessor commit_duration: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::CommitDuration
962
+
963
+ attr_accessor priority: Float
964
+
965
+ attr_accessor product: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Product
966
+
967
+ attr_accessor rate_type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::rate_type
968
+
969
+ attr_accessor starting_at: Time
970
+
971
+ attr_reader applicable_product_ids: ::Array[String]?
972
+
973
+ def applicable_product_ids=: (::Array[String]) -> ::Array[String]
974
+
975
+ attr_reader applicable_product_tags: ::Array[String]?
976
+
977
+ def applicable_product_tags=: (::Array[String]) -> ::Array[String]
978
+
979
+ attr_reader contract: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Contract?
980
+
981
+ def contract=: (
982
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Contract
983
+ ) -> MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Contract
984
+
985
+ attr_reader description: String?
986
+
987
+ def description=: (String) -> String
988
+
989
+ attr_reader ending_before: Time?
990
+
991
+ def ending_before=: (Time) -> Time
992
+
993
+ attr_reader name: String?
994
+
995
+ def name=: (String) -> String
996
+
997
+ attr_reader netsuite_sales_order_id: String?
998
+
999
+ def netsuite_sales_order_id=: (String) -> String
1000
+
1001
+ attr_reader proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::proration?
1002
+
1003
+ def proration=: (
1004
+ MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::proration
1005
+ ) -> MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::proration
1006
+
1007
+ attr_reader recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::recurrence_frequency?
1008
+
1009
+ def recurrence_frequency=: (
1010
+ MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::recurrence_frequency
1011
+ ) -> MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::recurrence_frequency
1012
+
1013
+ attr_reader rollover_fraction: Float?
1014
+
1015
+ def rollover_fraction=: (Float) -> Float
1016
+
1017
+ attr_reader specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier]?
1018
+
1019
+ def specifiers=: (
1020
+ ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier]
1021
+ ) -> ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier]
1022
+
1023
+ def initialize: (
1024
+ id: String,
1025
+ access_amount: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::AccessAmount,
1026
+ commit_duration: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::CommitDuration,
1027
+ priority: Float,
1028
+ product: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Product,
1029
+ rate_type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::rate_type,
1030
+ starting_at: Time,
1031
+ ?applicable_product_ids: ::Array[String],
1032
+ ?applicable_product_tags: ::Array[String],
1033
+ ?contract: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Contract,
1034
+ ?description: String,
1035
+ ?ending_before: Time,
1036
+ ?name: String,
1037
+ ?netsuite_sales_order_id: String,
1038
+ ?proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::proration,
1039
+ ?recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::recurrence_frequency,
1040
+ ?rollover_fraction: Float,
1041
+ ?specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier]
1042
+ ) -> void
1043
+
1044
+ def to_hash: -> {
1045
+ id: String,
1046
+ access_amount: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::AccessAmount,
1047
+ commit_duration: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::CommitDuration,
1048
+ priority: Float,
1049
+ product: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Product,
1050
+ rate_type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::rate_type,
1051
+ starting_at: Time,
1052
+ applicable_product_ids: ::Array[String],
1053
+ applicable_product_tags: ::Array[String],
1054
+ contract: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Contract,
1055
+ description: String,
1056
+ ending_before: Time,
1057
+ name: String,
1058
+ netsuite_sales_order_id: String,
1059
+ proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::proration,
1060
+ recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::recurrence_frequency,
1061
+ rollover_fraction: Float,
1062
+ specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier]
1063
+ }
1064
+
1065
+ type access_amount =
1066
+ { credit_type_id: String, unit_price: Float, quantity: Float }
1067
+
1068
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
1069
+ attr_accessor credit_type_id: String
1070
+
1071
+ attr_accessor unit_price: Float
1072
+
1073
+ attr_reader quantity: Float?
1074
+
1075
+ def quantity=: (Float) -> Float
1076
+
1077
+ def initialize: (
1078
+ credit_type_id: String,
1079
+ unit_price: Float,
1080
+ ?quantity: Float
1081
+ ) -> void
1082
+
1083
+ def to_hash: -> {
1084
+ credit_type_id: String,
1085
+ unit_price: Float,
1086
+ quantity: Float
1087
+ }
1088
+ end
1089
+
1090
+ type commit_duration =
1091
+ {
1092
+ value: Float,
1093
+ unit: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration::unit
1094
+ }
1095
+
1096
+ class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
1097
+ attr_accessor value: Float
1098
+
1099
+ attr_reader unit: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration::unit?
1100
+
1101
+ def unit=: (
1102
+ MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration::unit
1103
+ ) -> MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration::unit
1104
+
1105
+ def initialize: (
1106
+ value: Float,
1107
+ ?unit: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration::unit
1108
+ ) -> void
1109
+
1110
+ def to_hash: -> {
1111
+ value: Float,
1112
+ unit: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration::unit
1113
+ }
1114
+
1115
+ type unit = :PERIODS
1116
+
1117
+ module Unit
1118
+ extend MetronomeSDK::Internal::Type::Enum
1119
+
1120
+ PERIODS: :PERIODS
1121
+
1122
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration::unit]
1123
+ end
1124
+ end
1125
+
1126
+ type product = { id: String, name: String }
1127
+
1128
+ class Product < MetronomeSDK::Internal::Type::BaseModel
1129
+ attr_accessor id: String
1130
+
1131
+ attr_accessor name: String
1132
+
1133
+ def initialize: (id: String, name: String) -> void
1134
+
1135
+ def to_hash: -> { id: String, name: String }
1136
+ end
1137
+
1138
+ type rate_type = :COMMIT_RATE | :LIST_RATE
1139
+
1140
+ module RateType
1141
+ extend MetronomeSDK::Internal::Type::Enum
1142
+
1143
+ COMMIT_RATE: :COMMIT_RATE
1144
+ LIST_RATE: :LIST_RATE
1145
+
1146
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::rate_type]
1147
+ end
1148
+
1149
+ type contract = { id: String }
1150
+
1151
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
1152
+ attr_accessor id: String
1153
+
1154
+ def initialize: (id: String) -> void
1155
+
1156
+ def to_hash: -> { id: String }
1157
+ end
1158
+
1159
+ type proration = :NONE | :FIRST | :LAST | :FIRST_AND_LAST
1160
+
1161
+ module Proration
1162
+ extend MetronomeSDK::Internal::Type::Enum
1163
+
1164
+ NONE: :NONE
1165
+ FIRST: :FIRST
1166
+ LAST: :LAST
1167
+ FIRST_AND_LAST: :FIRST_AND_LAST
1168
+
1169
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::proration]
1170
+ end
1171
+
1172
+ type recurrence_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
1173
+
1174
+ module RecurrenceFrequency
1175
+ extend MetronomeSDK::Internal::Type::Enum
1176
+
1177
+ MONTHLY: :MONTHLY
1178
+ QUARTERLY: :QUARTERLY
1179
+ ANNUAL: :ANNUAL
1180
+ WEEKLY: :WEEKLY
1181
+
1182
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::recurrence_frequency]
1183
+ end
1184
+
1185
+ type specifier =
1186
+ {
1187
+ presentation_group_values: ::Hash[Symbol, String],
1188
+ pricing_group_values: ::Hash[Symbol, String],
1189
+ product_id: String,
1190
+ product_tags: ::Array[String]
1191
+ }
1192
+
1193
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
1194
+ attr_reader presentation_group_values: ::Hash[Symbol, String]?
1195
+
1196
+ def presentation_group_values=: (
1197
+ ::Hash[Symbol, String]
1198
+ ) -> ::Hash[Symbol, String]
1199
+
1200
+ attr_reader pricing_group_values: ::Hash[Symbol, String]?
1201
+
1202
+ def pricing_group_values=: (
1203
+ ::Hash[Symbol, String]
1204
+ ) -> ::Hash[Symbol, String]
1205
+
1206
+ attr_reader product_id: String?
1207
+
1208
+ def product_id=: (String) -> String
1209
+
1210
+ attr_reader product_tags: ::Array[String]?
1211
+
1212
+ def product_tags=: (::Array[String]) -> ::Array[String]
1213
+
1214
+ def initialize: (
1215
+ ?presentation_group_values: ::Hash[Symbol, String],
1216
+ ?pricing_group_values: ::Hash[Symbol, String],
1217
+ ?product_id: String,
1218
+ ?product_tags: ::Array[String]
1219
+ ) -> void
1220
+
1221
+ def to_hash: -> {
1222
+ presentation_group_values: ::Hash[Symbol, String],
1223
+ pricing_group_values: ::Hash[Symbol, String],
1224
+ product_id: String,
1225
+ product_tags: ::Array[String]
1226
+ }
1227
+ end
1228
+ end
1229
+
1230
+ type reseller_royalty =
1231
+ {
1232
+ fraction: Float,
1233
+ netsuite_reseller_id: String,
1234
+ reseller_type: MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty::reseller_type,
1235
+ starting_at: Time,
1236
+ applicable_product_ids: ::Array[String],
1237
+ applicable_product_tags: ::Array[String],
1238
+ aws_account_number: String,
1239
+ aws_offer_id: String,
1240
+ aws_payer_reference_id: String,
1241
+ ending_before: Time,
1242
+ gcp_account_id: String,
1243
+ gcp_offer_id: String,
1244
+ reseller_contract_value: Float
1245
+ }
1246
+
1247
+ class ResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
1248
+ attr_accessor fraction: Float
1249
+
1250
+ attr_accessor netsuite_reseller_id: String
1251
+
1252
+ attr_accessor reseller_type: MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty::reseller_type
1253
+
1254
+ attr_accessor starting_at: Time
1255
+
1256
+ attr_reader applicable_product_ids: ::Array[String]?
1257
+
1258
+ def applicable_product_ids=: (::Array[String]) -> ::Array[String]
1259
+
1260
+ attr_reader applicable_product_tags: ::Array[String]?
1261
+
1262
+ def applicable_product_tags=: (::Array[String]) -> ::Array[String]
1263
+
1264
+ attr_reader aws_account_number: String?
1265
+
1266
+ def aws_account_number=: (String) -> String
1267
+
1268
+ attr_reader aws_offer_id: String?
1269
+
1270
+ def aws_offer_id=: (String) -> String
1271
+
1272
+ attr_reader aws_payer_reference_id: String?
1273
+
1274
+ def aws_payer_reference_id=: (String) -> String
1275
+
1276
+ attr_reader ending_before: Time?
1277
+
1278
+ def ending_before=: (Time) -> Time
1279
+
1280
+ attr_reader gcp_account_id: String?
1281
+
1282
+ def gcp_account_id=: (String) -> String
1283
+
1284
+ attr_reader gcp_offer_id: String?
1285
+
1286
+ def gcp_offer_id=: (String) -> String
1287
+
1288
+ attr_reader reseller_contract_value: Float?
1289
+
1290
+ def reseller_contract_value=: (Float) -> Float
1291
+
1292
+ def initialize: (
1293
+ fraction: Float,
1294
+ netsuite_reseller_id: String,
1295
+ reseller_type: MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty::reseller_type,
1296
+ starting_at: Time,
1297
+ ?applicable_product_ids: ::Array[String],
1298
+ ?applicable_product_tags: ::Array[String],
1299
+ ?aws_account_number: String,
1300
+ ?aws_offer_id: String,
1301
+ ?aws_payer_reference_id: String,
1302
+ ?ending_before: Time,
1303
+ ?gcp_account_id: String,
1304
+ ?gcp_offer_id: String,
1305
+ ?reseller_contract_value: Float
1306
+ ) -> void
1307
+
1308
+ def to_hash: -> {
1309
+ fraction: Float,
1310
+ netsuite_reseller_id: String,
1311
+ reseller_type: MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty::reseller_type,
1312
+ starting_at: Time,
1313
+ applicable_product_ids: ::Array[String],
1314
+ applicable_product_tags: ::Array[String],
1315
+ aws_account_number: String,
1316
+ aws_offer_id: String,
1317
+ aws_payer_reference_id: String,
1318
+ ending_before: Time,
1319
+ gcp_account_id: String,
1320
+ gcp_offer_id: String,
1321
+ reseller_contract_value: Float
1322
+ }
1323
+
1324
+ type reseller_type = :AWS | :AWS_PRO_SERVICE | :GCP | :GCP_PRO_SERVICE
1325
+
1326
+ module ResellerType
1327
+ extend MetronomeSDK::Internal::Type::Enum
1328
+
1329
+ AWS: :AWS
1330
+ AWS_PRO_SERVICE: :AWS_PRO_SERVICE
1331
+ GCP: :GCP
1332
+ GCP_PRO_SERVICE: :GCP_PRO_SERVICE
1333
+
1334
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty::reseller_type]
1335
+ end
1336
+ end
1337
+
1338
+ type scheduled_charges_on_usage_invoices = :ALL
1339
+
1340
+ module ScheduledChargesOnUsageInvoices
1341
+ extend MetronomeSDK::Internal::Type::Enum
1342
+
1343
+ ALL: :ALL
1344
+
1345
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::scheduled_charges_on_usage_invoices]
1346
+ end
1347
+
1348
+ type spend_threshold_configuration =
1349
+ {
1350
+ commit: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::Commit,
1351
+ is_enabled: bool,
1352
+ payment_gate_config: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig,
1353
+ threshold_amount: Float
1354
+ }
1355
+
1356
+ class SpendThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
1357
+ attr_accessor commit: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::Commit
1358
+
1359
+ attr_accessor is_enabled: bool
1360
+
1361
+ attr_accessor payment_gate_config: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig
1362
+
1363
+ attr_accessor threshold_amount: Float
1364
+
1365
+ def initialize: (
1366
+ commit: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::Commit,
1367
+ is_enabled: bool,
1368
+ payment_gate_config: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig,
1369
+ threshold_amount: Float
1370
+ ) -> void
1371
+
1372
+ def to_hash: -> {
1373
+ commit: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::Commit,
1374
+ is_enabled: bool,
1375
+ payment_gate_config: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig,
1376
+ threshold_amount: Float
1377
+ }
1378
+
1379
+ type commit = { product_id: String, description: String, name: String }
1380
+
1381
+ class Commit < MetronomeSDK::Internal::Type::BaseModel
1382
+ attr_accessor product_id: String
1383
+
1384
+ attr_reader description: String?
1385
+
1386
+ def description=: (String) -> String
1387
+
1388
+ attr_reader name: String?
1389
+
1390
+ def name=: (String) -> String
1391
+
1392
+ def initialize: (
1393
+ product_id: String,
1394
+ ?description: String,
1395
+ ?name: String
1396
+ ) -> void
1397
+
1398
+ def to_hash: -> {
1399
+ product_id: String,
1400
+ description: String,
1401
+ name: String
1402
+ }
1403
+ end
1404
+
1405
+ type payment_gate_config =
1406
+ {
1407
+ payment_gate_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::payment_gate_type,
1408
+ precalculated_tax_config: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
1409
+ stripe_config: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
1410
+ tax_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::tax_type
1411
+ }
1412
+
1413
+ class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
1414
+ attr_accessor payment_gate_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::payment_gate_type
1415
+
1416
+ attr_reader precalculated_tax_config: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig?
1417
+
1418
+ def precalculated_tax_config=: (
1419
+ MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
1420
+ ) -> MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
1421
+
1422
+ attr_reader stripe_config: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig?
1423
+
1424
+ def stripe_config=: (
1425
+ MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig
1426
+ ) -> MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig
1427
+
1428
+ attr_reader tax_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::tax_type?
1429
+
1430
+ def tax_type=: (
1431
+ MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::tax_type
1432
+ ) -> MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::tax_type
1433
+
1434
+ def initialize: (
1435
+ payment_gate_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::payment_gate_type,
1436
+ ?precalculated_tax_config: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
1437
+ ?stripe_config: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
1438
+ ?tax_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::tax_type
1439
+ ) -> void
1440
+
1441
+ def to_hash: -> {
1442
+ payment_gate_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::payment_gate_type,
1443
+ precalculated_tax_config: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
1444
+ stripe_config: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
1445
+ tax_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::tax_type
1446
+ }
1447
+
1448
+ type payment_gate_type = :NONE | :STRIPE | :EXTERNAL
1449
+
1450
+ module PaymentGateType
1451
+ extend MetronomeSDK::Internal::Type::Enum
1452
+
1453
+ NONE: :NONE
1454
+ STRIPE: :STRIPE
1455
+ EXTERNAL: :EXTERNAL
1456
+
1457
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::payment_gate_type]
1458
+ end
1459
+
1460
+ type precalculated_tax_config =
1461
+ { tax_amount: Float, tax_name: String }
1462
+
1463
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
1464
+ attr_accessor tax_amount: Float
1465
+
1466
+ attr_reader tax_name: String?
1467
+
1468
+ def tax_name=: (String) -> String
1469
+
1470
+ def initialize: (tax_amount: Float, ?tax_name: String) -> void
1471
+
1472
+ def to_hash: -> { tax_amount: Float, tax_name: String }
1473
+ end
1474
+
1475
+ type stripe_config =
1476
+ {
1477
+ payment_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
1478
+ invoice_metadata: ::Hash[Symbol, String]
1479
+ }
1480
+
1481
+ class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
1482
+ attr_accessor payment_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
1483
+
1484
+ attr_reader invoice_metadata: ::Hash[Symbol, String]?
1485
+
1486
+ def invoice_metadata=: (
1487
+ ::Hash[Symbol, String]
1488
+ ) -> ::Hash[Symbol, String]
1489
+
1490
+ def initialize: (
1491
+ payment_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
1492
+ ?invoice_metadata: ::Hash[Symbol, String]
1493
+ ) -> void
1494
+
1495
+ def to_hash: -> {
1496
+ payment_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
1497
+ invoice_metadata: ::Hash[Symbol, String]
1498
+ }
1499
+
1500
+ type payment_type = :INVOICE | :PAYMENT_INTENT
1501
+
1502
+ module PaymentType
1503
+ extend MetronomeSDK::Internal::Type::Enum
1504
+
1505
+ INVOICE: :INVOICE
1506
+ PAYMENT_INTENT: :PAYMENT_INTENT
1507
+
1508
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type]
1509
+ end
1510
+ end
1511
+
1512
+ type tax_type = :NONE | :STRIPE | :ANROK | :PRECALCULATED
1513
+
1514
+ module TaxType
1515
+ extend MetronomeSDK::Internal::Type::Enum
1516
+
1517
+ NONE: :NONE
1518
+ STRIPE: :STRIPE
1519
+ ANROK: :ANROK
1520
+ PRECALCULATED: :PRECALCULATED
1521
+
1522
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::tax_type]
1523
+ end
1524
+ end
1525
+ end
1526
+
1527
+ type usage_filter =
1528
+ {
1529
+ current: MetronomeSDK::BaseUsageFilter?,
1530
+ initial: MetronomeSDK::BaseUsageFilter,
1531
+ updates: ::Array[MetronomeSDK::ContractWithoutAmendments::UsageFilter::Update]
1532
+ }
1533
+
1534
+ class UsageFilter < MetronomeSDK::Internal::Type::BaseModel
1535
+ attr_accessor current: MetronomeSDK::BaseUsageFilter?
1536
+
1537
+ attr_accessor initial: MetronomeSDK::BaseUsageFilter
1538
+
1539
+ attr_accessor updates: ::Array[MetronomeSDK::ContractWithoutAmendments::UsageFilter::Update]
1540
+
1541
+ def initialize: (
1542
+ current: MetronomeSDK::BaseUsageFilter?,
1543
+ initial: MetronomeSDK::BaseUsageFilter,
1544
+ updates: ::Array[MetronomeSDK::ContractWithoutAmendments::UsageFilter::Update]
1545
+ ) -> void
1546
+
1547
+ def to_hash: -> {
1548
+ current: MetronomeSDK::BaseUsageFilter?,
1549
+ initial: MetronomeSDK::BaseUsageFilter,
1550
+ updates: ::Array[MetronomeSDK::ContractWithoutAmendments::UsageFilter::Update]
1551
+ }
1552
+
1553
+ type update =
1554
+ {
1555
+ group_key: String,
1556
+ group_values: ::Array[String],
1557
+ starting_at: Time
1558
+ }
1559
+
1560
+ class Update < MetronomeSDK::Internal::Type::BaseModel
1561
+ attr_accessor group_key: String
1562
+
1563
+ attr_accessor group_values: ::Array[String]
1564
+
1565
+ attr_accessor starting_at: Time
1566
+
1567
+ def initialize: (
1568
+ group_key: String,
1569
+ group_values: ::Array[String],
1570
+ starting_at: Time
1571
+ ) -> void
1572
+
1573
+ def to_hash: -> {
1574
+ group_key: String,
1575
+ group_values: ::Array[String],
1576
+ starting_at: Time
1577
+ }
1578
+ end
1579
+ end
1580
+ end
1581
+ end
1582
+ end