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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +56 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/errors.rb +22 -0
  5. data/lib/metronome_sdk/internal/cursor_page.rb +1 -1
  6. data/lib/metronome_sdk/internal/transport/base_client.rb +10 -2
  7. data/lib/metronome_sdk/internal/type/array_of.rb +6 -1
  8. data/lib/metronome_sdk/internal/type/base_model.rb +82 -26
  9. data/lib/metronome_sdk/internal/type/boolean.rb +7 -1
  10. data/lib/metronome_sdk/internal/type/converter.rb +42 -34
  11. data/lib/metronome_sdk/internal/type/enum.rb +16 -5
  12. data/lib/metronome_sdk/internal/type/file_input.rb +6 -1
  13. data/lib/metronome_sdk/internal/type/hash_of.rb +6 -1
  14. data/lib/metronome_sdk/internal/type/union.rb +17 -9
  15. data/lib/metronome_sdk/internal/type/unknown.rb +7 -1
  16. data/lib/metronome_sdk/internal/util.rb +8 -9
  17. data/lib/metronome_sdk/models/base_usage_filter.rb +27 -0
  18. data/lib/metronome_sdk/models/commit.rb +1053 -0
  19. data/lib/metronome_sdk/models/contract_without_amendments.rb +2043 -0
  20. data/lib/metronome_sdk/models/credit.rb +677 -0
  21. data/lib/metronome_sdk/models/credit_type_data.rb +21 -0
  22. data/lib/metronome_sdk/models/discount.rb +68 -0
  23. data/lib/metronome_sdk/models/event_type_filter.rb +33 -0
  24. data/lib/metronome_sdk/models/id.rb +15 -0
  25. data/lib/metronome_sdk/models/override.rb +381 -0
  26. data/lib/metronome_sdk/models/pro_service.rb +73 -0
  27. data/lib/metronome_sdk/models/property_filter.rb +52 -0
  28. data/lib/metronome_sdk/models/rate.rb +101 -0
  29. data/lib/metronome_sdk/models/schedule_duration.rb +50 -0
  30. data/lib/metronome_sdk/models/schedule_point_in_time.rb +62 -0
  31. data/lib/metronome_sdk/models/scheduled_charge.rb +76 -0
  32. data/lib/metronome_sdk/models/tier.rb +21 -0
  33. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +3 -14
  34. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -1
  35. data/lib/metronome_sdk/models/v1/alert_create_response.rb +3 -14
  36. data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +2 -8
  37. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +3 -14
  38. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +6 -86
  39. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +3 -14
  40. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +6 -85
  41. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +8 -85
  42. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +312 -35
  43. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +3 -14
  44. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +3 -14
  45. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +3 -1276
  46. data/lib/metronome_sdk/models/v1/contract_create_params.rb +792 -104
  47. data/lib/metronome_sdk/models/v1/contract_create_response.rb +3 -14
  48. data/lib/metronome_sdk/models/v1/contract_list_balances_params.rb +9 -1
  49. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +5 -1645
  50. data/lib/metronome_sdk/models/v1/contract_list_response.rb +253 -10692
  51. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +9 -295
  52. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +254 -10721
  53. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +3 -1276
  54. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +3 -14
  55. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +3 -14
  56. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +6 -97
  57. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +3 -14
  58. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +148 -0
  59. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +12 -561
  60. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +2 -8
  61. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +14 -559
  62. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +6 -97
  63. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +3 -14
  64. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +57 -0
  65. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +45 -0
  66. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_params.rb +2 -8
  67. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +3 -14
  68. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +3 -14
  69. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +6 -42
  70. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +2 -8
  71. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +6 -159
  72. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +6 -42
  73. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +3 -14
  74. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +3 -14
  75. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +3 -14
  76. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -44
  77. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +3 -16
  78. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +6 -44
  79. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +9 -61
  80. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +6 -158
  81. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +5 -77
  82. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +3 -14
  83. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +3 -14
  84. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +20 -1
  85. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +11 -153
  86. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +14 -175
  87. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +3 -14
  88. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +69 -0
  89. data/lib/metronome_sdk/models/v1/customer.rb +53 -0
  90. data/lib/metronome_sdk/models/v1/customer_archive_params.rb +2 -8
  91. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +3 -14
  92. data/lib/metronome_sdk/models/v1/customer_create_response.rb +3 -50
  93. data/lib/metronome_sdk/models/v1/{customer_list_response.rb → customer_detail.rb} +14 -15
  94. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +6 -86
  95. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +115 -0
  96. data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +18 -0
  97. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +3 -126
  98. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +3 -50
  99. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +5 -276
  100. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +3 -279
  101. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +9 -1
  102. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +8 -6
  103. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +3 -14
  104. data/lib/metronome_sdk/models/v1/customers/commit_list_params.rb +9 -1
  105. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +3 -1047
  106. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +3 -14
  107. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +3 -14
  108. data/lib/metronome_sdk/models/v1/customers/credit_list_params.rb +9 -1
  109. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +3 -593
  110. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +3 -14
  111. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +270 -0
  112. data/lib/metronome_sdk/models/v1/customers/{invoice_list_response.rb → invoice.rb} +119 -303
  113. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +2 -1271
  114. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +3 -1276
  115. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +3 -14
  116. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +3 -21
  117. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +1 -0
  118. data/lib/metronome_sdk/models/v1/plan_detail.rb +200 -0
  119. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +3 -286
  120. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +3 -20
  121. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +3 -128
  122. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +38 -0
  123. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +38 -0
  124. data/lib/metronome_sdk/models/v1/usage_search_params.rb +24 -0
  125. data/lib/metronome_sdk/models/v1/usage_search_response.rb +249 -0
  126. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +11 -8
  127. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +3 -14
  128. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +3 -2
  129. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +3 -14
  130. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +1127 -105
  131. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3 -14
  132. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +577 -643
  133. data/lib/metronome_sdk/models/v2/contract_list_response.rb +917 -746
  134. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +917 -748
  135. data/lib/metronome_sdk/models.rb +36 -4
  136. data/lib/metronome_sdk/resources/v1/alerts.rb +1 -1
  137. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +2 -2
  138. data/lib/metronome_sdk/resources/v1/contracts/products.rb +4 -4
  139. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +1 -1
  140. data/lib/metronome_sdk/resources/v1/contracts.rb +11 -5
  141. data/lib/metronome_sdk/resources/v1/credit_grants.rb +4 -2
  142. data/lib/metronome_sdk/resources/v1/customers/commits.rb +5 -3
  143. data/lib/metronome_sdk/resources/v1/customers/credits.rb +3 -1
  144. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +2 -2
  145. data/lib/metronome_sdk/resources/v1/customers.rb +40 -2
  146. data/lib/metronome_sdk/resources/v1/usage.rb +25 -0
  147. data/lib/metronome_sdk/resources/v2/contracts.rb +11 -9
  148. data/lib/metronome_sdk/version.rb +1 -1
  149. data/lib/metronome_sdk.rb +31 -2
  150. data/rbi/metronome_sdk/errors.rbi +16 -0
  151. data/rbi/metronome_sdk/internal/type/boolean.rbi +2 -0
  152. data/rbi/metronome_sdk/internal/type/converter.rbi +15 -15
  153. data/rbi/metronome_sdk/internal/type/union.rbi +5 -0
  154. data/rbi/metronome_sdk/internal/type/unknown.rbi +2 -0
  155. data/rbi/metronome_sdk/internal/util.rbi +2 -0
  156. data/rbi/metronome_sdk/models/base_usage_filter.rbi +46 -0
  157. data/rbi/metronome_sdk/models/commit.rbi +2046 -0
  158. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +4260 -0
  159. data/rbi/metronome_sdk/models/credit.rbi +1314 -0
  160. data/rbi/metronome_sdk/models/credit_type_data.rbi +26 -0
  161. data/rbi/metronome_sdk/models/discount.rbi +106 -0
  162. data/rbi/metronome_sdk/models/event_type_filter.rbi +57 -0
  163. data/rbi/metronome_sdk/models/id.rbi +23 -0
  164. data/rbi/metronome_sdk/models/override.rbi +675 -0
  165. data/rbi/metronome_sdk/models/pro_service.rbi +98 -0
  166. data/rbi/metronome_sdk/models/property_filter.rbi +88 -0
  167. data/rbi/metronome_sdk/models/rate.rbi +155 -0
  168. data/rbi/metronome_sdk/models/schedule_duration.rbi +89 -0
  169. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +121 -0
  170. data/rbi/metronome_sdk/models/scheduled_charge.rbi +119 -0
  171. data/rbi/metronome_sdk/models/tier.rbi +29 -0
  172. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +4 -37
  173. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -0
  174. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +4 -37
  175. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +6 -12
  176. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +4 -44
  177. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +8 -177
  178. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +4 -43
  179. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +8 -177
  180. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +8 -175
  181. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +712 -68
  182. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +4 -37
  183. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +4 -39
  184. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +3 -2595
  185. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1738 -210
  186. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +4 -37
  187. data/rbi/metronome_sdk/models/v1/contract_list_balances_params.rbi +11 -0
  188. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +3 -3366
  189. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +375 -22523
  190. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +12 -632
  191. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +375 -22523
  192. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +3 -2595
  193. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +4 -44
  194. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +4 -44
  195. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +8 -209
  196. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +4 -44
  197. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +237 -0
  198. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +76 -1143
  199. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +3 -9
  200. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +76 -1137
  201. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +8 -209
  202. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +4 -44
  203. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +111 -0
  204. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +94 -0
  205. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbi +3 -9
  206. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbi +4 -44
  207. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +4 -44
  208. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +8 -74
  209. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +3 -9
  210. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +8 -344
  211. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +8 -74
  212. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +4 -44
  213. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +4 -44
  214. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +4 -44
  215. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +8 -108
  216. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +4 -45
  217. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +8 -108
  218. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +12 -149
  219. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +8 -344
  220. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +8 -166
  221. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +4 -41
  222. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +4 -39
  223. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +58 -0
  224. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +10 -231
  225. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +14 -281
  226. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +4 -39
  227. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +90 -0
  228. data/rbi/metronome_sdk/models/v1/customer.rbi +74 -0
  229. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +6 -12
  230. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +4 -39
  231. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +6 -84
  232. data/rbi/metronome_sdk/models/v1/{customer_list_response.rbi → customer_detail.rbi} +19 -26
  233. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +8 -177
  234. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +214 -0
  235. data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +35 -0
  236. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +6 -255
  237. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +6 -86
  238. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +3 -623
  239. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +4 -622
  240. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +11 -0
  241. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +12 -8
  242. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +4 -44
  243. data/rbi/metronome_sdk/models/v1/customers/commit_list_params.rbi +11 -0
  244. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +3 -2164
  245. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +4 -44
  246. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +4 -44
  247. data/rbi/metronome_sdk/models/v1/customers/credit_list_params.rbi +11 -0
  248. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +3 -1224
  249. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +4 -44
  250. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +572 -0
  251. data/rbi/metronome_sdk/models/v1/customers/{invoice_list_response.rbi → invoice.rbi} +182 -589
  252. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +4 -2561
  253. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +6 -2612
  254. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +4 -41
  255. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +4 -39
  256. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +5 -0
  257. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +349 -0
  258. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +6 -560
  259. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +4 -37
  260. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +4 -248
  261. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +79 -0
  262. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +80 -0
  263. data/rbi/metronome_sdk/models/v1/usage_search_params.rbi +48 -0
  264. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +438 -0
  265. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +23 -23
  266. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +4 -41
  267. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +11 -15
  268. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +4 -41
  269. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +2463 -206
  270. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +4 -37
  271. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1381 -1550
  272. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +2017 -1466
  273. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +2017 -1466
  274. data/rbi/metronome_sdk/models.rbi +32 -0
  275. data/rbi/metronome_sdk/resources/v1/alerts.rbi +3 -0
  276. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +2 -6
  277. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +4 -4
  278. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +1 -4
  279. data/rbi/metronome_sdk/resources/v1/contracts.rbi +13 -4
  280. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +4 -0
  281. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +9 -4
  282. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +3 -0
  283. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +1 -1
  284. data/rbi/metronome_sdk/resources/v1/customers.rbi +34 -3
  285. data/rbi/metronome_sdk/resources/v1/usage.rbi +17 -0
  286. data/rbi/metronome_sdk/resources/v2/contracts.rbi +24 -14
  287. data/sig/metronome_sdk/errors.rbs +9 -0
  288. data/sig/metronome_sdk/internal/type/converter.rbs +7 -1
  289. data/sig/metronome_sdk/models/base_usage_filter.rbs +28 -0
  290. data/sig/metronome_sdk/models/commit.rbs +1063 -0
  291. data/sig/metronome_sdk/models/contract_without_amendments.rbs +1828 -0
  292. data/sig/metronome_sdk/models/credit.rbs +686 -0
  293. data/sig/metronome_sdk/models/credit_type_data.rbs +15 -0
  294. data/sig/metronome_sdk/models/discount.rbs +63 -0
  295. data/sig/metronome_sdk/models/event_type_filter.rbs +26 -0
  296. data/sig/metronome_sdk/models/id.rbs +13 -0
  297. data/sig/metronome_sdk/models/override.rbs +399 -0
  298. data/sig/metronome_sdk/models/pro_service.rbs +61 -0
  299. data/sig/metronome_sdk/models/property_filter.rbs +41 -0
  300. data/sig/metronome_sdk/models/rate.rbs +94 -0
  301. data/sig/metronome_sdk/models/schedule_duration.rbs +56 -0
  302. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +75 -0
  303. data/sig/metronome_sdk/models/scheduled_charge.rbs +70 -0
  304. data/sig/metronome_sdk/models/tier.rbs +17 -0
  305. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +4 -19
  306. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +4 -19
  307. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +4 -12
  308. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +4 -19
  309. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +12 -73
  310. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +4 -19
  311. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +12 -73
  312. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +12 -73
  313. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +291 -24
  314. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +4 -19
  315. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +4 -19
  316. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +4 -1291
  317. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +694 -84
  318. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +4 -19
  319. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +7 -0
  320. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +1 -1642
  321. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +188 -10437
  322. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +15 -271
  323. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +188 -10437
  324. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +4 -1291
  325. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +4 -19
  326. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +4 -21
  327. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +8 -82
  328. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +4 -21
  329. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +121 -0
  330. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +16 -466
  331. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +4 -12
  332. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +16 -466
  333. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +8 -82
  334. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +4 -21
  335. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +47 -0
  336. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +41 -0
  337. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +4 -12
  338. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +4 -21
  339. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +4 -21
  340. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +10 -34
  341. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +4 -12
  342. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +10 -144
  343. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +10 -34
  344. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +4 -21
  345. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +4 -21
  346. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +4 -21
  347. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +12 -40
  348. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +4 -21
  349. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +12 -40
  350. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +18 -58
  351. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +10 -144
  352. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +2 -66
  353. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +4 -19
  354. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +4 -19
  355. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +20 -0
  356. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +12 -118
  357. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +16 -140
  358. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +4 -19
  359. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +52 -0
  360. data/sig/metronome_sdk/models/v1/customer.rbs +44 -0
  361. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +4 -12
  362. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +4 -19
  363. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +4 -48
  364. data/sig/metronome_sdk/models/v1/{customer_list_response.rbs → customer_detail.rbs} +17 -17
  365. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +12 -73
  366. data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +105 -0
  367. data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +16 -0
  368. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +4 -112
  369. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +4 -48
  370. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +4 -243
  371. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +4 -247
  372. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +7 -0
  373. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +4 -21
  374. data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +7 -0
  375. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +4 -1057
  376. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +4 -21
  377. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +4 -21
  378. data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +7 -0
  379. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +4 -596
  380. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +4 -21
  381. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +234 -0
  382. data/sig/metronome_sdk/models/v1/customers/{invoice_list_response.rbs → invoice.rbs} +147 -305
  383. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +8 -1278
  384. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +4 -1294
  385. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +4 -19
  386. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +4 -16
  387. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +2 -1
  388. data/sig/metronome_sdk/models/v1/plan_detail.rbs +203 -0
  389. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +4 -267
  390. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +4 -16
  391. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +4 -108
  392. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +37 -0
  393. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +37 -0
  394. data/sig/metronome_sdk/models/v1/usage_search_params.rbs +26 -0
  395. data/sig/metronome_sdk/models/v1/usage_search_response.rbs +230 -0
  396. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +4 -8
  397. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +4 -19
  398. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +4 -8
  399. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +4 -19
  400. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +989 -77
  401. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +4 -19
  402. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +510 -655
  403. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +970 -809
  404. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +970 -809
  405. data/sig/metronome_sdk/models.rbs +32 -0
  406. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +2 -2
  407. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +4 -4
  408. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  409. data/sig/metronome_sdk/resources/v1/contracts.rbs +4 -1
  410. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -0
  411. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +1 -0
  412. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +1 -0
  413. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -1
  414. data/sig/metronome_sdk/resources/v1/customers.rbs +9 -1
  415. data/sig/metronome_sdk/resources/v1/usage.rbs +5 -0
  416. data/sig/metronome_sdk/resources/v2/contracts.rbs +3 -2
  417. metadata +97 -10
@@ -0,0 +1,1828 @@
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
+ hierarchy_configuration: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration,
621
+ invoice_amount: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::InvoiceAmount,
622
+ name: String,
623
+ netsuite_sales_order_id: String,
624
+ proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::proration,
625
+ recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::recurrence_frequency,
626
+ rollover_fraction: Float,
627
+ specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier]
628
+ }
629
+
630
+ class RecurringCommit < MetronomeSDK::Internal::Type::BaseModel
631
+ attr_accessor id: String
632
+
633
+ attr_accessor access_amount: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::AccessAmount
634
+
635
+ attr_accessor commit_duration: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::CommitDuration
636
+
637
+ attr_accessor priority: Float
638
+
639
+ attr_accessor product: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Product
640
+
641
+ attr_accessor rate_type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::rate_type
642
+
643
+ attr_accessor starting_at: Time
644
+
645
+ attr_reader applicable_product_ids: ::Array[String]?
646
+
647
+ def applicable_product_ids=: (::Array[String]) -> ::Array[String]
648
+
649
+ attr_reader applicable_product_tags: ::Array[String]?
650
+
651
+ def applicable_product_tags=: (::Array[String]) -> ::Array[String]
652
+
653
+ attr_reader contract: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Contract?
654
+
655
+ def contract=: (
656
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Contract
657
+ ) -> MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Contract
658
+
659
+ attr_reader description: String?
660
+
661
+ def description=: (String) -> String
662
+
663
+ attr_reader ending_before: Time?
664
+
665
+ def ending_before=: (Time) -> Time
666
+
667
+ attr_reader hierarchy_configuration: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration?
668
+
669
+ def hierarchy_configuration=: (
670
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration
671
+ ) -> MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration
672
+
673
+ attr_reader invoice_amount: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::InvoiceAmount?
674
+
675
+ def invoice_amount=: (
676
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::InvoiceAmount
677
+ ) -> MetronomeSDK::ContractWithoutAmendments::RecurringCommit::InvoiceAmount
678
+
679
+ attr_reader name: String?
680
+
681
+ def name=: (String) -> String
682
+
683
+ attr_reader netsuite_sales_order_id: String?
684
+
685
+ def netsuite_sales_order_id=: (String) -> String
686
+
687
+ attr_reader proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::proration?
688
+
689
+ def proration=: (
690
+ MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::proration
691
+ ) -> MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::proration
692
+
693
+ attr_reader recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::recurrence_frequency?
694
+
695
+ def recurrence_frequency=: (
696
+ MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::recurrence_frequency
697
+ ) -> MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::recurrence_frequency
698
+
699
+ attr_reader rollover_fraction: Float?
700
+
701
+ def rollover_fraction=: (Float) -> Float
702
+
703
+ attr_reader specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier]?
704
+
705
+ def specifiers=: (
706
+ ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier]
707
+ ) -> ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier]
708
+
709
+ def initialize: (
710
+ id: String,
711
+ access_amount: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::AccessAmount,
712
+ commit_duration: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::CommitDuration,
713
+ priority: Float,
714
+ product: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Product,
715
+ rate_type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::rate_type,
716
+ starting_at: Time,
717
+ ?applicable_product_ids: ::Array[String],
718
+ ?applicable_product_tags: ::Array[String],
719
+ ?contract: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Contract,
720
+ ?description: String,
721
+ ?ending_before: Time,
722
+ ?hierarchy_configuration: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration,
723
+ ?invoice_amount: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::InvoiceAmount,
724
+ ?name: String,
725
+ ?netsuite_sales_order_id: String,
726
+ ?proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::proration,
727
+ ?recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::recurrence_frequency,
728
+ ?rollover_fraction: Float,
729
+ ?specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier]
730
+ ) -> void
731
+
732
+ def to_hash: -> {
733
+ id: String,
734
+ access_amount: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::AccessAmount,
735
+ commit_duration: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::CommitDuration,
736
+ priority: Float,
737
+ product: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Product,
738
+ rate_type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::rate_type,
739
+ starting_at: Time,
740
+ applicable_product_ids: ::Array[String],
741
+ applicable_product_tags: ::Array[String],
742
+ contract: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Contract,
743
+ description: String,
744
+ ending_before: Time,
745
+ hierarchy_configuration: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration,
746
+ invoice_amount: MetronomeSDK::ContractWithoutAmendments::RecurringCommit::InvoiceAmount,
747
+ name: String,
748
+ netsuite_sales_order_id: String,
749
+ proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::proration,
750
+ recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::recurrence_frequency,
751
+ rollover_fraction: Float,
752
+ specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCommit::Specifier]
753
+ }
754
+
755
+ type access_amount =
756
+ { credit_type_id: String, unit_price: Float, quantity: Float }
757
+
758
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
759
+ attr_accessor credit_type_id: String
760
+
761
+ attr_accessor unit_price: Float
762
+
763
+ attr_reader quantity: Float?
764
+
765
+ def quantity=: (Float) -> Float
766
+
767
+ def initialize: (
768
+ credit_type_id: String,
769
+ unit_price: Float,
770
+ ?quantity: Float
771
+ ) -> void
772
+
773
+ def to_hash: -> {
774
+ credit_type_id: String,
775
+ unit_price: Float,
776
+ quantity: Float
777
+ }
778
+ end
779
+
780
+ type commit_duration =
781
+ {
782
+ value: Float,
783
+ unit: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration::unit
784
+ }
785
+
786
+ class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
787
+ attr_accessor value: Float
788
+
789
+ attr_reader unit: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration::unit?
790
+
791
+ def unit=: (
792
+ MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration::unit
793
+ ) -> MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration::unit
794
+
795
+ def initialize: (
796
+ value: Float,
797
+ ?unit: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration::unit
798
+ ) -> void
799
+
800
+ def to_hash: -> {
801
+ value: Float,
802
+ unit: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration::unit
803
+ }
804
+
805
+ type unit = :PERIODS
806
+
807
+ module Unit
808
+ extend MetronomeSDK::Internal::Type::Enum
809
+
810
+ PERIODS: :PERIODS
811
+
812
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::CommitDuration::unit]
813
+ end
814
+ end
815
+
816
+ type product = { id: String, name: String }
817
+
818
+ class Product < MetronomeSDK::Internal::Type::BaseModel
819
+ attr_accessor id: String
820
+
821
+ attr_accessor name: String
822
+
823
+ def initialize: (id: String, name: String) -> void
824
+
825
+ def to_hash: -> { id: String, name: String }
826
+ end
827
+
828
+ type rate_type = :COMMIT_RATE | :LIST_RATE
829
+
830
+ module RateType
831
+ extend MetronomeSDK::Internal::Type::Enum
832
+
833
+ COMMIT_RATE: :COMMIT_RATE
834
+ LIST_RATE: :LIST_RATE
835
+
836
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::rate_type]
837
+ end
838
+
839
+ type contract = { id: String }
840
+
841
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
842
+ attr_accessor id: String
843
+
844
+ def initialize: (id: String) -> void
845
+
846
+ def to_hash: -> { id: String }
847
+ end
848
+
849
+ type hierarchy_configuration =
850
+ {
851
+ child_access: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::child_access
852
+ }
853
+
854
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
855
+ attr_accessor child_access: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::child_access
856
+
857
+ def initialize: (
858
+ child_access: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::child_access
859
+ ) -> void
860
+
861
+ def to_hash: -> {
862
+ child_access: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::child_access
863
+ }
864
+
865
+ type child_access =
866
+ MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
867
+ | MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
868
+ | MetronomeSDK::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
869
+
870
+ module ChildAccess
871
+ extend MetronomeSDK::Internal::Type::Union
872
+
873
+ type commit_hierarchy_child_access_all =
874
+ {
875
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
876
+ }
877
+
878
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
879
+ attr_accessor type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
880
+
881
+ def initialize: (
882
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
883
+ ) -> void
884
+
885
+ def to_hash: -> {
886
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
887
+ }
888
+
889
+ type type_ = :ALL
890
+
891
+ module Type
892
+ extend MetronomeSDK::Internal::Type::Enum
893
+
894
+ ALL: :ALL
895
+
896
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_]
897
+ end
898
+ end
899
+
900
+ type commit_hierarchy_child_access_none =
901
+ {
902
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
903
+ }
904
+
905
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
906
+ attr_accessor type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
907
+
908
+ def initialize: (
909
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
910
+ ) -> void
911
+
912
+ def to_hash: -> {
913
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
914
+ }
915
+
916
+ type type_ = :NONE
917
+
918
+ module Type
919
+ extend MetronomeSDK::Internal::Type::Enum
920
+
921
+ NONE: :NONE
922
+
923
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_]
924
+ end
925
+ end
926
+
927
+ type commit_hierarchy_child_access_contract_ids =
928
+ {
929
+ contract_ids: ::Array[String],
930
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
931
+ }
932
+
933
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
934
+ attr_accessor contract_ids: ::Array[String]
935
+
936
+ attr_accessor type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
937
+
938
+ def initialize: (
939
+ contract_ids: ::Array[String],
940
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
941
+ ) -> void
942
+
943
+ def to_hash: -> {
944
+ contract_ids: ::Array[String],
945
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
946
+ }
947
+
948
+ type type_ = :CONTRACT_IDS
949
+
950
+ module Type
951
+ extend MetronomeSDK::Internal::Type::Enum
952
+
953
+ CONTRACT_IDS: :CONTRACT_IDS
954
+
955
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_]
956
+ end
957
+ end
958
+
959
+ def self?.variants: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::HierarchyConfiguration::child_access]
960
+ end
961
+ end
962
+
963
+ type invoice_amount =
964
+ { credit_type_id: String, quantity: Float, unit_price: Float }
965
+
966
+ class InvoiceAmount < MetronomeSDK::Internal::Type::BaseModel
967
+ attr_accessor credit_type_id: String
968
+
969
+ attr_accessor quantity: Float
970
+
971
+ attr_accessor unit_price: Float
972
+
973
+ def initialize: (
974
+ credit_type_id: String,
975
+ quantity: Float,
976
+ unit_price: Float
977
+ ) -> void
978
+
979
+ def to_hash: -> {
980
+ credit_type_id: String,
981
+ quantity: Float,
982
+ unit_price: Float
983
+ }
984
+ end
985
+
986
+ type proration = :NONE | :FIRST | :LAST | :FIRST_AND_LAST
987
+
988
+ module Proration
989
+ extend MetronomeSDK::Internal::Type::Enum
990
+
991
+ NONE: :NONE
992
+ FIRST: :FIRST
993
+ LAST: :LAST
994
+ FIRST_AND_LAST: :FIRST_AND_LAST
995
+
996
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::proration]
997
+ end
998
+
999
+ type recurrence_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
1000
+
1001
+ module RecurrenceFrequency
1002
+ extend MetronomeSDK::Internal::Type::Enum
1003
+
1004
+ MONTHLY: :MONTHLY
1005
+ QUARTERLY: :QUARTERLY
1006
+ ANNUAL: :ANNUAL
1007
+ WEEKLY: :WEEKLY
1008
+
1009
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCommit::recurrence_frequency]
1010
+ end
1011
+
1012
+ type specifier =
1013
+ {
1014
+ presentation_group_values: ::Hash[Symbol, String],
1015
+ pricing_group_values: ::Hash[Symbol, String],
1016
+ product_id: String,
1017
+ product_tags: ::Array[String]
1018
+ }
1019
+
1020
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
1021
+ attr_reader presentation_group_values: ::Hash[Symbol, String]?
1022
+
1023
+ def presentation_group_values=: (
1024
+ ::Hash[Symbol, String]
1025
+ ) -> ::Hash[Symbol, String]
1026
+
1027
+ attr_reader pricing_group_values: ::Hash[Symbol, String]?
1028
+
1029
+ def pricing_group_values=: (
1030
+ ::Hash[Symbol, String]
1031
+ ) -> ::Hash[Symbol, String]
1032
+
1033
+ attr_reader product_id: String?
1034
+
1035
+ def product_id=: (String) -> String
1036
+
1037
+ attr_reader product_tags: ::Array[String]?
1038
+
1039
+ def product_tags=: (::Array[String]) -> ::Array[String]
1040
+
1041
+ def initialize: (
1042
+ ?presentation_group_values: ::Hash[Symbol, String],
1043
+ ?pricing_group_values: ::Hash[Symbol, String],
1044
+ ?product_id: String,
1045
+ ?product_tags: ::Array[String]
1046
+ ) -> void
1047
+
1048
+ def to_hash: -> {
1049
+ presentation_group_values: ::Hash[Symbol, String],
1050
+ pricing_group_values: ::Hash[Symbol, String],
1051
+ product_id: String,
1052
+ product_tags: ::Array[String]
1053
+ }
1054
+ end
1055
+ end
1056
+
1057
+ type recurring_credit =
1058
+ {
1059
+ id: String,
1060
+ access_amount: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::AccessAmount,
1061
+ commit_duration: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::CommitDuration,
1062
+ priority: Float,
1063
+ product: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Product,
1064
+ rate_type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::rate_type,
1065
+ starting_at: Time,
1066
+ applicable_product_ids: ::Array[String],
1067
+ applicable_product_tags: ::Array[String],
1068
+ contract: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Contract,
1069
+ description: String,
1070
+ ending_before: Time,
1071
+ hierarchy_configuration: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration,
1072
+ name: String,
1073
+ netsuite_sales_order_id: String,
1074
+ proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::proration,
1075
+ recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::recurrence_frequency,
1076
+ rollover_fraction: Float,
1077
+ specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier]
1078
+ }
1079
+
1080
+ class RecurringCredit < MetronomeSDK::Internal::Type::BaseModel
1081
+ attr_accessor id: String
1082
+
1083
+ attr_accessor access_amount: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::AccessAmount
1084
+
1085
+ attr_accessor commit_duration: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::CommitDuration
1086
+
1087
+ attr_accessor priority: Float
1088
+
1089
+ attr_accessor product: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Product
1090
+
1091
+ attr_accessor rate_type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::rate_type
1092
+
1093
+ attr_accessor starting_at: Time
1094
+
1095
+ attr_reader applicable_product_ids: ::Array[String]?
1096
+
1097
+ def applicable_product_ids=: (::Array[String]) -> ::Array[String]
1098
+
1099
+ attr_reader applicable_product_tags: ::Array[String]?
1100
+
1101
+ def applicable_product_tags=: (::Array[String]) -> ::Array[String]
1102
+
1103
+ attr_reader contract: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Contract?
1104
+
1105
+ def contract=: (
1106
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Contract
1107
+ ) -> MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Contract
1108
+
1109
+ attr_reader description: String?
1110
+
1111
+ def description=: (String) -> String
1112
+
1113
+ attr_reader ending_before: Time?
1114
+
1115
+ def ending_before=: (Time) -> Time
1116
+
1117
+ attr_reader hierarchy_configuration: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration?
1118
+
1119
+ def hierarchy_configuration=: (
1120
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration
1121
+ ) -> MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration
1122
+
1123
+ attr_reader name: String?
1124
+
1125
+ def name=: (String) -> String
1126
+
1127
+ attr_reader netsuite_sales_order_id: String?
1128
+
1129
+ def netsuite_sales_order_id=: (String) -> String
1130
+
1131
+ attr_reader proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::proration?
1132
+
1133
+ def proration=: (
1134
+ MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::proration
1135
+ ) -> MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::proration
1136
+
1137
+ attr_reader recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::recurrence_frequency?
1138
+
1139
+ def recurrence_frequency=: (
1140
+ MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::recurrence_frequency
1141
+ ) -> MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::recurrence_frequency
1142
+
1143
+ attr_reader rollover_fraction: Float?
1144
+
1145
+ def rollover_fraction=: (Float) -> Float
1146
+
1147
+ attr_reader specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier]?
1148
+
1149
+ def specifiers=: (
1150
+ ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier]
1151
+ ) -> ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier]
1152
+
1153
+ def initialize: (
1154
+ id: String,
1155
+ access_amount: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::AccessAmount,
1156
+ commit_duration: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::CommitDuration,
1157
+ priority: Float,
1158
+ product: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Product,
1159
+ rate_type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::rate_type,
1160
+ starting_at: Time,
1161
+ ?applicable_product_ids: ::Array[String],
1162
+ ?applicable_product_tags: ::Array[String],
1163
+ ?contract: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Contract,
1164
+ ?description: String,
1165
+ ?ending_before: Time,
1166
+ ?hierarchy_configuration: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration,
1167
+ ?name: String,
1168
+ ?netsuite_sales_order_id: String,
1169
+ ?proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::proration,
1170
+ ?recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::recurrence_frequency,
1171
+ ?rollover_fraction: Float,
1172
+ ?specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier]
1173
+ ) -> void
1174
+
1175
+ def to_hash: -> {
1176
+ id: String,
1177
+ access_amount: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::AccessAmount,
1178
+ commit_duration: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::CommitDuration,
1179
+ priority: Float,
1180
+ product: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Product,
1181
+ rate_type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::rate_type,
1182
+ starting_at: Time,
1183
+ applicable_product_ids: ::Array[String],
1184
+ applicable_product_tags: ::Array[String],
1185
+ contract: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Contract,
1186
+ description: String,
1187
+ ending_before: Time,
1188
+ hierarchy_configuration: MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration,
1189
+ name: String,
1190
+ netsuite_sales_order_id: String,
1191
+ proration: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::proration,
1192
+ recurrence_frequency: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::recurrence_frequency,
1193
+ rollover_fraction: Float,
1194
+ specifiers: ::Array[MetronomeSDK::ContractWithoutAmendments::RecurringCredit::Specifier]
1195
+ }
1196
+
1197
+ type access_amount =
1198
+ { credit_type_id: String, unit_price: Float, quantity: Float }
1199
+
1200
+ class AccessAmount < MetronomeSDK::Internal::Type::BaseModel
1201
+ attr_accessor credit_type_id: String
1202
+
1203
+ attr_accessor unit_price: Float
1204
+
1205
+ attr_reader quantity: Float?
1206
+
1207
+ def quantity=: (Float) -> Float
1208
+
1209
+ def initialize: (
1210
+ credit_type_id: String,
1211
+ unit_price: Float,
1212
+ ?quantity: Float
1213
+ ) -> void
1214
+
1215
+ def to_hash: -> {
1216
+ credit_type_id: String,
1217
+ unit_price: Float,
1218
+ quantity: Float
1219
+ }
1220
+ end
1221
+
1222
+ type commit_duration =
1223
+ {
1224
+ value: Float,
1225
+ unit: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration::unit
1226
+ }
1227
+
1228
+ class CommitDuration < MetronomeSDK::Internal::Type::BaseModel
1229
+ attr_accessor value: Float
1230
+
1231
+ attr_reader unit: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration::unit?
1232
+
1233
+ def unit=: (
1234
+ MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration::unit
1235
+ ) -> MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration::unit
1236
+
1237
+ def initialize: (
1238
+ value: Float,
1239
+ ?unit: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration::unit
1240
+ ) -> void
1241
+
1242
+ def to_hash: -> {
1243
+ value: Float,
1244
+ unit: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration::unit
1245
+ }
1246
+
1247
+ type unit = :PERIODS
1248
+
1249
+ module Unit
1250
+ extend MetronomeSDK::Internal::Type::Enum
1251
+
1252
+ PERIODS: :PERIODS
1253
+
1254
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::CommitDuration::unit]
1255
+ end
1256
+ end
1257
+
1258
+ type product = { id: String, name: String }
1259
+
1260
+ class Product < MetronomeSDK::Internal::Type::BaseModel
1261
+ attr_accessor id: String
1262
+
1263
+ attr_accessor name: String
1264
+
1265
+ def initialize: (id: String, name: String) -> void
1266
+
1267
+ def to_hash: -> { id: String, name: String }
1268
+ end
1269
+
1270
+ type rate_type = :COMMIT_RATE | :LIST_RATE
1271
+
1272
+ module RateType
1273
+ extend MetronomeSDK::Internal::Type::Enum
1274
+
1275
+ COMMIT_RATE: :COMMIT_RATE
1276
+ LIST_RATE: :LIST_RATE
1277
+
1278
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::rate_type]
1279
+ end
1280
+
1281
+ type contract = { id: String }
1282
+
1283
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
1284
+ attr_accessor id: String
1285
+
1286
+ def initialize: (id: String) -> void
1287
+
1288
+ def to_hash: -> { id: String }
1289
+ end
1290
+
1291
+ type hierarchy_configuration =
1292
+ {
1293
+ child_access: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::child_access
1294
+ }
1295
+
1296
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
1297
+ attr_accessor child_access: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::child_access
1298
+
1299
+ def initialize: (
1300
+ child_access: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::child_access
1301
+ ) -> void
1302
+
1303
+ def to_hash: -> {
1304
+ child_access: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::child_access
1305
+ }
1306
+
1307
+ type child_access =
1308
+ MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
1309
+ | MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
1310
+ | MetronomeSDK::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
1311
+
1312
+ module ChildAccess
1313
+ extend MetronomeSDK::Internal::Type::Union
1314
+
1315
+ type commit_hierarchy_child_access_all =
1316
+ {
1317
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
1318
+ }
1319
+
1320
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
1321
+ attr_accessor type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
1322
+
1323
+ def initialize: (
1324
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
1325
+ ) -> void
1326
+
1327
+ def to_hash: -> {
1328
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_
1329
+ }
1330
+
1331
+ type type_ = :ALL
1332
+
1333
+ module Type
1334
+ extend MetronomeSDK::Internal::Type::Enum
1335
+
1336
+ ALL: :ALL
1337
+
1338
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::type_]
1339
+ end
1340
+ end
1341
+
1342
+ type commit_hierarchy_child_access_none =
1343
+ {
1344
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
1345
+ }
1346
+
1347
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
1348
+ attr_accessor type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
1349
+
1350
+ def initialize: (
1351
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
1352
+ ) -> void
1353
+
1354
+ def to_hash: -> {
1355
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_
1356
+ }
1357
+
1358
+ type type_ = :NONE
1359
+
1360
+ module Type
1361
+ extend MetronomeSDK::Internal::Type::Enum
1362
+
1363
+ NONE: :NONE
1364
+
1365
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::type_]
1366
+ end
1367
+ end
1368
+
1369
+ type commit_hierarchy_child_access_contract_ids =
1370
+ {
1371
+ contract_ids: ::Array[String],
1372
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
1373
+ }
1374
+
1375
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
1376
+ attr_accessor contract_ids: ::Array[String]
1377
+
1378
+ attr_accessor type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
1379
+
1380
+ def initialize: (
1381
+ contract_ids: ::Array[String],
1382
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
1383
+ ) -> void
1384
+
1385
+ def to_hash: -> {
1386
+ contract_ids: ::Array[String],
1387
+ type: MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_
1388
+ }
1389
+
1390
+ type type_ = :CONTRACT_IDS
1391
+
1392
+ module Type
1393
+ extend MetronomeSDK::Internal::Type::Enum
1394
+
1395
+ CONTRACT_IDS: :CONTRACT_IDS
1396
+
1397
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::type_]
1398
+ end
1399
+ end
1400
+
1401
+ def self?.variants: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::HierarchyConfiguration::child_access]
1402
+ end
1403
+ end
1404
+
1405
+ type proration = :NONE | :FIRST | :LAST | :FIRST_AND_LAST
1406
+
1407
+ module Proration
1408
+ extend MetronomeSDK::Internal::Type::Enum
1409
+
1410
+ NONE: :NONE
1411
+ FIRST: :FIRST
1412
+ LAST: :LAST
1413
+ FIRST_AND_LAST: :FIRST_AND_LAST
1414
+
1415
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::proration]
1416
+ end
1417
+
1418
+ type recurrence_frequency = :MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
1419
+
1420
+ module RecurrenceFrequency
1421
+ extend MetronomeSDK::Internal::Type::Enum
1422
+
1423
+ MONTHLY: :MONTHLY
1424
+ QUARTERLY: :QUARTERLY
1425
+ ANNUAL: :ANNUAL
1426
+ WEEKLY: :WEEKLY
1427
+
1428
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::RecurringCredit::recurrence_frequency]
1429
+ end
1430
+
1431
+ type specifier =
1432
+ {
1433
+ presentation_group_values: ::Hash[Symbol, String],
1434
+ pricing_group_values: ::Hash[Symbol, String],
1435
+ product_id: String,
1436
+ product_tags: ::Array[String]
1437
+ }
1438
+
1439
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
1440
+ attr_reader presentation_group_values: ::Hash[Symbol, String]?
1441
+
1442
+ def presentation_group_values=: (
1443
+ ::Hash[Symbol, String]
1444
+ ) -> ::Hash[Symbol, String]
1445
+
1446
+ attr_reader pricing_group_values: ::Hash[Symbol, String]?
1447
+
1448
+ def pricing_group_values=: (
1449
+ ::Hash[Symbol, String]
1450
+ ) -> ::Hash[Symbol, String]
1451
+
1452
+ attr_reader product_id: String?
1453
+
1454
+ def product_id=: (String) -> String
1455
+
1456
+ attr_reader product_tags: ::Array[String]?
1457
+
1458
+ def product_tags=: (::Array[String]) -> ::Array[String]
1459
+
1460
+ def initialize: (
1461
+ ?presentation_group_values: ::Hash[Symbol, String],
1462
+ ?pricing_group_values: ::Hash[Symbol, String],
1463
+ ?product_id: String,
1464
+ ?product_tags: ::Array[String]
1465
+ ) -> void
1466
+
1467
+ def to_hash: -> {
1468
+ presentation_group_values: ::Hash[Symbol, String],
1469
+ pricing_group_values: ::Hash[Symbol, String],
1470
+ product_id: String,
1471
+ product_tags: ::Array[String]
1472
+ }
1473
+ end
1474
+ end
1475
+
1476
+ type reseller_royalty =
1477
+ {
1478
+ fraction: Float,
1479
+ netsuite_reseller_id: String,
1480
+ reseller_type: MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty::reseller_type,
1481
+ starting_at: Time,
1482
+ applicable_product_ids: ::Array[String],
1483
+ applicable_product_tags: ::Array[String],
1484
+ aws_account_number: String,
1485
+ aws_offer_id: String,
1486
+ aws_payer_reference_id: String,
1487
+ ending_before: Time,
1488
+ gcp_account_id: String,
1489
+ gcp_offer_id: String,
1490
+ reseller_contract_value: Float
1491
+ }
1492
+
1493
+ class ResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
1494
+ attr_accessor fraction: Float
1495
+
1496
+ attr_accessor netsuite_reseller_id: String
1497
+
1498
+ attr_accessor reseller_type: MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty::reseller_type
1499
+
1500
+ attr_accessor starting_at: Time
1501
+
1502
+ attr_reader applicable_product_ids: ::Array[String]?
1503
+
1504
+ def applicable_product_ids=: (::Array[String]) -> ::Array[String]
1505
+
1506
+ attr_reader applicable_product_tags: ::Array[String]?
1507
+
1508
+ def applicable_product_tags=: (::Array[String]) -> ::Array[String]
1509
+
1510
+ attr_reader aws_account_number: String?
1511
+
1512
+ def aws_account_number=: (String) -> String
1513
+
1514
+ attr_reader aws_offer_id: String?
1515
+
1516
+ def aws_offer_id=: (String) -> String
1517
+
1518
+ attr_reader aws_payer_reference_id: String?
1519
+
1520
+ def aws_payer_reference_id=: (String) -> String
1521
+
1522
+ attr_reader ending_before: Time?
1523
+
1524
+ def ending_before=: (Time) -> Time
1525
+
1526
+ attr_reader gcp_account_id: String?
1527
+
1528
+ def gcp_account_id=: (String) -> String
1529
+
1530
+ attr_reader gcp_offer_id: String?
1531
+
1532
+ def gcp_offer_id=: (String) -> String
1533
+
1534
+ attr_reader reseller_contract_value: Float?
1535
+
1536
+ def reseller_contract_value=: (Float) -> Float
1537
+
1538
+ def initialize: (
1539
+ fraction: Float,
1540
+ netsuite_reseller_id: String,
1541
+ reseller_type: MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty::reseller_type,
1542
+ starting_at: Time,
1543
+ ?applicable_product_ids: ::Array[String],
1544
+ ?applicable_product_tags: ::Array[String],
1545
+ ?aws_account_number: String,
1546
+ ?aws_offer_id: String,
1547
+ ?aws_payer_reference_id: String,
1548
+ ?ending_before: Time,
1549
+ ?gcp_account_id: String,
1550
+ ?gcp_offer_id: String,
1551
+ ?reseller_contract_value: Float
1552
+ ) -> void
1553
+
1554
+ def to_hash: -> {
1555
+ fraction: Float,
1556
+ netsuite_reseller_id: String,
1557
+ reseller_type: MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty::reseller_type,
1558
+ starting_at: Time,
1559
+ applicable_product_ids: ::Array[String],
1560
+ applicable_product_tags: ::Array[String],
1561
+ aws_account_number: String,
1562
+ aws_offer_id: String,
1563
+ aws_payer_reference_id: String,
1564
+ ending_before: Time,
1565
+ gcp_account_id: String,
1566
+ gcp_offer_id: String,
1567
+ reseller_contract_value: Float
1568
+ }
1569
+
1570
+ type reseller_type = :AWS | :AWS_PRO_SERVICE | :GCP | :GCP_PRO_SERVICE
1571
+
1572
+ module ResellerType
1573
+ extend MetronomeSDK::Internal::Type::Enum
1574
+
1575
+ AWS: :AWS
1576
+ AWS_PRO_SERVICE: :AWS_PRO_SERVICE
1577
+ GCP: :GCP
1578
+ GCP_PRO_SERVICE: :GCP_PRO_SERVICE
1579
+
1580
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::ResellerRoyalty::reseller_type]
1581
+ end
1582
+ end
1583
+
1584
+ type scheduled_charges_on_usage_invoices = :ALL
1585
+
1586
+ module ScheduledChargesOnUsageInvoices
1587
+ extend MetronomeSDK::Internal::Type::Enum
1588
+
1589
+ ALL: :ALL
1590
+
1591
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::scheduled_charges_on_usage_invoices]
1592
+ end
1593
+
1594
+ type spend_threshold_configuration =
1595
+ {
1596
+ commit: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::Commit,
1597
+ is_enabled: bool,
1598
+ payment_gate_config: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig,
1599
+ threshold_amount: Float
1600
+ }
1601
+
1602
+ class SpendThresholdConfiguration < MetronomeSDK::Internal::Type::BaseModel
1603
+ attr_accessor commit: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::Commit
1604
+
1605
+ attr_accessor is_enabled: bool
1606
+
1607
+ attr_accessor payment_gate_config: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig
1608
+
1609
+ attr_accessor threshold_amount: Float
1610
+
1611
+ def initialize: (
1612
+ commit: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::Commit,
1613
+ is_enabled: bool,
1614
+ payment_gate_config: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig,
1615
+ threshold_amount: Float
1616
+ ) -> void
1617
+
1618
+ def to_hash: -> {
1619
+ commit: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::Commit,
1620
+ is_enabled: bool,
1621
+ payment_gate_config: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig,
1622
+ threshold_amount: Float
1623
+ }
1624
+
1625
+ type commit = { product_id: String, description: String, name: String }
1626
+
1627
+ class Commit < MetronomeSDK::Internal::Type::BaseModel
1628
+ attr_accessor product_id: String
1629
+
1630
+ attr_reader description: String?
1631
+
1632
+ def description=: (String) -> String
1633
+
1634
+ attr_reader name: String?
1635
+
1636
+ def name=: (String) -> String
1637
+
1638
+ def initialize: (
1639
+ product_id: String,
1640
+ ?description: String,
1641
+ ?name: String
1642
+ ) -> void
1643
+
1644
+ def to_hash: -> {
1645
+ product_id: String,
1646
+ description: String,
1647
+ name: String
1648
+ }
1649
+ end
1650
+
1651
+ type payment_gate_config =
1652
+ {
1653
+ payment_gate_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::payment_gate_type,
1654
+ precalculated_tax_config: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
1655
+ stripe_config: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
1656
+ tax_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::tax_type
1657
+ }
1658
+
1659
+ class PaymentGateConfig < MetronomeSDK::Internal::Type::BaseModel
1660
+ attr_accessor payment_gate_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::payment_gate_type
1661
+
1662
+ attr_reader precalculated_tax_config: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig?
1663
+
1664
+ def precalculated_tax_config=: (
1665
+ MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
1666
+ ) -> MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig
1667
+
1668
+ attr_reader stripe_config: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig?
1669
+
1670
+ def stripe_config=: (
1671
+ MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig
1672
+ ) -> MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig
1673
+
1674
+ attr_reader tax_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::tax_type?
1675
+
1676
+ def tax_type=: (
1677
+ MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::tax_type
1678
+ ) -> MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::tax_type
1679
+
1680
+ def initialize: (
1681
+ payment_gate_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::payment_gate_type,
1682
+ ?precalculated_tax_config: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
1683
+ ?stripe_config: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
1684
+ ?tax_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::tax_type
1685
+ ) -> void
1686
+
1687
+ def to_hash: -> {
1688
+ payment_gate_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::payment_gate_type,
1689
+ precalculated_tax_config: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::PrecalculatedTaxConfig,
1690
+ stripe_config: MetronomeSDK::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig,
1691
+ tax_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::tax_type
1692
+ }
1693
+
1694
+ type payment_gate_type = :NONE | :STRIPE | :EXTERNAL
1695
+
1696
+ module PaymentGateType
1697
+ extend MetronomeSDK::Internal::Type::Enum
1698
+
1699
+ NONE: :NONE
1700
+ STRIPE: :STRIPE
1701
+ EXTERNAL: :EXTERNAL
1702
+
1703
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::payment_gate_type]
1704
+ end
1705
+
1706
+ type precalculated_tax_config =
1707
+ { tax_amount: Float, tax_name: String }
1708
+
1709
+ class PrecalculatedTaxConfig < MetronomeSDK::Internal::Type::BaseModel
1710
+ attr_accessor tax_amount: Float
1711
+
1712
+ attr_reader tax_name: String?
1713
+
1714
+ def tax_name=: (String) -> String
1715
+
1716
+ def initialize: (tax_amount: Float, ?tax_name: String) -> void
1717
+
1718
+ def to_hash: -> { tax_amount: Float, tax_name: String }
1719
+ end
1720
+
1721
+ type stripe_config =
1722
+ {
1723
+ payment_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
1724
+ invoice_metadata: ::Hash[Symbol, String]
1725
+ }
1726
+
1727
+ class StripeConfig < MetronomeSDK::Internal::Type::BaseModel
1728
+ attr_accessor payment_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type
1729
+
1730
+ attr_reader invoice_metadata: ::Hash[Symbol, String]?
1731
+
1732
+ def invoice_metadata=: (
1733
+ ::Hash[Symbol, String]
1734
+ ) -> ::Hash[Symbol, String]
1735
+
1736
+ def initialize: (
1737
+ payment_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
1738
+ ?invoice_metadata: ::Hash[Symbol, String]
1739
+ ) -> void
1740
+
1741
+ def to_hash: -> {
1742
+ payment_type: MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type,
1743
+ invoice_metadata: ::Hash[Symbol, String]
1744
+ }
1745
+
1746
+ type payment_type = :INVOICE | :PAYMENT_INTENT
1747
+
1748
+ module PaymentType
1749
+ extend MetronomeSDK::Internal::Type::Enum
1750
+
1751
+ INVOICE: :INVOICE
1752
+ PAYMENT_INTENT: :PAYMENT_INTENT
1753
+
1754
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::StripeConfig::payment_type]
1755
+ end
1756
+ end
1757
+
1758
+ type tax_type = :NONE | :STRIPE | :ANROK | :PRECALCULATED
1759
+
1760
+ module TaxType
1761
+ extend MetronomeSDK::Internal::Type::Enum
1762
+
1763
+ NONE: :NONE
1764
+ STRIPE: :STRIPE
1765
+ ANROK: :ANROK
1766
+ PRECALCULATED: :PRECALCULATED
1767
+
1768
+ def self?.values: -> ::Array[MetronomeSDK::Models::ContractWithoutAmendments::SpendThresholdConfiguration::PaymentGateConfig::tax_type]
1769
+ end
1770
+ end
1771
+ end
1772
+
1773
+ type usage_filter =
1774
+ {
1775
+ current: MetronomeSDK::BaseUsageFilter?,
1776
+ initial: MetronomeSDK::BaseUsageFilter,
1777
+ updates: ::Array[MetronomeSDK::ContractWithoutAmendments::UsageFilter::Update]
1778
+ }
1779
+
1780
+ class UsageFilter < MetronomeSDK::Internal::Type::BaseModel
1781
+ attr_accessor current: MetronomeSDK::BaseUsageFilter?
1782
+
1783
+ attr_accessor initial: MetronomeSDK::BaseUsageFilter
1784
+
1785
+ attr_accessor updates: ::Array[MetronomeSDK::ContractWithoutAmendments::UsageFilter::Update]
1786
+
1787
+ def initialize: (
1788
+ current: MetronomeSDK::BaseUsageFilter?,
1789
+ initial: MetronomeSDK::BaseUsageFilter,
1790
+ updates: ::Array[MetronomeSDK::ContractWithoutAmendments::UsageFilter::Update]
1791
+ ) -> void
1792
+
1793
+ def to_hash: -> {
1794
+ current: MetronomeSDK::BaseUsageFilter?,
1795
+ initial: MetronomeSDK::BaseUsageFilter,
1796
+ updates: ::Array[MetronomeSDK::ContractWithoutAmendments::UsageFilter::Update]
1797
+ }
1798
+
1799
+ type update =
1800
+ {
1801
+ group_key: String,
1802
+ group_values: ::Array[String],
1803
+ starting_at: Time
1804
+ }
1805
+
1806
+ class Update < MetronomeSDK::Internal::Type::BaseModel
1807
+ attr_accessor group_key: String
1808
+
1809
+ attr_accessor group_values: ::Array[String]
1810
+
1811
+ attr_accessor starting_at: Time
1812
+
1813
+ def initialize: (
1814
+ group_key: String,
1815
+ group_values: ::Array[String],
1816
+ starting_at: Time
1817
+ ) -> void
1818
+
1819
+ def to_hash: -> {
1820
+ group_key: String,
1821
+ group_values: ::Array[String],
1822
+ starting_at: Time
1823
+ }
1824
+ end
1825
+ end
1826
+ end
1827
+ end
1828
+ end