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,677 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class Credit < MetronomeSDK::Internal::Type::BaseModel
6
+ # @!attribute id
7
+ #
8
+ # @return [String]
9
+ required :id, String
10
+
11
+ # @!attribute product
12
+ #
13
+ # @return [MetronomeSDK::Models::Credit::Product]
14
+ required :product, -> { MetronomeSDK::Credit::Product }
15
+
16
+ # @!attribute type
17
+ #
18
+ # @return [Symbol, MetronomeSDK::Models::Credit::Type]
19
+ required :type, enum: -> { MetronomeSDK::Credit::Type }
20
+
21
+ # @!attribute access_schedule
22
+ # The schedule that the customer will gain access to the credits.
23
+ #
24
+ # @return [MetronomeSDK::Models::ScheduleDuration, nil]
25
+ optional :access_schedule, -> { MetronomeSDK::ScheduleDuration }
26
+
27
+ # @!attribute applicable_contract_ids
28
+ #
29
+ # @return [Array<String>, nil]
30
+ optional :applicable_contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
31
+
32
+ # @!attribute applicable_product_ids
33
+ #
34
+ # @return [Array<String>, nil]
35
+ optional :applicable_product_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
36
+
37
+ # @!attribute applicable_product_tags
38
+ #
39
+ # @return [Array<String>, nil]
40
+ optional :applicable_product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
41
+
42
+ # @!attribute balance
43
+ # The current balance of the credit or commit. This balance reflects the amount of
44
+ # credit or commit that the customer has access to use at this moment - thus,
45
+ # expired and upcoming credit or commit segments contribute 0 to the balance. The
46
+ # balance will match the sum of all ledger entries with the exception of the case
47
+ # where the sum of negative manual ledger entries exceeds the positive amount
48
+ # remaining on the credit or commit - in that case, the balance will be 0. All
49
+ # manual ledger entries associated with active credit or commit segments are
50
+ # included in the balance, including future-dated manual ledger entries.
51
+ #
52
+ # @return [Float, nil]
53
+ optional :balance, Float
54
+
55
+ # @!attribute contract
56
+ #
57
+ # @return [MetronomeSDK::Models::Credit::Contract, nil]
58
+ optional :contract, -> { MetronomeSDK::Credit::Contract }
59
+
60
+ # @!attribute custom_fields
61
+ #
62
+ # @return [Hash{Symbol=>String}, nil]
63
+ optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
64
+
65
+ # @!attribute description
66
+ #
67
+ # @return [String, nil]
68
+ optional :description, String
69
+
70
+ # @!attribute hierarchy_configuration
71
+ # Optional configuration for credit hierarchy access control
72
+ #
73
+ # @return [MetronomeSDK::Models::Credit::HierarchyConfiguration, nil]
74
+ optional :hierarchy_configuration, -> { MetronomeSDK::Credit::HierarchyConfiguration }
75
+
76
+ # @!attribute ledger
77
+ # A list of ordered events that impact the balance of a credit. For example, an
78
+ # invoice deduction or an expiration.
79
+ #
80
+ # @return [Array<MetronomeSDK::Models::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditManualLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry>, nil]
81
+ optional :ledger, -> { MetronomeSDK::Internal::Type::ArrayOf[union: MetronomeSDK::Credit::Ledger] }
82
+
83
+ # @!attribute name
84
+ #
85
+ # @return [String, nil]
86
+ optional :name, String
87
+
88
+ # @!attribute netsuite_sales_order_id
89
+ # This field's availability is dependent on your client's configuration.
90
+ #
91
+ # @return [String, nil]
92
+ optional :netsuite_sales_order_id, String
93
+
94
+ # @!attribute priority
95
+ # If multiple credits or commits are applicable, the one with the lower priority
96
+ # will apply first.
97
+ #
98
+ # @return [Float, nil]
99
+ optional :priority, Float
100
+
101
+ # @!attribute rate_type
102
+ #
103
+ # @return [Symbol, MetronomeSDK::Models::Credit::RateType, nil]
104
+ optional :rate_type, enum: -> { MetronomeSDK::Credit::RateType }
105
+
106
+ # @!attribute salesforce_opportunity_id
107
+ # This field's availability is dependent on your client's configuration.
108
+ #
109
+ # @return [String, nil]
110
+ optional :salesforce_opportunity_id, String
111
+
112
+ # @!attribute specifiers
113
+ # List of filters that determine what kind of customer usage draws down a commit
114
+ # or credit. A customer's usage needs to meet the condition of at least one of the
115
+ # specifiers to contribute to a commit's or credit's drawdown.
116
+ #
117
+ # @return [Array<MetronomeSDK::Models::Credit::Specifier>, nil]
118
+ optional :specifiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Credit::Specifier] }
119
+
120
+ # @!attribute uniqueness_key
121
+ # Prevents the creation of duplicates. If a request to create a commit or credit
122
+ # is made with a uniqueness key that was previously used to create a commit or
123
+ # credit, a new record will not be created and the request will fail with a 409
124
+ # error.
125
+ #
126
+ # @return [String, nil]
127
+ optional :uniqueness_key, String
128
+
129
+ # @!method initialize(id:, product:, type:, access_schedule: nil, applicable_contract_ids: nil, applicable_product_ids: nil, applicable_product_tags: nil, balance: nil, contract: nil, custom_fields: nil, description: nil, hierarchy_configuration: nil, ledger: nil, name: nil, netsuite_sales_order_id: nil, priority: nil, rate_type: nil, salesforce_opportunity_id: nil, specifiers: nil, uniqueness_key: nil)
130
+ # Some parameter documentations has been truncated, see
131
+ # {MetronomeSDK::Models::Credit} for more details.
132
+ #
133
+ # @param id [String]
134
+ #
135
+ # @param product [MetronomeSDK::Models::Credit::Product]
136
+ #
137
+ # @param type [Symbol, MetronomeSDK::Models::Credit::Type]
138
+ #
139
+ # @param access_schedule [MetronomeSDK::Models::ScheduleDuration] The schedule that the customer will gain access to the credits.
140
+ #
141
+ # @param applicable_contract_ids [Array<String>]
142
+ #
143
+ # @param applicable_product_ids [Array<String>]
144
+ #
145
+ # @param applicable_product_tags [Array<String>]
146
+ #
147
+ # @param balance [Float] The current balance of the credit or commit. This balance reflects the amount of
148
+ #
149
+ # @param contract [MetronomeSDK::Models::Credit::Contract]
150
+ #
151
+ # @param custom_fields [Hash{Symbol=>String}]
152
+ #
153
+ # @param description [String]
154
+ #
155
+ # @param hierarchy_configuration [MetronomeSDK::Models::Credit::HierarchyConfiguration] Optional configuration for credit hierarchy access control
156
+ #
157
+ # @param ledger [Array<MetronomeSDK::Models::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditManualLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry>] A list of ordered events that impact the balance of a credit. For example, an in
158
+ #
159
+ # @param name [String]
160
+ #
161
+ # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
162
+ #
163
+ # @param priority [Float] If multiple credits or commits are applicable, the one with the lower priority w
164
+ #
165
+ # @param rate_type [Symbol, MetronomeSDK::Models::Credit::RateType]
166
+ #
167
+ # @param salesforce_opportunity_id [String] This field's availability is dependent on your client's configuration.
168
+ #
169
+ # @param specifiers [Array<MetronomeSDK::Models::Credit::Specifier>] List of filters that determine what kind of customer usage draws down a commit o
170
+ #
171
+ # @param uniqueness_key [String] Prevents the creation of duplicates. If a request to create a commit or credit i
172
+
173
+ # @see MetronomeSDK::Models::Credit#product
174
+ class Product < MetronomeSDK::Internal::Type::BaseModel
175
+ # @!attribute id
176
+ #
177
+ # @return [String]
178
+ required :id, String
179
+
180
+ # @!attribute name
181
+ #
182
+ # @return [String]
183
+ required :name, String
184
+
185
+ # @!method initialize(id:, name:)
186
+ # @param id [String]
187
+ # @param name [String]
188
+ end
189
+
190
+ # @see MetronomeSDK::Models::Credit#type
191
+ module Type
192
+ extend MetronomeSDK::Internal::Type::Enum
193
+
194
+ CREDIT = :CREDIT
195
+
196
+ # @!method self.values
197
+ # @return [Array<Symbol>]
198
+ end
199
+
200
+ # @see MetronomeSDK::Models::Credit#contract
201
+ class Contract < MetronomeSDK::Internal::Type::BaseModel
202
+ # @!attribute id
203
+ #
204
+ # @return [String]
205
+ required :id, String
206
+
207
+ # @!method initialize(id:)
208
+ # @param id [String]
209
+ end
210
+
211
+ # @see MetronomeSDK::Models::Credit#hierarchy_configuration
212
+ class HierarchyConfiguration < MetronomeSDK::Internal::Type::BaseModel
213
+ # @!attribute child_access
214
+ #
215
+ # @return [MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
216
+ required :child_access, union: -> { MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess }
217
+
218
+ # @!method initialize(child_access:)
219
+ # Optional configuration for credit hierarchy access control
220
+ #
221
+ # @param child_access [MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs]
222
+
223
+ # @see MetronomeSDK::Models::Credit::HierarchyConfiguration#child_access
224
+ module ChildAccess
225
+ extend MetronomeSDK::Internal::Type::Union
226
+
227
+ variant -> {
228
+ MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll
229
+ }
230
+
231
+ variant -> {
232
+ MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone
233
+ }
234
+
235
+ variant -> {
236
+ MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs
237
+ }
238
+
239
+ class CommitHierarchyChildAccessAll < MetronomeSDK::Internal::Type::BaseModel
240
+ # @!attribute type
241
+ #
242
+ # @return [Symbol, MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
243
+ required :type,
244
+ enum: -> {
245
+ MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type
246
+ }
247
+
248
+ # @!method initialize(type:)
249
+ # @param type [Symbol, MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll::Type]
250
+
251
+ # @see MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll#type
252
+ module Type
253
+ extend MetronomeSDK::Internal::Type::Enum
254
+
255
+ ALL = :ALL
256
+
257
+ # @!method self.values
258
+ # @return [Array<Symbol>]
259
+ end
260
+ end
261
+
262
+ class CommitHierarchyChildAccessNone < MetronomeSDK::Internal::Type::BaseModel
263
+ # @!attribute type
264
+ #
265
+ # @return [Symbol, MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
266
+ required :type,
267
+ enum: -> {
268
+ MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type
269
+ }
270
+
271
+ # @!method initialize(type:)
272
+ # @param type [Symbol, MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone::Type]
273
+
274
+ # @see MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone#type
275
+ module Type
276
+ extend MetronomeSDK::Internal::Type::Enum
277
+
278
+ NONE = :NONE
279
+
280
+ # @!method self.values
281
+ # @return [Array<Symbol>]
282
+ end
283
+ end
284
+
285
+ class CommitHierarchyChildAccessContractIDs < MetronomeSDK::Internal::Type::BaseModel
286
+ # @!attribute contract_ids
287
+ #
288
+ # @return [Array<String>]
289
+ required :contract_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
290
+
291
+ # @!attribute type
292
+ #
293
+ # @return [Symbol, MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
294
+ required :type,
295
+ enum: -> {
296
+ MetronomeSDK::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type
297
+ }
298
+
299
+ # @!method initialize(contract_ids:, type:)
300
+ # @param contract_ids [Array<String>]
301
+ # @param type [Symbol, MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs::Type]
302
+
303
+ # @see MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs#type
304
+ module Type
305
+ extend MetronomeSDK::Internal::Type::Enum
306
+
307
+ CONTRACT_IDS = :CONTRACT_IDS
308
+
309
+ # @!method self.values
310
+ # @return [Array<Symbol>]
311
+ end
312
+ end
313
+
314
+ # @!method self.variants
315
+ # @return [Array(MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessAll, MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessNone, MetronomeSDK::Models::Credit::HierarchyConfiguration::ChildAccess::CommitHierarchyChildAccessContractIDs)]
316
+ end
317
+ end
318
+
319
+ module Ledger
320
+ extend MetronomeSDK::Internal::Type::Union
321
+
322
+ variant -> { MetronomeSDK::Credit::Ledger::CreditSegmentStartLedgerEntry }
323
+
324
+ variant -> { MetronomeSDK::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry }
325
+
326
+ variant -> { MetronomeSDK::Credit::Ledger::CreditExpirationLedgerEntry }
327
+
328
+ variant -> { MetronomeSDK::Credit::Ledger::CreditCanceledLedgerEntry }
329
+
330
+ variant -> { MetronomeSDK::Credit::Ledger::CreditCreditedLedgerEntry }
331
+
332
+ variant -> { MetronomeSDK::Credit::Ledger::CreditManualLedgerEntry }
333
+
334
+ variant -> { MetronomeSDK::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry }
335
+
336
+ class CreditSegmentStartLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
337
+ # @!attribute amount
338
+ #
339
+ # @return [Float]
340
+ required :amount, Float
341
+
342
+ # @!attribute segment_id
343
+ #
344
+ # @return [String]
345
+ required :segment_id, String
346
+
347
+ # @!attribute timestamp
348
+ #
349
+ # @return [Time]
350
+ required :timestamp, Time
351
+
352
+ # @!attribute type
353
+ #
354
+ # @return [Symbol, MetronomeSDK::Models::Credit::Ledger::CreditSegmentStartLedgerEntry::Type]
355
+ required :type, enum: -> { MetronomeSDK::Credit::Ledger::CreditSegmentStartLedgerEntry::Type }
356
+
357
+ # @!method initialize(amount:, segment_id:, timestamp:, type:)
358
+ # @param amount [Float]
359
+ # @param segment_id [String]
360
+ # @param timestamp [Time]
361
+ # @param type [Symbol, MetronomeSDK::Models::Credit::Ledger::CreditSegmentStartLedgerEntry::Type]
362
+
363
+ # @see MetronomeSDK::Models::Credit::Ledger::CreditSegmentStartLedgerEntry#type
364
+ module Type
365
+ extend MetronomeSDK::Internal::Type::Enum
366
+
367
+ CREDIT_SEGMENT_START = :CREDIT_SEGMENT_START
368
+
369
+ # @!method self.values
370
+ # @return [Array<Symbol>]
371
+ end
372
+ end
373
+
374
+ class CreditAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
375
+ # @!attribute amount
376
+ #
377
+ # @return [Float]
378
+ required :amount, Float
379
+
380
+ # @!attribute invoice_id
381
+ #
382
+ # @return [String]
383
+ required :invoice_id, String
384
+
385
+ # @!attribute segment_id
386
+ #
387
+ # @return [String]
388
+ required :segment_id, String
389
+
390
+ # @!attribute timestamp
391
+ #
392
+ # @return [Time]
393
+ required :timestamp, Time
394
+
395
+ # @!attribute type
396
+ #
397
+ # @return [Symbol, MetronomeSDK::Models::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type]
398
+ required :type,
399
+ enum: -> { MetronomeSDK::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type }
400
+
401
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
402
+ # @param amount [Float]
403
+ # @param invoice_id [String]
404
+ # @param segment_id [String]
405
+ # @param timestamp [Time]
406
+ # @param type [Symbol, MetronomeSDK::Models::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type]
407
+
408
+ # @see MetronomeSDK::Models::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry#type
409
+ module Type
410
+ extend MetronomeSDK::Internal::Type::Enum
411
+
412
+ CREDIT_AUTOMATED_INVOICE_DEDUCTION = :CREDIT_AUTOMATED_INVOICE_DEDUCTION
413
+
414
+ # @!method self.values
415
+ # @return [Array<Symbol>]
416
+ end
417
+ end
418
+
419
+ class CreditExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
420
+ # @!attribute amount
421
+ #
422
+ # @return [Float]
423
+ required :amount, Float
424
+
425
+ # @!attribute segment_id
426
+ #
427
+ # @return [String]
428
+ required :segment_id, String
429
+
430
+ # @!attribute timestamp
431
+ #
432
+ # @return [Time]
433
+ required :timestamp, Time
434
+
435
+ # @!attribute type
436
+ #
437
+ # @return [Symbol, MetronomeSDK::Models::Credit::Ledger::CreditExpirationLedgerEntry::Type]
438
+ required :type, enum: -> { MetronomeSDK::Credit::Ledger::CreditExpirationLedgerEntry::Type }
439
+
440
+ # @!method initialize(amount:, segment_id:, timestamp:, type:)
441
+ # @param amount [Float]
442
+ # @param segment_id [String]
443
+ # @param timestamp [Time]
444
+ # @param type [Symbol, MetronomeSDK::Models::Credit::Ledger::CreditExpirationLedgerEntry::Type]
445
+
446
+ # @see MetronomeSDK::Models::Credit::Ledger::CreditExpirationLedgerEntry#type
447
+ module Type
448
+ extend MetronomeSDK::Internal::Type::Enum
449
+
450
+ CREDIT_EXPIRATION = :CREDIT_EXPIRATION
451
+
452
+ # @!method self.values
453
+ # @return [Array<Symbol>]
454
+ end
455
+ end
456
+
457
+ class CreditCanceledLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
458
+ # @!attribute amount
459
+ #
460
+ # @return [Float]
461
+ required :amount, Float
462
+
463
+ # @!attribute invoice_id
464
+ #
465
+ # @return [String]
466
+ required :invoice_id, String
467
+
468
+ # @!attribute segment_id
469
+ #
470
+ # @return [String]
471
+ required :segment_id, String
472
+
473
+ # @!attribute timestamp
474
+ #
475
+ # @return [Time]
476
+ required :timestamp, Time
477
+
478
+ # @!attribute type
479
+ #
480
+ # @return [Symbol, MetronomeSDK::Models::Credit::Ledger::CreditCanceledLedgerEntry::Type]
481
+ required :type, enum: -> { MetronomeSDK::Credit::Ledger::CreditCanceledLedgerEntry::Type }
482
+
483
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
484
+ # @param amount [Float]
485
+ # @param invoice_id [String]
486
+ # @param segment_id [String]
487
+ # @param timestamp [Time]
488
+ # @param type [Symbol, MetronomeSDK::Models::Credit::Ledger::CreditCanceledLedgerEntry::Type]
489
+
490
+ # @see MetronomeSDK::Models::Credit::Ledger::CreditCanceledLedgerEntry#type
491
+ module Type
492
+ extend MetronomeSDK::Internal::Type::Enum
493
+
494
+ CREDIT_CANCELED = :CREDIT_CANCELED
495
+
496
+ # @!method self.values
497
+ # @return [Array<Symbol>]
498
+ end
499
+ end
500
+
501
+ class CreditCreditedLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
502
+ # @!attribute amount
503
+ #
504
+ # @return [Float]
505
+ required :amount, Float
506
+
507
+ # @!attribute invoice_id
508
+ #
509
+ # @return [String]
510
+ required :invoice_id, String
511
+
512
+ # @!attribute segment_id
513
+ #
514
+ # @return [String]
515
+ required :segment_id, String
516
+
517
+ # @!attribute timestamp
518
+ #
519
+ # @return [Time]
520
+ required :timestamp, Time
521
+
522
+ # @!attribute type
523
+ #
524
+ # @return [Symbol, MetronomeSDK::Models::Credit::Ledger::CreditCreditedLedgerEntry::Type]
525
+ required :type, enum: -> { MetronomeSDK::Credit::Ledger::CreditCreditedLedgerEntry::Type }
526
+
527
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
528
+ # @param amount [Float]
529
+ # @param invoice_id [String]
530
+ # @param segment_id [String]
531
+ # @param timestamp [Time]
532
+ # @param type [Symbol, MetronomeSDK::Models::Credit::Ledger::CreditCreditedLedgerEntry::Type]
533
+
534
+ # @see MetronomeSDK::Models::Credit::Ledger::CreditCreditedLedgerEntry#type
535
+ module Type
536
+ extend MetronomeSDK::Internal::Type::Enum
537
+
538
+ CREDIT_CREDITED = :CREDIT_CREDITED
539
+
540
+ # @!method self.values
541
+ # @return [Array<Symbol>]
542
+ end
543
+ end
544
+
545
+ class CreditManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
546
+ # @!attribute amount
547
+ #
548
+ # @return [Float]
549
+ required :amount, Float
550
+
551
+ # @!attribute reason
552
+ #
553
+ # @return [String]
554
+ required :reason, String
555
+
556
+ # @!attribute timestamp
557
+ #
558
+ # @return [Time]
559
+ required :timestamp, Time
560
+
561
+ # @!attribute type
562
+ #
563
+ # @return [Symbol, MetronomeSDK::Models::Credit::Ledger::CreditManualLedgerEntry::Type]
564
+ required :type, enum: -> { MetronomeSDK::Credit::Ledger::CreditManualLedgerEntry::Type }
565
+
566
+ # @!method initialize(amount:, reason:, timestamp:, type:)
567
+ # @param amount [Float]
568
+ # @param reason [String]
569
+ # @param timestamp [Time]
570
+ # @param type [Symbol, MetronomeSDK::Models::Credit::Ledger::CreditManualLedgerEntry::Type]
571
+
572
+ # @see MetronomeSDK::Models::Credit::Ledger::CreditManualLedgerEntry#type
573
+ module Type
574
+ extend MetronomeSDK::Internal::Type::Enum
575
+
576
+ CREDIT_MANUAL = :CREDIT_MANUAL
577
+
578
+ # @!method self.values
579
+ # @return [Array<Symbol>]
580
+ end
581
+ end
582
+
583
+ class CreditSeatBasedAdjustmentLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
584
+ # @!attribute amount
585
+ #
586
+ # @return [Float]
587
+ required :amount, Float
588
+
589
+ # @!attribute segment_id
590
+ #
591
+ # @return [String]
592
+ required :segment_id, String
593
+
594
+ # @!attribute timestamp
595
+ #
596
+ # @return [Time]
597
+ required :timestamp, Time
598
+
599
+ # @!attribute type
600
+ #
601
+ # @return [Symbol, MetronomeSDK::Models::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type]
602
+ required :type,
603
+ enum: -> {
604
+ MetronomeSDK::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type
605
+ }
606
+
607
+ # @!method initialize(amount:, segment_id:, timestamp:, type:)
608
+ # @param amount [Float]
609
+ # @param segment_id [String]
610
+ # @param timestamp [Time]
611
+ # @param type [Symbol, MetronomeSDK::Models::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type]
612
+
613
+ # @see MetronomeSDK::Models::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry#type
614
+ module Type
615
+ extend MetronomeSDK::Internal::Type::Enum
616
+
617
+ CREDIT_SEAT_BASED_ADJUSTMENT = :CREDIT_SEAT_BASED_ADJUSTMENT
618
+
619
+ # @!method self.values
620
+ # @return [Array<Symbol>]
621
+ end
622
+ end
623
+
624
+ # @!method self.variants
625
+ # @return [Array(MetronomeSDK::Models::Credit::Ledger::CreditSegmentStartLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditExpirationLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditCanceledLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditCreditedLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditManualLedgerEntry, MetronomeSDK::Models::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry)]
626
+ end
627
+
628
+ # @see MetronomeSDK::Models::Credit#rate_type
629
+ module RateType
630
+ extend MetronomeSDK::Internal::Type::Enum
631
+
632
+ COMMIT_RATE = :COMMIT_RATE
633
+ LIST_RATE = :LIST_RATE
634
+
635
+ # @!method self.values
636
+ # @return [Array<Symbol>]
637
+ end
638
+
639
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
640
+ # @!attribute presentation_group_values
641
+ #
642
+ # @return [Hash{Symbol=>String}, nil]
643
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
644
+
645
+ # @!attribute pricing_group_values
646
+ #
647
+ # @return [Hash{Symbol=>String}, nil]
648
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
649
+
650
+ # @!attribute product_id
651
+ # If provided, the specifier will only apply to the product with the specified ID.
652
+ #
653
+ # @return [String, nil]
654
+ optional :product_id, String
655
+
656
+ # @!attribute product_tags
657
+ # If provided, the specifier will only apply to products with all the specified
658
+ # tags.
659
+ #
660
+ # @return [Array<String>, nil]
661
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
662
+
663
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
664
+ # Some parameter documentations has been truncated, see
665
+ # {MetronomeSDK::Models::Credit::Specifier} for more details.
666
+ #
667
+ # @param presentation_group_values [Hash{Symbol=>String}]
668
+ #
669
+ # @param pricing_group_values [Hash{Symbol=>String}]
670
+ #
671
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
672
+ #
673
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
674
+ end
675
+ end
676
+ end
677
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ class CreditTypeData < MetronomeSDK::Internal::Type::BaseModel
6
+ # @!attribute id
7
+ #
8
+ # @return [String]
9
+ required :id, String
10
+
11
+ # @!attribute name
12
+ #
13
+ # @return [String]
14
+ required :name, String
15
+
16
+ # @!method initialize(id:, name:)
17
+ # @param id [String]
18
+ # @param name [String]
19
+ end
20
+ end
21
+ end