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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +40 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/errors.rb +22 -0
  5. data/lib/metronome_sdk/internal/transport/base_client.rb +10 -2
  6. data/lib/metronome_sdk/internal/type/array_of.rb +6 -1
  7. data/lib/metronome_sdk/internal/type/base_model.rb +82 -26
  8. data/lib/metronome_sdk/internal/type/boolean.rb +7 -1
  9. data/lib/metronome_sdk/internal/type/converter.rb +42 -34
  10. data/lib/metronome_sdk/internal/type/enum.rb +16 -5
  11. data/lib/metronome_sdk/internal/type/file_input.rb +6 -1
  12. data/lib/metronome_sdk/internal/type/hash_of.rb +6 -1
  13. data/lib/metronome_sdk/internal/type/union.rb +17 -9
  14. data/lib/metronome_sdk/internal/type/unknown.rb +7 -1
  15. data/lib/metronome_sdk/internal/util.rb +8 -9
  16. data/lib/metronome_sdk/models/base_usage_filter.rb +27 -0
  17. data/lib/metronome_sdk/models/commit.rb +1010 -0
  18. data/lib/metronome_sdk/models/contract_without_amendments.rb +1803 -0
  19. data/lib/metronome_sdk/models/credit.rb +634 -0
  20. data/lib/metronome_sdk/models/credit_type_data.rb +21 -0
  21. data/lib/metronome_sdk/models/discount.rb +68 -0
  22. data/lib/metronome_sdk/models/event_type_filter.rb +33 -0
  23. data/lib/metronome_sdk/models/id.rb +15 -0
  24. data/lib/metronome_sdk/models/override.rb +381 -0
  25. data/lib/metronome_sdk/models/pro_service.rb +73 -0
  26. data/lib/metronome_sdk/models/property_filter.rb +52 -0
  27. data/lib/metronome_sdk/models/rate.rb +101 -0
  28. data/lib/metronome_sdk/models/schedule_duration.rb +50 -0
  29. data/lib/metronome_sdk/models/schedule_point_in_time.rb +62 -0
  30. data/lib/metronome_sdk/models/scheduled_charge.rb +76 -0
  31. data/lib/metronome_sdk/models/tier.rb +21 -0
  32. data/lib/metronome_sdk/models/v1/alert_archive_response.rb +3 -14
  33. data/lib/metronome_sdk/models/v1/alert_create_params.rb +4 -1
  34. data/lib/metronome_sdk/models/v1/alert_create_response.rb +3 -14
  35. data/lib/metronome_sdk/models/v1/billable_metric_archive_params.rb +2 -8
  36. data/lib/metronome_sdk/models/v1/billable_metric_archive_response.rb +3 -14
  37. data/lib/metronome_sdk/models/v1/billable_metric_create_params.rb +6 -86
  38. data/lib/metronome_sdk/models/v1/billable_metric_create_response.rb +3 -14
  39. data/lib/metronome_sdk/models/v1/billable_metric_list_response.rb +6 -85
  40. data/lib/metronome_sdk/models/v1/billable_metric_retrieve_response.rb +8 -85
  41. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +312 -35
  42. data/lib/metronome_sdk/models/v1/contract_amend_response.rb +3 -14
  43. data/lib/metronome_sdk/models/v1/contract_archive_response.rb +3 -14
  44. data/lib/metronome_sdk/models/v1/contract_create_historical_invoices_response.rb +3 -1276
  45. data/lib/metronome_sdk/models/v1/contract_create_params.rb +550 -102
  46. data/lib/metronome_sdk/models/v1/contract_create_response.rb +3 -14
  47. data/lib/metronome_sdk/models/v1/contract_list_balances_response.rb +5 -1645
  48. data/lib/metronome_sdk/models/v1/contract_list_response.rb +253 -10692
  49. data/lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb +9 -295
  50. data/lib/metronome_sdk/models/v1/contract_retrieve_response.rb +254 -10721
  51. data/lib/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rb +3 -1276
  52. data/lib/metronome_sdk/models/v1/contract_update_end_date_response.rb +3 -14
  53. data/lib/metronome_sdk/models/v1/contracts/product_archive_response.rb +3 -14
  54. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +6 -97
  55. data/lib/metronome_sdk/models/v1/contracts/product_create_response.rb +3 -14
  56. data/lib/metronome_sdk/models/v1/contracts/product_list_item_state.rb +148 -0
  57. data/lib/metronome_sdk/models/v1/contracts/product_list_response.rb +12 -561
  58. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_params.rb +2 -8
  59. data/lib/metronome_sdk/models/v1/contracts/product_retrieve_response.rb +14 -559
  60. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +6 -97
  61. data/lib/metronome_sdk/models/v1/contracts/product_update_response.rb +3 -14
  62. data/lib/metronome_sdk/models/v1/contracts/quantity_conversion.rb +57 -0
  63. data/lib/metronome_sdk/models/v1/contracts/quantity_rounding.rb +45 -0
  64. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_params.rb +2 -8
  65. data/lib/metronome_sdk/models/v1/contracts/rate_card_archive_response.rb +3 -14
  66. data/lib/metronome_sdk/models/v1/contracts/rate_card_create_response.rb +3 -14
  67. data/lib/metronome_sdk/models/v1/contracts/rate_card_list_response.rb +6 -42
  68. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rb +2 -8
  69. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rb +6 -159
  70. data/lib/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rb +6 -42
  71. data/lib/metronome_sdk/models/v1/contracts/rate_card_update_response.rb +3 -14
  72. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rb +3 -14
  73. data/lib/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rb +3 -14
  74. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +6 -44
  75. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rb +3 -16
  76. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +6 -44
  77. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +9 -61
  78. data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rb +6 -158
  79. data/lib/metronome_sdk/models/v1/credit_grant_create_params.rb +5 -77
  80. data/lib/metronome_sdk/models/v1/credit_grant_create_response.rb +3 -14
  81. data/lib/metronome_sdk/models/v1/credit_grant_edit_response.rb +3 -14
  82. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_params.rb +20 -1
  83. data/lib/metronome_sdk/models/v1/credit_grant_list_entries_response.rb +11 -153
  84. data/lib/metronome_sdk/models/v1/credit_grant_list_response.rb +14 -175
  85. data/lib/metronome_sdk/models/v1/credit_grant_void_response.rb +3 -14
  86. data/lib/metronome_sdk/models/v1/credit_ledger_entry.rb +69 -0
  87. data/lib/metronome_sdk/models/v1/customer.rb +53 -0
  88. data/lib/metronome_sdk/models/v1/customer_archive_params.rb +2 -8
  89. data/lib/metronome_sdk/models/v1/customer_archive_response.rb +3 -14
  90. data/lib/metronome_sdk/models/v1/customer_create_response.rb +3 -50
  91. data/lib/metronome_sdk/models/v1/{customer_list_response.rb → customer_detail.rb} +14 -15
  92. data/lib/metronome_sdk/models/v1/customer_list_billable_metrics_response.rb +6 -86
  93. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +115 -0
  94. data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +18 -0
  95. data/lib/metronome_sdk/models/v1/customer_retrieve_response.rb +3 -126
  96. data/lib/metronome_sdk/models/v1/customer_set_name_response.rb +3 -50
  97. data/lib/metronome_sdk/models/v1/customers/alert_list_response.rb +5 -276
  98. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_response.rb +3 -279
  99. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +9 -1
  100. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +8 -6
  101. data/lib/metronome_sdk/models/v1/customers/commit_create_response.rb +3 -14
  102. data/lib/metronome_sdk/models/v1/customers/commit_list_response.rb +3 -1047
  103. data/lib/metronome_sdk/models/v1/customers/commit_update_end_date_response.rb +3 -14
  104. data/lib/metronome_sdk/models/v1/customers/credit_create_response.rb +3 -14
  105. data/lib/metronome_sdk/models/v1/customers/credit_list_response.rb +3 -593
  106. data/lib/metronome_sdk/models/v1/customers/credit_update_end_date_response.rb +3 -14
  107. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +270 -0
  108. data/lib/metronome_sdk/models/v1/customers/{invoice_list_response.rb → invoice.rb} +119 -303
  109. data/lib/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rb +2 -1271
  110. data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_response.rb +3 -1276
  111. data/lib/metronome_sdk/models/v1/customers/plan_add_response.rb +3 -14
  112. data/lib/metronome_sdk/models/v1/customers/plan_list_response.rb +3 -21
  113. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +1 -0
  114. data/lib/metronome_sdk/models/v1/plan_detail.rb +200 -0
  115. data/lib/metronome_sdk/models/v1/plan_get_details_response.rb +3 -286
  116. data/lib/metronome_sdk/models/v1/plan_list_charges_response.rb +3 -20
  117. data/lib/metronome_sdk/models/v1/plan_list_customers_response.rb +3 -128
  118. data/lib/metronome_sdk/models/v1/rollover_amount_max_amount.rb +38 -0
  119. data/lib/metronome_sdk/models/v1/rollover_amount_max_percentage.rb +38 -0
  120. data/lib/metronome_sdk/models/v1/usage_search_params.rb +24 -0
  121. data/lib/metronome_sdk/models/v1/usage_search_response.rb +249 -0
  122. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +11 -8
  123. data/lib/metronome_sdk/models/v2/contract_edit_commit_response.rb +3 -14
  124. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +3 -2
  125. data/lib/metronome_sdk/models/v2/contract_edit_credit_response.rb +3 -14
  126. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +885 -103
  127. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3 -14
  128. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +351 -625
  129. data/lib/metronome_sdk/models/v2/contract_list_response.rb +590 -749
  130. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +590 -751
  131. data/lib/metronome_sdk/models.rb +36 -4
  132. data/lib/metronome_sdk/resources/v1/alerts.rb +1 -1
  133. data/lib/metronome_sdk/resources/v1/billable_metrics.rb +2 -2
  134. data/lib/metronome_sdk/resources/v1/contracts/products.rb +4 -4
  135. data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +1 -1
  136. data/lib/metronome_sdk/resources/v1/contracts.rb +8 -4
  137. data/lib/metronome_sdk/resources/v1/credit_grants.rb +4 -2
  138. data/lib/metronome_sdk/resources/v1/customers/commits.rb +2 -2
  139. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +2 -2
  140. data/lib/metronome_sdk/resources/v1/customers.rb +40 -2
  141. data/lib/metronome_sdk/resources/v1/usage.rb +25 -0
  142. data/lib/metronome_sdk/resources/v2/contracts.rb +11 -9
  143. data/lib/metronome_sdk/version.rb +1 -1
  144. data/lib/metronome_sdk.rb +31 -2
  145. data/rbi/metronome_sdk/errors.rbi +16 -0
  146. data/rbi/metronome_sdk/internal/type/boolean.rbi +2 -0
  147. data/rbi/metronome_sdk/internal/type/converter.rbi +15 -15
  148. data/rbi/metronome_sdk/internal/type/union.rbi +5 -0
  149. data/rbi/metronome_sdk/internal/type/unknown.rbi +2 -0
  150. data/rbi/metronome_sdk/internal/util.rbi +2 -0
  151. data/rbi/metronome_sdk/models/base_usage_filter.rbi +46 -0
  152. data/rbi/metronome_sdk/models/commit.rbi +1962 -0
  153. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +3676 -0
  154. data/rbi/metronome_sdk/models/credit.rbi +1230 -0
  155. data/rbi/metronome_sdk/models/credit_type_data.rbi +26 -0
  156. data/rbi/metronome_sdk/models/discount.rbi +106 -0
  157. data/rbi/metronome_sdk/models/event_type_filter.rbi +57 -0
  158. data/rbi/metronome_sdk/models/id.rbi +23 -0
  159. data/rbi/metronome_sdk/models/override.rbi +675 -0
  160. data/rbi/metronome_sdk/models/pro_service.rbi +98 -0
  161. data/rbi/metronome_sdk/models/property_filter.rbi +88 -0
  162. data/rbi/metronome_sdk/models/rate.rbi +155 -0
  163. data/rbi/metronome_sdk/models/schedule_duration.rbi +89 -0
  164. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +121 -0
  165. data/rbi/metronome_sdk/models/scheduled_charge.rbi +119 -0
  166. data/rbi/metronome_sdk/models/tier.rbi +29 -0
  167. data/rbi/metronome_sdk/models/v1/alert_archive_response.rbi +4 -37
  168. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +6 -0
  169. data/rbi/metronome_sdk/models/v1/alert_create_response.rbi +4 -37
  170. data/rbi/metronome_sdk/models/v1/billable_metric_archive_params.rbi +6 -12
  171. data/rbi/metronome_sdk/models/v1/billable_metric_archive_response.rbi +4 -44
  172. data/rbi/metronome_sdk/models/v1/billable_metric_create_params.rbi +8 -177
  173. data/rbi/metronome_sdk/models/v1/billable_metric_create_response.rbi +4 -43
  174. data/rbi/metronome_sdk/models/v1/billable_metric_list_response.rbi +8 -177
  175. data/rbi/metronome_sdk/models/v1/billable_metric_retrieve_response.rbi +8 -175
  176. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +712 -68
  177. data/rbi/metronome_sdk/models/v1/contract_amend_response.rbi +4 -37
  178. data/rbi/metronome_sdk/models/v1/contract_archive_response.rbi +4 -39
  179. data/rbi/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbi +3 -2595
  180. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1100 -172
  181. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +4 -37
  182. data/rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi +3 -3366
  183. data/rbi/metronome_sdk/models/v1/contract_list_response.rbi +375 -22523
  184. data/rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi +12 -632
  185. data/rbi/metronome_sdk/models/v1/contract_retrieve_response.rbi +375 -22523
  186. data/rbi/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbi +3 -2595
  187. data/rbi/metronome_sdk/models/v1/contract_update_end_date_response.rbi +4 -44
  188. data/rbi/metronome_sdk/models/v1/contracts/product_archive_response.rbi +4 -44
  189. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +8 -209
  190. data/rbi/metronome_sdk/models/v1/contracts/product_create_response.rbi +4 -44
  191. data/rbi/metronome_sdk/models/v1/contracts/product_list_item_state.rbi +237 -0
  192. data/rbi/metronome_sdk/models/v1/contracts/product_list_response.rbi +76 -1143
  193. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_params.rbi +3 -9
  194. data/rbi/metronome_sdk/models/v1/contracts/product_retrieve_response.rbi +76 -1137
  195. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +8 -209
  196. data/rbi/metronome_sdk/models/v1/contracts/product_update_response.rbi +4 -44
  197. data/rbi/metronome_sdk/models/v1/contracts/quantity_conversion.rbi +111 -0
  198. data/rbi/metronome_sdk/models/v1/contracts/quantity_rounding.rbi +94 -0
  199. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbi +3 -9
  200. data/rbi/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbi +4 -44
  201. data/rbi/metronome_sdk/models/v1/contracts/rate_card_create_response.rbi +4 -44
  202. data/rbi/metronome_sdk/models/v1/contracts/rate_card_list_response.rbi +8 -74
  203. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbi +3 -9
  204. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbi +8 -344
  205. data/rbi/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbi +8 -74
  206. data/rbi/metronome_sdk/models/v1/contracts/rate_card_update_response.rbi +4 -44
  207. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbi +4 -44
  208. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbi +4 -44
  209. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +8 -108
  210. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbi +4 -45
  211. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +8 -108
  212. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +12 -149
  213. data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbi +8 -344
  214. data/rbi/metronome_sdk/models/v1/credit_grant_create_params.rbi +8 -166
  215. data/rbi/metronome_sdk/models/v1/credit_grant_create_response.rbi +4 -41
  216. data/rbi/metronome_sdk/models/v1/credit_grant_edit_response.rbi +4 -39
  217. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_params.rbi +58 -0
  218. data/rbi/metronome_sdk/models/v1/credit_grant_list_entries_response.rbi +10 -231
  219. data/rbi/metronome_sdk/models/v1/credit_grant_list_response.rbi +14 -281
  220. data/rbi/metronome_sdk/models/v1/credit_grant_void_response.rbi +4 -39
  221. data/rbi/metronome_sdk/models/v1/credit_ledger_entry.rbi +90 -0
  222. data/rbi/metronome_sdk/models/v1/customer.rbi +74 -0
  223. data/rbi/metronome_sdk/models/v1/customer_archive_params.rbi +6 -12
  224. data/rbi/metronome_sdk/models/v1/customer_archive_response.rbi +4 -39
  225. data/rbi/metronome_sdk/models/v1/customer_create_response.rbi +6 -84
  226. data/rbi/metronome_sdk/models/v1/{customer_list_response.rbi → customer_detail.rbi} +19 -26
  227. data/rbi/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbi +8 -177
  228. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +214 -0
  229. data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +35 -0
  230. data/rbi/metronome_sdk/models/v1/customer_retrieve_response.rbi +6 -255
  231. data/rbi/metronome_sdk/models/v1/customer_set_name_response.rbi +6 -86
  232. data/rbi/metronome_sdk/models/v1/customers/alert_list_response.rbi +3 -623
  233. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_response.rbi +4 -622
  234. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +11 -0
  235. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +12 -8
  236. data/rbi/metronome_sdk/models/v1/customers/commit_create_response.rbi +4 -44
  237. data/rbi/metronome_sdk/models/v1/customers/commit_list_response.rbi +3 -2164
  238. data/rbi/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbi +4 -44
  239. data/rbi/metronome_sdk/models/v1/customers/credit_create_response.rbi +4 -44
  240. data/rbi/metronome_sdk/models/v1/customers/credit_list_response.rbi +3 -1224
  241. data/rbi/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbi +4 -44
  242. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +572 -0
  243. data/rbi/metronome_sdk/models/v1/customers/{invoice_list_response.rbi → invoice.rbi} +182 -589
  244. data/rbi/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbi +4 -2561
  245. data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbi +6 -2612
  246. data/rbi/metronome_sdk/models/v1/customers/plan_add_response.rbi +4 -41
  247. data/rbi/metronome_sdk/models/v1/customers/plan_list_response.rbi +4 -39
  248. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +5 -0
  249. data/rbi/metronome_sdk/models/v1/plan_detail.rbi +349 -0
  250. data/rbi/metronome_sdk/models/v1/plan_get_details_response.rbi +6 -560
  251. data/rbi/metronome_sdk/models/v1/plan_list_charges_response.rbi +4 -37
  252. data/rbi/metronome_sdk/models/v1/plan_list_customers_response.rbi +4 -248
  253. data/rbi/metronome_sdk/models/v1/rollover_amount_max_amount.rbi +79 -0
  254. data/rbi/metronome_sdk/models/v1/rollover_amount_max_percentage.rbi +80 -0
  255. data/rbi/metronome_sdk/models/v1/usage_search_params.rbi +48 -0
  256. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +438 -0
  257. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +23 -23
  258. data/rbi/metronome_sdk/models/v2/contract_edit_commit_response.rbi +4 -41
  259. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +11 -15
  260. data/rbi/metronome_sdk/models/v2/contract_edit_credit_response.rbi +4 -41
  261. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +1859 -202
  262. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +4 -37
  263. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +700 -1447
  264. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +1204 -1472
  265. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +1204 -1472
  266. data/rbi/metronome_sdk/models.rbi +32 -0
  267. data/rbi/metronome_sdk/resources/v1/alerts.rbi +3 -0
  268. data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +2 -6
  269. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +4 -4
  270. data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +1 -4
  271. data/rbi/metronome_sdk/resources/v1/contracts.rbi +10 -4
  272. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +4 -0
  273. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +6 -4
  274. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +1 -1
  275. data/rbi/metronome_sdk/resources/v1/customers.rbi +34 -3
  276. data/rbi/metronome_sdk/resources/v1/usage.rbi +17 -0
  277. data/rbi/metronome_sdk/resources/v2/contracts.rbi +24 -14
  278. data/sig/metronome_sdk/errors.rbs +9 -0
  279. data/sig/metronome_sdk/internal/type/converter.rbs +7 -1
  280. data/sig/metronome_sdk/models/base_usage_filter.rbs +28 -0
  281. data/sig/metronome_sdk/models/commit.rbs +1020 -0
  282. data/sig/metronome_sdk/models/contract_without_amendments.rbs +1582 -0
  283. data/sig/metronome_sdk/models/credit.rbs +643 -0
  284. data/sig/metronome_sdk/models/credit_type_data.rbs +15 -0
  285. data/sig/metronome_sdk/models/discount.rbs +63 -0
  286. data/sig/metronome_sdk/models/event_type_filter.rbs +26 -0
  287. data/sig/metronome_sdk/models/id.rbs +13 -0
  288. data/sig/metronome_sdk/models/override.rbs +399 -0
  289. data/sig/metronome_sdk/models/pro_service.rbs +61 -0
  290. data/sig/metronome_sdk/models/property_filter.rbs +41 -0
  291. data/sig/metronome_sdk/models/rate.rbs +94 -0
  292. data/sig/metronome_sdk/models/schedule_duration.rbs +56 -0
  293. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +75 -0
  294. data/sig/metronome_sdk/models/scheduled_charge.rbs +70 -0
  295. data/sig/metronome_sdk/models/tier.rbs +17 -0
  296. data/sig/metronome_sdk/models/v1/alert_archive_response.rbs +4 -19
  297. data/sig/metronome_sdk/models/v1/alert_create_response.rbs +4 -19
  298. data/sig/metronome_sdk/models/v1/billable_metric_archive_params.rbs +4 -12
  299. data/sig/metronome_sdk/models/v1/billable_metric_archive_response.rbs +4 -19
  300. data/sig/metronome_sdk/models/v1/billable_metric_create_params.rbs +12 -73
  301. data/sig/metronome_sdk/models/v1/billable_metric_create_response.rbs +4 -19
  302. data/sig/metronome_sdk/models/v1/billable_metric_list_response.rbs +12 -73
  303. data/sig/metronome_sdk/models/v1/billable_metric_retrieve_response.rbs +12 -73
  304. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +291 -24
  305. data/sig/metronome_sdk/models/v1/contract_amend_response.rbs +4 -19
  306. data/sig/metronome_sdk/models/v1/contract_archive_response.rbs +4 -19
  307. data/sig/metronome_sdk/models/v1/contract_create_historical_invoices_response.rbs +4 -1291
  308. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +448 -84
  309. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +4 -19
  310. data/sig/metronome_sdk/models/v1/contract_list_balances_response.rbs +1 -1642
  311. data/sig/metronome_sdk/models/v1/contract_list_response.rbs +188 -10437
  312. data/sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs +15 -271
  313. data/sig/metronome_sdk/models/v1/contract_retrieve_response.rbs +188 -10437
  314. data/sig/metronome_sdk/models/v1/contract_schedule_pro_services_invoice_response.rbs +4 -1291
  315. data/sig/metronome_sdk/models/v1/contract_update_end_date_response.rbs +4 -19
  316. data/sig/metronome_sdk/models/v1/contracts/product_archive_response.rbs +4 -21
  317. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +8 -82
  318. data/sig/metronome_sdk/models/v1/contracts/product_create_response.rbs +4 -21
  319. data/sig/metronome_sdk/models/v1/contracts/product_list_item_state.rbs +121 -0
  320. data/sig/metronome_sdk/models/v1/contracts/product_list_response.rbs +16 -466
  321. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_params.rbs +4 -12
  322. data/sig/metronome_sdk/models/v1/contracts/product_retrieve_response.rbs +16 -466
  323. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +8 -82
  324. data/sig/metronome_sdk/models/v1/contracts/product_update_response.rbs +4 -21
  325. data/sig/metronome_sdk/models/v1/contracts/quantity_conversion.rbs +47 -0
  326. data/sig/metronome_sdk/models/v1/contracts/quantity_rounding.rbs +41 -0
  327. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_params.rbs +4 -12
  328. data/sig/metronome_sdk/models/v1/contracts/rate_card_archive_response.rbs +4 -21
  329. data/sig/metronome_sdk/models/v1/contracts/rate_card_create_response.rbs +4 -21
  330. data/sig/metronome_sdk/models/v1/contracts/rate_card_list_response.rbs +10 -34
  331. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_params.rbs +4 -12
  332. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_rate_schedule_response.rbs +10 -144
  333. data/sig/metronome_sdk/models/v1/contracts/rate_card_retrieve_response.rbs +10 -34
  334. data/sig/metronome_sdk/models/v1/contracts/rate_card_update_response.rbs +4 -21
  335. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_set_response.rbs +4 -21
  336. data/sig/metronome_sdk/models/v1/contracts/rate_cards/product_order_update_response.rbs +4 -21
  337. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +12 -40
  338. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_response.rbs +4 -21
  339. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +12 -40
  340. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +18 -58
  341. data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_list_response.rbs +10 -144
  342. data/sig/metronome_sdk/models/v1/credit_grant_create_params.rbs +2 -66
  343. data/sig/metronome_sdk/models/v1/credit_grant_create_response.rbs +4 -19
  344. data/sig/metronome_sdk/models/v1/credit_grant_edit_response.rbs +4 -19
  345. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_params.rbs +20 -0
  346. data/sig/metronome_sdk/models/v1/credit_grant_list_entries_response.rbs +12 -118
  347. data/sig/metronome_sdk/models/v1/credit_grant_list_response.rbs +16 -140
  348. data/sig/metronome_sdk/models/v1/credit_grant_void_response.rbs +4 -19
  349. data/sig/metronome_sdk/models/v1/credit_ledger_entry.rbs +52 -0
  350. data/sig/metronome_sdk/models/v1/customer.rbs +44 -0
  351. data/sig/metronome_sdk/models/v1/customer_archive_params.rbs +4 -12
  352. data/sig/metronome_sdk/models/v1/customer_archive_response.rbs +4 -19
  353. data/sig/metronome_sdk/models/v1/customer_create_response.rbs +4 -48
  354. data/sig/metronome_sdk/models/v1/{customer_list_response.rbs → customer_detail.rbs} +17 -17
  355. data/sig/metronome_sdk/models/v1/customer_list_billable_metrics_response.rbs +12 -73
  356. data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +105 -0
  357. data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +16 -0
  358. data/sig/metronome_sdk/models/v1/customer_retrieve_response.rbs +4 -112
  359. data/sig/metronome_sdk/models/v1/customer_set_name_response.rbs +4 -48
  360. data/sig/metronome_sdk/models/v1/customers/alert_list_response.rbs +4 -243
  361. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_response.rbs +4 -247
  362. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +7 -0
  363. data/sig/metronome_sdk/models/v1/customers/commit_create_response.rbs +4 -21
  364. data/sig/metronome_sdk/models/v1/customers/commit_list_response.rbs +4 -1057
  365. data/sig/metronome_sdk/models/v1/customers/commit_update_end_date_response.rbs +4 -21
  366. data/sig/metronome_sdk/models/v1/customers/credit_create_response.rbs +4 -21
  367. data/sig/metronome_sdk/models/v1/customers/credit_list_response.rbs +4 -596
  368. data/sig/metronome_sdk/models/v1/customers/credit_update_end_date_response.rbs +4 -21
  369. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +234 -0
  370. data/sig/metronome_sdk/models/v1/customers/{invoice_list_response.rbs → invoice.rbs} +147 -305
  371. data/sig/metronome_sdk/models/v1/customers/invoice_list_breakdowns_response.rbs +8 -1278
  372. data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_response.rbs +4 -1294
  373. data/sig/metronome_sdk/models/v1/customers/plan_add_response.rbs +4 -19
  374. data/sig/metronome_sdk/models/v1/customers/plan_list_response.rbs +4 -16
  375. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +2 -1
  376. data/sig/metronome_sdk/models/v1/plan_detail.rbs +203 -0
  377. data/sig/metronome_sdk/models/v1/plan_get_details_response.rbs +4 -267
  378. data/sig/metronome_sdk/models/v1/plan_list_charges_response.rbs +4 -16
  379. data/sig/metronome_sdk/models/v1/plan_list_customers_response.rbs +4 -108
  380. data/sig/metronome_sdk/models/v1/rollover_amount_max_amount.rbs +37 -0
  381. data/sig/metronome_sdk/models/v1/rollover_amount_max_percentage.rbs +37 -0
  382. data/sig/metronome_sdk/models/v1/usage_search_params.rbs +26 -0
  383. data/sig/metronome_sdk/models/v1/usage_search_response.rbs +230 -0
  384. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +4 -8
  385. data/sig/metronome_sdk/models/v2/contract_edit_commit_response.rbs +4 -19
  386. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +4 -8
  387. data/sig/metronome_sdk/models/v2/contract_edit_credit_response.rbs +4 -19
  388. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +743 -77
  389. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +4 -19
  390. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +274 -665
  391. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +567 -759
  392. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +567 -759
  393. data/sig/metronome_sdk/models.rbs +32 -0
  394. data/sig/metronome_sdk/resources/v1/billable_metrics.rbs +2 -2
  395. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +4 -4
  396. data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -1
  397. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -1
  398. data/sig/metronome_sdk/resources/v1/credit_grants.rbs +1 -0
  399. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -1
  400. data/sig/metronome_sdk/resources/v1/customers.rbs +9 -1
  401. data/sig/metronome_sdk/resources/v1/usage.rbs +5 -0
  402. data/sig/metronome_sdk/resources/v2/contracts.rbs +3 -2
  403. metadata +95 -8
@@ -0,0 +1,634 @@
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>, 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>] 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
+ class CreditSegmentStartLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
335
+ # @!attribute amount
336
+ #
337
+ # @return [Float]
338
+ required :amount, Float
339
+
340
+ # @!attribute segment_id
341
+ #
342
+ # @return [String]
343
+ required :segment_id, String
344
+
345
+ # @!attribute timestamp
346
+ #
347
+ # @return [Time]
348
+ required :timestamp, Time
349
+
350
+ # @!attribute type
351
+ #
352
+ # @return [Symbol, MetronomeSDK::Models::Credit::Ledger::CreditSegmentStartLedgerEntry::Type]
353
+ required :type, enum: -> { MetronomeSDK::Credit::Ledger::CreditSegmentStartLedgerEntry::Type }
354
+
355
+ # @!method initialize(amount:, segment_id:, timestamp:, type:)
356
+ # @param amount [Float]
357
+ # @param segment_id [String]
358
+ # @param timestamp [Time]
359
+ # @param type [Symbol, MetronomeSDK::Models::Credit::Ledger::CreditSegmentStartLedgerEntry::Type]
360
+
361
+ # @see MetronomeSDK::Models::Credit::Ledger::CreditSegmentStartLedgerEntry#type
362
+ module Type
363
+ extend MetronomeSDK::Internal::Type::Enum
364
+
365
+ CREDIT_SEGMENT_START = :CREDIT_SEGMENT_START
366
+
367
+ # @!method self.values
368
+ # @return [Array<Symbol>]
369
+ end
370
+ end
371
+
372
+ class CreditAutomatedInvoiceDeductionLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
373
+ # @!attribute amount
374
+ #
375
+ # @return [Float]
376
+ required :amount, Float
377
+
378
+ # @!attribute invoice_id
379
+ #
380
+ # @return [String]
381
+ required :invoice_id, String
382
+
383
+ # @!attribute segment_id
384
+ #
385
+ # @return [String]
386
+ required :segment_id, String
387
+
388
+ # @!attribute timestamp
389
+ #
390
+ # @return [Time]
391
+ required :timestamp, Time
392
+
393
+ # @!attribute type
394
+ #
395
+ # @return [Symbol, MetronomeSDK::Models::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type]
396
+ required :type,
397
+ enum: -> { MetronomeSDK::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type }
398
+
399
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
400
+ # @param amount [Float]
401
+ # @param invoice_id [String]
402
+ # @param segment_id [String]
403
+ # @param timestamp [Time]
404
+ # @param type [Symbol, MetronomeSDK::Models::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type]
405
+
406
+ # @see MetronomeSDK::Models::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry#type
407
+ module Type
408
+ extend MetronomeSDK::Internal::Type::Enum
409
+
410
+ CREDIT_AUTOMATED_INVOICE_DEDUCTION = :CREDIT_AUTOMATED_INVOICE_DEDUCTION
411
+
412
+ # @!method self.values
413
+ # @return [Array<Symbol>]
414
+ end
415
+ end
416
+
417
+ class CreditExpirationLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
418
+ # @!attribute amount
419
+ #
420
+ # @return [Float]
421
+ required :amount, Float
422
+
423
+ # @!attribute segment_id
424
+ #
425
+ # @return [String]
426
+ required :segment_id, String
427
+
428
+ # @!attribute timestamp
429
+ #
430
+ # @return [Time]
431
+ required :timestamp, Time
432
+
433
+ # @!attribute type
434
+ #
435
+ # @return [Symbol, MetronomeSDK::Models::Credit::Ledger::CreditExpirationLedgerEntry::Type]
436
+ required :type, enum: -> { MetronomeSDK::Credit::Ledger::CreditExpirationLedgerEntry::Type }
437
+
438
+ # @!method initialize(amount:, segment_id:, timestamp:, type:)
439
+ # @param amount [Float]
440
+ # @param segment_id [String]
441
+ # @param timestamp [Time]
442
+ # @param type [Symbol, MetronomeSDK::Models::Credit::Ledger::CreditExpirationLedgerEntry::Type]
443
+
444
+ # @see MetronomeSDK::Models::Credit::Ledger::CreditExpirationLedgerEntry#type
445
+ module Type
446
+ extend MetronomeSDK::Internal::Type::Enum
447
+
448
+ CREDIT_EXPIRATION = :CREDIT_EXPIRATION
449
+
450
+ # @!method self.values
451
+ # @return [Array<Symbol>]
452
+ end
453
+ end
454
+
455
+ class CreditCanceledLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
456
+ # @!attribute amount
457
+ #
458
+ # @return [Float]
459
+ required :amount, Float
460
+
461
+ # @!attribute invoice_id
462
+ #
463
+ # @return [String]
464
+ required :invoice_id, String
465
+
466
+ # @!attribute segment_id
467
+ #
468
+ # @return [String]
469
+ required :segment_id, String
470
+
471
+ # @!attribute timestamp
472
+ #
473
+ # @return [Time]
474
+ required :timestamp, Time
475
+
476
+ # @!attribute type
477
+ #
478
+ # @return [Symbol, MetronomeSDK::Models::Credit::Ledger::CreditCanceledLedgerEntry::Type]
479
+ required :type, enum: -> { MetronomeSDK::Credit::Ledger::CreditCanceledLedgerEntry::Type }
480
+
481
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
482
+ # @param amount [Float]
483
+ # @param invoice_id [String]
484
+ # @param segment_id [String]
485
+ # @param timestamp [Time]
486
+ # @param type [Symbol, MetronomeSDK::Models::Credit::Ledger::CreditCanceledLedgerEntry::Type]
487
+
488
+ # @see MetronomeSDK::Models::Credit::Ledger::CreditCanceledLedgerEntry#type
489
+ module Type
490
+ extend MetronomeSDK::Internal::Type::Enum
491
+
492
+ CREDIT_CANCELED = :CREDIT_CANCELED
493
+
494
+ # @!method self.values
495
+ # @return [Array<Symbol>]
496
+ end
497
+ end
498
+
499
+ class CreditCreditedLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
500
+ # @!attribute amount
501
+ #
502
+ # @return [Float]
503
+ required :amount, Float
504
+
505
+ # @!attribute invoice_id
506
+ #
507
+ # @return [String]
508
+ required :invoice_id, String
509
+
510
+ # @!attribute segment_id
511
+ #
512
+ # @return [String]
513
+ required :segment_id, String
514
+
515
+ # @!attribute timestamp
516
+ #
517
+ # @return [Time]
518
+ required :timestamp, Time
519
+
520
+ # @!attribute type
521
+ #
522
+ # @return [Symbol, MetronomeSDK::Models::Credit::Ledger::CreditCreditedLedgerEntry::Type]
523
+ required :type, enum: -> { MetronomeSDK::Credit::Ledger::CreditCreditedLedgerEntry::Type }
524
+
525
+ # @!method initialize(amount:, invoice_id:, segment_id:, timestamp:, type:)
526
+ # @param amount [Float]
527
+ # @param invoice_id [String]
528
+ # @param segment_id [String]
529
+ # @param timestamp [Time]
530
+ # @param type [Symbol, MetronomeSDK::Models::Credit::Ledger::CreditCreditedLedgerEntry::Type]
531
+
532
+ # @see MetronomeSDK::Models::Credit::Ledger::CreditCreditedLedgerEntry#type
533
+ module Type
534
+ extend MetronomeSDK::Internal::Type::Enum
535
+
536
+ CREDIT_CREDITED = :CREDIT_CREDITED
537
+
538
+ # @!method self.values
539
+ # @return [Array<Symbol>]
540
+ end
541
+ end
542
+
543
+ class CreditManualLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
544
+ # @!attribute amount
545
+ #
546
+ # @return [Float]
547
+ required :amount, Float
548
+
549
+ # @!attribute reason
550
+ #
551
+ # @return [String]
552
+ required :reason, String
553
+
554
+ # @!attribute timestamp
555
+ #
556
+ # @return [Time]
557
+ required :timestamp, Time
558
+
559
+ # @!attribute type
560
+ #
561
+ # @return [Symbol, MetronomeSDK::Models::Credit::Ledger::CreditManualLedgerEntry::Type]
562
+ required :type, enum: -> { MetronomeSDK::Credit::Ledger::CreditManualLedgerEntry::Type }
563
+
564
+ # @!method initialize(amount:, reason:, timestamp:, type:)
565
+ # @param amount [Float]
566
+ # @param reason [String]
567
+ # @param timestamp [Time]
568
+ # @param type [Symbol, MetronomeSDK::Models::Credit::Ledger::CreditManualLedgerEntry::Type]
569
+
570
+ # @see MetronomeSDK::Models::Credit::Ledger::CreditManualLedgerEntry#type
571
+ module Type
572
+ extend MetronomeSDK::Internal::Type::Enum
573
+
574
+ CREDIT_MANUAL = :CREDIT_MANUAL
575
+
576
+ # @!method self.values
577
+ # @return [Array<Symbol>]
578
+ end
579
+ end
580
+
581
+ # @!method self.variants
582
+ # @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)]
583
+ end
584
+
585
+ # @see MetronomeSDK::Models::Credit#rate_type
586
+ module RateType
587
+ extend MetronomeSDK::Internal::Type::Enum
588
+
589
+ COMMIT_RATE = :COMMIT_RATE
590
+ LIST_RATE = :LIST_RATE
591
+
592
+ # @!method self.values
593
+ # @return [Array<Symbol>]
594
+ end
595
+
596
+ class Specifier < MetronomeSDK::Internal::Type::BaseModel
597
+ # @!attribute presentation_group_values
598
+ #
599
+ # @return [Hash{Symbol=>String}, nil]
600
+ optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
601
+
602
+ # @!attribute pricing_group_values
603
+ #
604
+ # @return [Hash{Symbol=>String}, nil]
605
+ optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
606
+
607
+ # @!attribute product_id
608
+ # If provided, the specifier will only apply to the product with the specified ID.
609
+ #
610
+ # @return [String, nil]
611
+ optional :product_id, String
612
+
613
+ # @!attribute product_tags
614
+ # If provided, the specifier will only apply to products with all the specified
615
+ # tags.
616
+ #
617
+ # @return [Array<String>, nil]
618
+ optional :product_tags, MetronomeSDK::Internal::Type::ArrayOf[String]
619
+
620
+ # @!method initialize(presentation_group_values: nil, pricing_group_values: nil, product_id: nil, product_tags: nil)
621
+ # Some parameter documentations has been truncated, see
622
+ # {MetronomeSDK::Models::Credit::Specifier} for more details.
623
+ #
624
+ # @param presentation_group_values [Hash{Symbol=>String}]
625
+ #
626
+ # @param pricing_group_values [Hash{Symbol=>String}]
627
+ #
628
+ # @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
629
+ #
630
+ # @param product_tags [Array<String>] If provided, the specifier will only apply to products with all the specified ta
631
+ end
632
+ end
633
+ end
634
+ 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