orb-billing 0.2.0 → 0.3.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 (374) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +34 -0
  3. data/README.md +59 -49
  4. data/lib/orb/client.rb +4 -4
  5. data/lib/orb/file_part.rb +55 -0
  6. data/lib/orb/internal/page.rb +4 -8
  7. data/lib/orb/internal/transport/base_client.rb +7 -7
  8. data/lib/orb/internal/transport/pooled_net_requester.rb +2 -2
  9. data/lib/orb/internal/type/array_of.rb +11 -0
  10. data/lib/orb/internal/type/base_model.rb +32 -14
  11. data/lib/orb/internal/type/base_page.rb +9 -1
  12. data/lib/orb/internal/type/boolean.rb +4 -0
  13. data/lib/orb/internal/type/converter.rb +4 -1
  14. data/lib/orb/internal/type/enum.rb +9 -5
  15. data/lib/orb/internal/type/{io_like.rb → file_input.rb} +33 -15
  16. data/lib/orb/internal/type/hash_of.rb +11 -0
  17. data/lib/orb/internal/type/request_parameters.rb +1 -2
  18. data/lib/orb/internal/type/union.rb +10 -1
  19. data/lib/orb/internal/type/unknown.rb +4 -0
  20. data/lib/orb/internal/util.rb +69 -61
  21. data/lib/orb/internal.rb +0 -1
  22. data/lib/orb/models/alert.rb +68 -71
  23. data/lib/orb/models/alert_create_for_customer_params.rb +20 -25
  24. data/lib/orb/models/alert_create_for_external_customer_params.rb +20 -25
  25. data/lib/orb/models/alert_create_for_subscription_params.rb +20 -25
  26. data/lib/orb/models/alert_disable_params.rb +5 -9
  27. data/lib/orb/models/alert_enable_params.rb +5 -9
  28. data/lib/orb/models/alert_list_params.rb +26 -36
  29. data/lib/orb/models/alert_retrieve_params.rb +3 -8
  30. data/lib/orb/models/alert_update_params.rb +14 -18
  31. data/lib/orb/models/amount_discount.rb +14 -14
  32. data/lib/orb/models/billable_metric.rb +23 -20
  33. data/lib/orb/models/billing_cycle_relative_date.rb +2 -5
  34. data/lib/orb/models/coupon.rb +28 -21
  35. data/lib/orb/models/coupon_archive_params.rb +3 -8
  36. data/lib/orb/models/coupon_create_params.rb +24 -29
  37. data/lib/orb/models/coupon_fetch_params.rb +3 -8
  38. data/lib/orb/models/coupon_list_params.rb +17 -17
  39. data/lib/orb/models/coupons/subscription_list_params.rb +12 -15
  40. data/lib/orb/models/credit_note.rb +100 -166
  41. data/lib/orb/models/credit_note_create_params.rb +15 -23
  42. data/lib/orb/models/credit_note_fetch_params.rb +3 -8
  43. data/lib/orb/models/credit_note_list_params.rb +20 -30
  44. data/lib/orb/models/customer.rb +224 -271
  45. data/lib/orb/models/customer_create_params.rb +211 -252
  46. data/lib/orb/models/customer_delete_params.rb +3 -8
  47. data/lib/orb/models/customer_fetch_by_external_id_params.rb +3 -8
  48. data/lib/orb/models/customer_fetch_params.rb +3 -8
  49. data/lib/orb/models/customer_list_params.rb +20 -30
  50. data/lib/orb/models/customer_sync_payment_methods_from_gateway_by_external_customer_id_params.rb +3 -8
  51. data/lib/orb/models/customer_sync_payment_methods_from_gateway_params.rb +3 -8
  52. data/lib/orb/models/customer_update_by_external_id_params.rb +207 -250
  53. data/lib/orb/models/customer_update_params.rb +207 -250
  54. data/lib/orb/models/customers/balance_transaction_create_params.rb +11 -16
  55. data/lib/orb/models/customers/balance_transaction_create_response.rb +33 -51
  56. data/lib/orb/models/customers/balance_transaction_list_params.rb +20 -30
  57. data/lib/orb/models/customers/balance_transaction_list_response.rb +33 -51
  58. data/lib/orb/models/customers/cost_list_by_external_id_params.rb +17 -17
  59. data/lib/orb/models/customers/cost_list_by_external_id_response.rb +22 -26
  60. data/lib/orb/models/customers/cost_list_params.rb +17 -17
  61. data/lib/orb/models/customers/cost_list_response.rb +22 -26
  62. data/lib/orb/models/customers/credit_list_by_external_id_params.rb +18 -22
  63. data/lib/orb/models/customers/credit_list_by_external_id_response.rb +10 -17
  64. data/lib/orb/models/customers/credit_list_params.rb +18 -22
  65. data/lib/orb/models/customers/credit_list_response.rb +10 -17
  66. data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rb +64 -66
  67. data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rb +300 -406
  68. data/lib/orb/models/customers/credits/ledger_create_entry_params.rb +63 -66
  69. data/lib/orb/models/customers/credits/ledger_create_entry_response.rb +300 -406
  70. data/lib/orb/models/customers/credits/ledger_list_by_external_id_params.rb +33 -48
  71. data/lib/orb/models/customers/credits/ledger_list_by_external_id_response.rb +300 -406
  72. data/lib/orb/models/customers/credits/ledger_list_params.rb +32 -48
  73. data/lib/orb/models/customers/credits/ledger_list_response.rb +300 -406
  74. data/lib/orb/models/customers/credits/top_up_create_by_external_id_params.rb +47 -50
  75. data/lib/orb/models/customers/credits/top_up_create_by_external_id_response.rb +43 -46
  76. data/lib/orb/models/customers/credits/top_up_create_params.rb +46 -50
  77. data/lib/orb/models/customers/credits/top_up_create_response.rb +42 -46
  78. data/lib/orb/models/customers/credits/top_up_delete_by_external_id_params.rb +4 -9
  79. data/lib/orb/models/customers/credits/top_up_delete_params.rb +4 -9
  80. data/lib/orb/models/customers/credits/top_up_list_by_external_id_params.rb +12 -15
  81. data/lib/orb/models/customers/credits/top_up_list_by_external_id_response.rb +43 -46
  82. data/lib/orb/models/customers/credits/top_up_list_params.rb +12 -15
  83. data/lib/orb/models/customers/credits/top_up_list_response.rb +42 -46
  84. data/lib/orb/models/dimensional_price_group.rb +21 -15
  85. data/lib/orb/models/dimensional_price_group_create_params.rb +17 -23
  86. data/lib/orb/models/dimensional_price_group_list_params.rb +12 -15
  87. data/lib/orb/models/dimensional_price_group_retrieve_params.rb +3 -8
  88. data/lib/orb/models/dimensional_price_groups/external_dimensional_price_group_id_retrieve_params.rb +3 -8
  89. data/lib/orb/models/dimensional_price_groups.rb +3 -7
  90. data/lib/orb/models/discount.rb +2 -3
  91. data/lib/orb/models/evaluate_price_group.rb +8 -11
  92. data/lib/orb/models/event_deprecate_params.rb +3 -8
  93. data/lib/orb/models/event_deprecate_response.rb +2 -6
  94. data/lib/orb/models/event_ingest_params.rb +33 -27
  95. data/lib/orb/models/event_ingest_response.rb +23 -24
  96. data/lib/orb/models/event_search_params.rb +15 -11
  97. data/lib/orb/models/event_search_response.rb +27 -22
  98. data/lib/orb/models/event_update_params.rb +19 -13
  99. data/lib/orb/models/event_update_response.rb +2 -6
  100. data/lib/orb/models/events/backfill_close_params.rb +3 -8
  101. data/lib/orb/models/events/backfill_close_response.rb +34 -39
  102. data/lib/orb/models/events/backfill_create_params.rb +28 -32
  103. data/lib/orb/models/events/backfill_create_response.rb +34 -39
  104. data/lib/orb/models/events/backfill_fetch_params.rb +3 -8
  105. data/lib/orb/models/events/backfill_fetch_response.rb +34 -39
  106. data/lib/orb/models/events/backfill_list_params.rb +12 -15
  107. data/lib/orb/models/events/backfill_list_response.rb +34 -39
  108. data/lib/orb/models/events/backfill_revert_params.rb +3 -8
  109. data/lib/orb/models/events/backfill_revert_response.rb +34 -39
  110. data/lib/orb/models/events/event_volumes.rb +11 -17
  111. data/lib/orb/models/events/volume_list_params.rb +19 -22
  112. data/lib/orb/models/invoice.rb +589 -637
  113. data/lib/orb/models/invoice_create_params.rb +52 -61
  114. data/lib/orb/models/invoice_fetch_params.rb +3 -8
  115. data/lib/orb/models/invoice_fetch_upcoming_params.rb +4 -9
  116. data/lib/orb/models/invoice_fetch_upcoming_response.rb +584 -631
  117. data/lib/orb/models/invoice_issue_params.rb +10 -14
  118. data/lib/orb/models/invoice_level_discount.rb +2 -3
  119. data/lib/orb/models/invoice_line_item_create_params.rb +19 -14
  120. data/lib/orb/models/invoice_line_item_create_response.rb +247 -269
  121. data/lib/orb/models/invoice_list_params.rb +51 -66
  122. data/lib/orb/models/invoice_mark_paid_params.rb +9 -11
  123. data/lib/orb/models/invoice_pay_params.rb +3 -8
  124. data/lib/orb/models/invoice_update_params.rb +9 -9
  125. data/lib/orb/models/invoice_void_params.rb +3 -8
  126. data/lib/orb/models/item.rb +14 -25
  127. data/lib/orb/models/item_create_params.rb +5 -9
  128. data/lib/orb/models/item_fetch_params.rb +3 -8
  129. data/lib/orb/models/item_list_params.rb +12 -15
  130. data/lib/orb/models/item_update_params.rb +10 -22
  131. data/lib/orb/models/metric_create_params.rb +17 -13
  132. data/lib/orb/models/metric_fetch_params.rb +3 -8
  133. data/lib/orb/models/metric_list_params.rb +20 -30
  134. data/lib/orb/models/metric_update_params.rb +9 -9
  135. data/lib/orb/models/pagination_metadata.rb +3 -7
  136. data/lib/orb/models/percentage_discount.rb +15 -14
  137. data/lib/orb/models/plan.rb +250 -279
  138. data/lib/orb/models/plan_create_params.rb +1623 -1984
  139. data/lib/orb/models/plan_fetch_params.rb +3 -8
  140. data/lib/orb/models/plan_list_params.rb +25 -42
  141. data/lib/orb/models/plan_update_params.rb +12 -10
  142. data/lib/orb/models/plans/external_plan_id_fetch_params.rb +3 -8
  143. data/lib/orb/models/plans/external_plan_id_update_params.rb +12 -10
  144. data/lib/orb/models/price.rb +2709 -3820
  145. data/lib/orb/models/price_create_params.rb +203 -244
  146. data/lib/orb/models/price_evaluate_params.rb +21 -30
  147. data/lib/orb/models/price_evaluate_response.rb +2 -6
  148. data/lib/orb/models/price_fetch_params.rb +3 -8
  149. data/lib/orb/models/price_list_params.rb +12 -15
  150. data/lib/orb/models/price_update_params.rb +9 -9
  151. data/lib/orb/models/prices/external_price_id_fetch_params.rb +3 -8
  152. data/lib/orb/models/prices/external_price_id_update_params.rb +9 -9
  153. data/lib/orb/models/subscription.rb +343 -382
  154. data/lib/orb/models/subscription_cancel_params.rb +16 -16
  155. data/lib/orb/models/subscription_cancel_response.rb +339 -377
  156. data/lib/orb/models/subscription_change_apply_params.rb +7 -10
  157. data/lib/orb/models/subscription_change_apply_response.rb +365 -398
  158. data/lib/orb/models/subscription_change_cancel_params.rb +3 -8
  159. data/lib/orb/models/subscription_change_cancel_response.rb +365 -398
  160. data/lib/orb/models/subscription_change_retrieve_params.rb +3 -8
  161. data/lib/orb/models/subscription_change_retrieve_response.rb +366 -398
  162. data/lib/orb/models/subscription_create_params.rb +3771 -4402
  163. data/lib/orb/models/subscription_create_response.rb +339 -377
  164. data/lib/orb/models/subscription_fetch_costs_params.rb +17 -17
  165. data/lib/orb/models/subscription_fetch_costs_response.rb +22 -26
  166. data/lib/orb/models/subscription_fetch_params.rb +3 -8
  167. data/lib/orb/models/subscription_fetch_schedule_params.rb +20 -30
  168. data/lib/orb/models/subscription_fetch_schedule_response.rb +15 -17
  169. data/lib/orb/models/subscription_fetch_usage_params.rb +32 -43
  170. data/lib/orb/models/subscription_list_params.rb +28 -41
  171. data/lib/orb/models/subscription_price_intervals_params.rb +2018 -2472
  172. data/lib/orb/models/subscription_price_intervals_response.rb +342 -377
  173. data/lib/orb/models/subscription_schedule_plan_change_params.rb +3764 -4392
  174. data/lib/orb/models/subscription_schedule_plan_change_response.rb +342 -377
  175. data/lib/orb/models/subscription_trigger_phase_params.rb +12 -10
  176. data/lib/orb/models/subscription_trigger_phase_response.rb +341 -377
  177. data/lib/orb/models/subscription_unschedule_cancellation_params.rb +3 -8
  178. data/lib/orb/models/subscription_unschedule_cancellation_response.rb +342 -377
  179. data/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_params.rb +5 -9
  180. data/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rb +343 -377
  181. data/lib/orb/models/subscription_unschedule_pending_plan_changes_params.rb +3 -8
  182. data/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rb +343 -377
  183. data/lib/orb/models/subscription_update_fixed_fee_quantity_params.rb +22 -33
  184. data/lib/orb/models/subscription_update_fixed_fee_quantity_response.rb +342 -377
  185. data/lib/orb/models/subscription_update_params.rb +21 -23
  186. data/lib/orb/models/subscription_update_trial_params.rb +15 -18
  187. data/lib/orb/models/subscription_update_trial_response.rb +341 -377
  188. data/lib/orb/models/subscription_usage.rb +37 -80
  189. data/lib/orb/models/subscriptions.rb +3 -7
  190. data/lib/orb/models/top_level_ping_params.rb +3 -8
  191. data/lib/orb/models/top_level_ping_response.rb +2 -6
  192. data/lib/orb/models/trial_discount.rb +16 -24
  193. data/lib/orb/models/usage_discount.rb +15 -14
  194. data/lib/orb/request_options.rb +3 -4
  195. data/lib/orb/resources/alerts.rb +48 -17
  196. data/lib/orb/resources/coupons/subscriptions.rb +9 -2
  197. data/lib/orb/resources/coupons.rb +25 -7
  198. data/lib/orb/resources/credit_notes.rb +17 -4
  199. data/lib/orb/resources/customers/balance_transactions.rb +18 -3
  200. data/lib/orb/resources/customers/costs.rb +26 -8
  201. data/lib/orb/resources/customers/credits/ledger.rb +108 -28
  202. data/lib/orb/resources/customers/credits/top_ups.rb +67 -20
  203. data/lib/orb/resources/customers/credits.rb +28 -8
  204. data/lib/orb/resources/customers.rb +135 -36
  205. data/lib/orb/resources/dimensional_price_groups.rb +19 -4
  206. data/lib/orb/resources/events/backfills.rb +32 -9
  207. data/lib/orb/resources/events/volume.rb +14 -4
  208. data/lib/orb/resources/events.rb +40 -11
  209. data/lib/orb/resources/invoice_line_items.rb +16 -6
  210. data/lib/orb/resources/invoices.rb +77 -17
  211. data/lib/orb/resources/items.rb +10 -3
  212. data/lib/orb/resources/metrics.rb +33 -8
  213. data/lib/orb/resources/plans/external_plan_id.rb +10 -2
  214. data/lib/orb/resources/plans.rb +47 -11
  215. data/lib/orb/resources/prices/external_price_id.rb +7 -1
  216. data/lib/orb/resources/prices.rb +97 -22
  217. data/lib/orb/resources/subscription_changes.rb +5 -2
  218. data/lib/orb/resources/subscriptions.rb +292 -78
  219. data/lib/orb/version.rb +1 -1
  220. data/lib/orb.rb +2 -10
  221. data/rbi/lib/orb/client.rbi +4 -4
  222. data/rbi/lib/orb/file_part.rbi +34 -0
  223. data/rbi/lib/orb/internal/transport/base_client.rbi +17 -3
  224. data/rbi/lib/orb/internal/type/array_of.rbi +3 -0
  225. data/rbi/lib/orb/internal/type/base_model.rbi +7 -1
  226. data/rbi/lib/orb/internal/type/base_page.rbi +2 -0
  227. data/rbi/lib/orb/internal/type/enum.rbi +3 -6
  228. data/rbi/lib/orb/internal/type/{io_like.rbi → file_input.rbi} +5 -2
  229. data/rbi/lib/orb/internal/type/hash_of.rbi +3 -0
  230. data/rbi/lib/orb/internal/type/union.rbi +3 -0
  231. data/rbi/lib/orb/internal/util.rbi +24 -19
  232. data/rbi/lib/orb/internal.rbi +0 -1
  233. data/rbi/lib/orb/models/alert.rbi +28 -8
  234. data/rbi/lib/orb/models/alert_create_for_customer_params.rbi +16 -6
  235. data/rbi/lib/orb/models/alert_create_for_external_customer_params.rbi +16 -6
  236. data/rbi/lib/orb/models/alert_create_for_subscription_params.rbi +16 -6
  237. data/rbi/lib/orb/models/alert_disable_params.rbi +5 -2
  238. data/rbi/lib/orb/models/alert_enable_params.rbi +5 -2
  239. data/rbi/lib/orb/models/alert_list_params.rbi +6 -0
  240. data/rbi/lib/orb/models/alert_update_params.rbi +11 -4
  241. data/rbi/lib/orb/models/amount_discount.rbi +10 -4
  242. data/rbi/lib/orb/models/billable_metric.rbi +16 -3
  243. data/rbi/lib/orb/models/billing_cycle_relative_date.rbi +1 -1
  244. data/rbi/lib/orb/models/coupon.rbi +10 -3
  245. data/rbi/lib/orb/models/coupon_create_params.rbi +6 -3
  246. data/rbi/lib/orb/models/coupon_list_params.rbi +13 -3
  247. data/rbi/lib/orb/models/coupons/subscription_list_params.rbi +8 -2
  248. data/rbi/lib/orb/models/credit_note.rbi +44 -12
  249. data/rbi/lib/orb/models/credit_note_create_params.rbi +15 -6
  250. data/rbi/lib/orb/models/credit_note_list_params.rbi +3 -0
  251. data/rbi/lib/orb/models/customer.rbi +130 -11
  252. data/rbi/lib/orb/models/customer_create_params.rbi +142 -8
  253. data/rbi/lib/orb/models/customer_list_params.rbi +3 -0
  254. data/rbi/lib/orb/models/customer_update_by_external_id_params.rbi +140 -8
  255. data/rbi/lib/orb/models/customer_update_params.rbi +140 -8
  256. data/rbi/lib/orb/models/customers/balance_transaction_create_params.rbi +8 -4
  257. data/rbi/lib/orb/models/customers/balance_transaction_create_response.rbi +18 -8
  258. data/rbi/lib/orb/models/customers/balance_transaction_list_params.rbi +3 -0
  259. data/rbi/lib/orb/models/customers/balance_transaction_list_response.rbi +18 -8
  260. data/rbi/lib/orb/models/customers/cost_list_by_external_id_params.rbi +9 -5
  261. data/rbi/lib/orb/models/customers/cost_list_by_external_id_response.rbi +21 -4
  262. data/rbi/lib/orb/models/customers/cost_list_params.rbi +9 -5
  263. data/rbi/lib/orb/models/customers/cost_list_response.rbi +21 -4
  264. data/rbi/lib/orb/models/customers/credit_list_by_external_id_params.rbi +13 -3
  265. data/rbi/lib/orb/models/customers/credit_list_by_external_id_response.rbi +1 -2
  266. data/rbi/lib/orb/models/customers/credit_list_params.rbi +13 -3
  267. data/rbi/lib/orb/models/customers/credit_list_response.rbi +1 -2
  268. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rbi +40 -18
  269. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rbi +35 -56
  270. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_params.rbi +40 -6
  271. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_response.rbi +35 -56
  272. data/rbi/lib/orb/models/customers/credits/ledger_list_by_external_id_params.rbi +6 -16
  273. data/rbi/lib/orb/models/customers/credits/ledger_list_by_external_id_response.rbi +35 -56
  274. data/rbi/lib/orb/models/customers/credits/ledger_list_params.rbi +6 -4
  275. data/rbi/lib/orb/models/customers/credits/ledger_list_response.rbi +35 -56
  276. data/rbi/lib/orb/models/customers/credits/top_up_create_by_external_id_params.rbi +27 -10
  277. data/rbi/lib/orb/models/customers/credits/top_up_create_by_external_id_response.rbi +25 -10
  278. data/rbi/lib/orb/models/customers/credits/top_up_create_params.rbi +27 -4
  279. data/rbi/lib/orb/models/customers/credits/top_up_create_response.rbi +25 -10
  280. data/rbi/lib/orb/models/customers/credits/top_up_list_by_external_id_params.rbi +8 -2
  281. data/rbi/lib/orb/models/customers/credits/top_up_list_by_external_id_response.rbi +25 -10
  282. data/rbi/lib/orb/models/customers/credits/top_up_list_params.rbi +8 -2
  283. data/rbi/lib/orb/models/customers/credits/top_up_list_response.rbi +25 -4
  284. data/rbi/lib/orb/models/dimensional_price_group.rbi +11 -3
  285. data/rbi/lib/orb/models/dimensional_price_group_create_params.rbi +4 -0
  286. data/rbi/lib/orb/models/dimensional_price_group_list_params.rbi +8 -2
  287. data/rbi/lib/orb/models/evaluate_price_group.rbi +8 -2
  288. data/rbi/lib/orb/models/event_deprecate_response.rbi +4 -2
  289. data/rbi/lib/orb/models/event_ingest_params.rbi +22 -5
  290. data/rbi/lib/orb/models/event_ingest_response.rbi +15 -4
  291. data/rbi/lib/orb/models/event_search_params.rbi +14 -2
  292. data/rbi/lib/orb/models/event_search_response.rbi +14 -3
  293. data/rbi/lib/orb/models/event_update_params.rbi +10 -3
  294. data/rbi/lib/orb/models/event_update_response.rbi +4 -2
  295. data/rbi/lib/orb/models/events/backfill_close_response.rbi +14 -2
  296. data/rbi/lib/orb/models/events/backfill_create_params.rbi +18 -0
  297. data/rbi/lib/orb/models/events/backfill_create_response.rbi +14 -2
  298. data/rbi/lib/orb/models/events/backfill_fetch_response.rbi +14 -2
  299. data/rbi/lib/orb/models/events/backfill_list_params.rbi +8 -2
  300. data/rbi/lib/orb/models/events/backfill_list_response.rbi +14 -2
  301. data/rbi/lib/orb/models/events/backfill_revert_response.rbi +14 -2
  302. data/rbi/lib/orb/models/events/event_volumes.rbi +6 -2
  303. data/rbi/lib/orb/models/events/volume_list_params.rbi +18 -2
  304. data/rbi/lib/orb/models/invoice.rbi +375 -46
  305. data/rbi/lib/orb/models/invoice_create_params.rbi +38 -6
  306. data/rbi/lib/orb/models/invoice_fetch_upcoming_response.rbi +375 -66
  307. data/rbi/lib/orb/models/invoice_issue_params.rbi +9 -2
  308. data/rbi/lib/orb/models/invoice_line_item_create_params.rbi +16 -2
  309. data/rbi/lib/orb/models/invoice_line_item_create_response.rbi +141 -20
  310. data/rbi/lib/orb/models/invoice_list_params.rbi +9 -2
  311. data/rbi/lib/orb/models/invoice_mark_paid_params.rbi +9 -2
  312. data/rbi/lib/orb/models/invoice_update_params.rbi +7 -2
  313. data/rbi/lib/orb/models/item.rbi +1 -2
  314. data/rbi/lib/orb/models/item_create_params.rbi +5 -2
  315. data/rbi/lib/orb/models/item_list_params.rbi +8 -2
  316. data/rbi/lib/orb/models/item_update_params.rbi +1 -8
  317. data/rbi/lib/orb/models/metric_create_params.rbi +15 -2
  318. data/rbi/lib/orb/models/metric_list_params.rbi +3 -0
  319. data/rbi/lib/orb/models/metric_update_params.rbi +7 -2
  320. data/rbi/lib/orb/models/percentage_discount.rbi +11 -4
  321. data/rbi/lib/orb/models/plan.rbi +102 -15
  322. data/rbi/lib/orb/models/plan_create_params.rbi +997 -679
  323. data/rbi/lib/orb/models/plan_list_params.rbi +5 -1
  324. data/rbi/lib/orb/models/plan_update_params.rbi +11 -2
  325. data/rbi/lib/orb/models/plans/external_plan_id_update_params.rbi +11 -2
  326. data/rbi/lib/orb/models/price.rbi +717 -688
  327. data/rbi/lib/orb/models/price_create_params.rbi +137 -53
  328. data/rbi/lib/orb/models/price_evaluate_params.rbi +10 -0
  329. data/rbi/lib/orb/models/price_list_params.rbi +8 -2
  330. data/rbi/lib/orb/models/price_update_params.rbi +7 -2
  331. data/rbi/lib/orb/models/prices/external_price_id_update_params.rbi +7 -2
  332. data/rbi/lib/orb/models/subscription.rbi +174 -11
  333. data/rbi/lib/orb/models/subscription_cancel_params.rbi +8 -5
  334. data/rbi/lib/orb/models/subscription_cancel_response.rbi +187 -14
  335. data/rbi/lib/orb/models/subscription_change_apply_params.rbi +7 -2
  336. data/rbi/lib/orb/models/subscription_change_apply_response.rbi +199 -18
  337. data/rbi/lib/orb/models/subscription_change_cancel_response.rbi +199 -18
  338. data/rbi/lib/orb/models/subscription_change_retrieve_response.rbi +199 -18
  339. data/rbi/lib/orb/models/subscription_create_params.rbi +2282 -1536
  340. data/rbi/lib/orb/models/subscription_create_response.rbi +187 -14
  341. data/rbi/lib/orb/models/subscription_fetch_costs_params.rbi +9 -5
  342. data/rbi/lib/orb/models/subscription_fetch_costs_response.rbi +21 -4
  343. data/rbi/lib/orb/models/subscription_fetch_schedule_params.rbi +3 -0
  344. data/rbi/lib/orb/models/subscription_fetch_schedule_response.rbi +8 -2
  345. data/rbi/lib/orb/models/subscription_fetch_usage_params.rbi +13 -4
  346. data/rbi/lib/orb/models/subscription_list_params.rbi +4 -2
  347. data/rbi/lib/orb/models/subscription_price_intervals_params.rbi +1228 -861
  348. data/rbi/lib/orb/models/subscription_price_intervals_response.rbi +187 -14
  349. data/rbi/lib/orb/models/subscription_schedule_plan_change_params.rbi +2288 -1544
  350. data/rbi/lib/orb/models/subscription_schedule_plan_change_response.rbi +187 -14
  351. data/rbi/lib/orb/models/subscription_trigger_phase_params.rbi +10 -2
  352. data/rbi/lib/orb/models/subscription_trigger_phase_response.rbi +187 -14
  353. data/rbi/lib/orb/models/subscription_unschedule_cancellation_response.rbi +187 -14
  354. data/rbi/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_params.rbi +5 -2
  355. data/rbi/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rbi +187 -20
  356. data/rbi/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rbi +187 -14
  357. data/rbi/lib/orb/models/subscription_update_fixed_fee_quantity_params.rbi +11 -2
  358. data/rbi/lib/orb/models/subscription_update_fixed_fee_quantity_response.rbi +187 -14
  359. data/rbi/lib/orb/models/subscription_update_params.rbi +15 -0
  360. data/rbi/lib/orb/models/subscription_update_trial_params.rbi +11 -5
  361. data/rbi/lib/orb/models/subscription_update_trial_response.rbi +187 -14
  362. data/rbi/lib/orb/models/subscription_usage.rbi +2 -16
  363. data/rbi/lib/orb/models/trial_discount.rbi +5 -1
  364. data/rbi/lib/orb/models/usage_discount.rbi +11 -3
  365. data/sig/orb/file_part.rbs +21 -0
  366. data/sig/orb/internal/transport/base_client.rbs +9 -3
  367. data/sig/orb/internal/type/array_of.rbs +2 -0
  368. data/sig/orb/internal/type/base_model.rbs +4 -0
  369. data/sig/orb/internal/type/enum.rbs +2 -2
  370. data/sig/orb/internal/type/{io_like.rbs → file_input.rbs} +1 -1
  371. data/sig/orb/internal/type/hash_of.rbs +2 -0
  372. data/sig/orb/internal/type/union.rbs +2 -0
  373. data/sig/orb/internal/util.rbs +14 -12
  374. metadata +8 -5
@@ -7,28 +7,35 @@ module Orb
7
7
  #
8
8
  # @abstract
9
9
  #
10
- # Either `Pathname` or `StringIO`.
11
- class IOLike
10
+ # Either `Pathname` or `StringIO`, or `IO`, or `Orb::Internal::Type::FileInput`.
11
+ #
12
+ # Note: when `IO` is used, all retries are disabled, since many IO` streams are
13
+ # not rewindable.
14
+ class FileInput
12
15
  extend Orb::Internal::Type::Converter
13
16
 
14
17
  private_class_method :new
15
18
 
19
+ # @api public
20
+ #
16
21
  # @param other [Object]
17
22
  #
18
23
  # @return [Boolean]
19
24
  def self.===(other)
20
25
  case other
21
- in StringIO | Pathname | IO
26
+ in Pathname | StringIO | IO | String | Orb::FilePart
22
27
  true
23
28
  else
24
29
  false
25
30
  end
26
31
  end
27
32
 
33
+ # @api public
34
+ #
28
35
  # @param other [Object]
29
36
  #
30
37
  # @return [Boolean]
31
- def self.==(other) = other.is_a?(Class) && other <= Orb::Internal::Type::IOLike
38
+ def self.==(other) = other.is_a?(Class) && other <= Orb::Internal::Type::FileInput
32
39
 
33
40
  class << self
34
41
  # @api private
@@ -59,17 +66,28 @@ module Orb
59
66
  end
60
67
  end
61
68
 
62
- # @!parse
63
- # # @api private
64
- # #
65
- # # @param value [Pathname, StringIO, IO, String, Object]
66
- # #
67
- # # @param state [Hash{Symbol=>Object}] .
68
- # #
69
- # # @option state [Boolean] :can_retry
70
- # #
71
- # # @return [Pathname, StringIO, IO, String, Object]
72
- # def dump(value, state:) = super
69
+ # @api private
70
+ #
71
+ # @param value [Pathname, StringIO, IO, String, Object]
72
+ #
73
+ # @param state [Hash{Symbol=>Object}] .
74
+ #
75
+ # @option state [Boolean] :can_retry
76
+ #
77
+ # @return [Pathname, StringIO, IO, String, Object]
78
+ def dump(value, state:)
79
+ # rubocop:disable Lint/DuplicateBranch
80
+ case value
81
+ in IO
82
+ state[:can_retry] = false
83
+ in Orb::FilePart if value.content.is_a?(IO)
84
+ state[:can_retry] = false
85
+ else
86
+ end
87
+ # rubocop:enable Lint/DuplicateBranch
88
+
89
+ value
90
+ end
73
91
  end
74
92
  end
75
93
  end
@@ -28,8 +28,12 @@ module Orb
28
28
  # @option spec [Proc] :union
29
29
  #
30
30
  # @option spec [Boolean] :"nil?"
31
+ #
32
+ # @return [Orb::Internal::Type::HashOf]
31
33
  def self.[](...) = new(...)
32
34
 
35
+ # @api public
36
+ #
33
37
  # @param other [Object]
34
38
  #
35
39
  # @return [Boolean]
@@ -50,6 +54,8 @@ module Orb
50
54
  end
51
55
  end
52
56
 
57
+ # @api public
58
+ #
53
59
  # @param other [Object]
54
60
  #
55
61
  # @return [Boolean]
@@ -59,6 +65,11 @@ module Orb
59
65
  # rubocop:enable Layout/LineLength
60
66
  end
61
67
 
68
+ # @api public
69
+ #
70
+ # @return [Integer]
71
+ def hash = [self.class, item_type].hash
72
+
62
73
  # @api private
63
74
  #
64
75
  # @param value [Hash{Object=>Object}, Object]
@@ -12,9 +12,8 @@ module Orb
12
12
 
13
13
  # @param mod [Module]
14
14
  def self.included(mod)
15
- return unless mod <= Orb::Internal::Type::BaseModel
15
+ raise ArgumentError.new(mod) unless mod <= Orb::Internal::Type::BaseModel
16
16
 
17
- mod.extend(Orb::Internal::Type::RequestParameters::Converter)
18
17
  mod.optional(:request_options, Orb::RequestOptions)
19
18
  end
20
19
 
@@ -58,7 +58,7 @@ module Orb
58
58
  #
59
59
  # @return [Array<Array(Symbol, Object)>]
60
60
  protected def derefed_variants
61
- @known_variants.map { |key, variant_fn| [key, variant_fn.call] }
61
+ known_variants.map { |key, variant_fn| [key, variant_fn.call] }
62
62
  end
63
63
 
64
64
  # All of the specified variants for this union.
@@ -127,6 +127,8 @@ module Orb
127
127
  # rubocop:disable Style/HashEachMethods
128
128
  # rubocop:disable Style/CaseEquality
129
129
 
130
+ # @api public
131
+ #
130
132
  # @param other [Object]
131
133
  #
132
134
  # @return [Boolean]
@@ -136,6 +138,8 @@ module Orb
136
138
  end
137
139
  end
138
140
 
141
+ # @api public
142
+ #
139
143
  # @param other [Object]
140
144
  #
141
145
  # @return [Boolean]
@@ -143,6 +147,11 @@ module Orb
143
147
  Orb::Internal::Type::Union === other && other.derefed_variants == derefed_variants
144
148
  end
145
149
 
150
+ # @api public
151
+ #
152
+ # @return [Integer]
153
+ def hash = variants.hash
154
+
146
155
  # @api private
147
156
  #
148
157
  # @param value [Object]
@@ -15,11 +15,15 @@ module Orb
15
15
 
16
16
  private_class_method :new
17
17
 
18
+ # @api public
19
+ #
18
20
  # @param other [Object]
19
21
  #
20
22
  # @return [Boolean]
21
23
  def self.===(other) = true
22
24
 
25
+ # @api public
26
+ #
23
27
  # @param other [Object]
24
28
  #
25
29
  # @return [Boolean]
@@ -175,18 +175,17 @@ module Orb
175
175
  # @api private
176
176
  #
177
177
  # @param data [Hash{Symbol=>Object}, Array<Object>, Object]
178
- # @param pick [Symbol, Integer, Array<Symbol, Integer>, nil]
179
- # @param sentinel [Object, nil]
178
+ # @param pick [Symbol, Integer, Array<Symbol, Integer>, Proc, nil]
180
179
  # @param blk [Proc, nil]
181
180
  #
182
181
  # @return [Object, nil]
183
- def dig(data, pick, sentinel = nil, &blk)
184
- case [data, pick, blk]
185
- in [_, nil, nil]
182
+ def dig(data, pick, &blk)
183
+ case [data, pick]
184
+ in [_, nil]
186
185
  data
187
- in [Hash, Symbol, _] | [Array, Integer, _]
188
- blk.nil? ? data.fetch(pick, sentinel) : data.fetch(pick, &blk)
189
- in [Hash | Array, Array, _]
186
+ in [Hash, Symbol] | [Array, Integer]
187
+ data.fetch(pick) { blk&.call }
188
+ in [Hash | Array, Array]
190
189
  pick.reduce(data) do |acc, key|
191
190
  case acc
192
191
  in Hash if acc.key?(key)
@@ -194,11 +193,13 @@ module Orb
194
193
  in Array if key.is_a?(Integer) && key < acc.length
195
194
  acc[key]
196
195
  else
197
- return blk.nil? ? sentinel : blk.call
196
+ return blk&.call
198
197
  end
199
198
  end
200
- in _
201
- blk.nil? ? sentinel : blk.call
199
+ in [_, Proc]
200
+ pick.call(data)
201
+ else
202
+ blk&.call
202
203
  end
203
204
  end
204
205
  end
@@ -348,27 +349,6 @@ module Orb
348
349
  end
349
350
  end
350
351
 
351
- # @api private
352
- class SerializationAdapter
353
- # @return [Pathname, IO]
354
- attr_reader :inner
355
-
356
- # @param a [Object]
357
- #
358
- # @return [String]
359
- def to_json(*a) = (inner.is_a?(IO) ? inner.read : inner.read(binmode: true)).to_json(*a)
360
-
361
- # @param a [Object]
362
- #
363
- # @return [String]
364
- def to_yaml(*a) = (inner.is_a?(IO) ? inner.read : inner.read(binmode: true)).to_yaml(*a)
365
-
366
- # @api private
367
- #
368
- # @param inner [Pathname, IO]
369
- def initialize(inner) = @inner = inner
370
- end
371
-
372
352
  # @api private
373
353
  #
374
354
  # An adapter that satisfies the IO interface required by `::IO.copy_stream`
@@ -471,46 +451,44 @@ module Orb
471
451
  end
472
452
  end
473
453
 
454
+ # @type [Regexp]
455
+ JSON_CONTENT = %r{^application/(?:vnd(?:\.[^.]+)*\+)?json(?!l)}
456
+ # @type [Regexp]
457
+ JSONL_CONTENT = %r{^application/(?:x-)?jsonl}
458
+
474
459
  class << self
475
460
  # @api private
476
461
  #
477
462
  # @param y [Enumerator::Yielder]
478
- # @param boundary [String]
479
- # @param key [Symbol, String]
480
463
  # @param val [Object]
481
464
  # @param closing [Array<Proc>]
482
- private def write_multipart_chunk(y, boundary:, key:, val:, closing:)
483
- val = val.inner if val.is_a?(Orb::Internal::Util::SerializationAdapter)
465
+ # @param content_type [String, nil]
466
+ private def write_multipart_content(y, val:, closing:, content_type: nil)
467
+ content_type ||= "application/octet-stream"
484
468
 
485
- y << "--#{boundary}\r\n"
486
- y << "Content-Disposition: form-data"
487
- unless key.nil?
488
- name = ERB::Util.url_encode(key.to_s)
489
- y << "; name=\"#{name}\""
490
- end
491
- case val
492
- in Pathname | IO
493
- filename = ERB::Util.url_encode(File.basename(val.to_path))
494
- y << "; filename=\"#{filename}\""
495
- else
496
- end
497
- y << "\r\n"
498
469
  case val
470
+ in Orb::FilePart
471
+ return write_multipart_content(
472
+ y,
473
+ val: val.content,
474
+ closing: closing,
475
+ content_type: val.content_type
476
+ )
499
477
  in Pathname
500
- y << "Content-Type: application/octet-stream\r\n\r\n"
478
+ y << "Content-Type: #{content_type}\r\n\r\n"
501
479
  io = val.open(binmode: true)
502
480
  closing << io.method(:close)
503
481
  IO.copy_stream(io, y)
504
482
  in IO
505
- y << "Content-Type: application/octet-stream\r\n\r\n"
483
+ y << "Content-Type: #{content_type}\r\n\r\n"
506
484
  IO.copy_stream(val, y)
507
485
  in StringIO
508
- y << "Content-Type: application/octet-stream\r\n\r\n"
486
+ y << "Content-Type: #{content_type}\r\n\r\n"
509
487
  y << val.string
510
488
  in String
511
- y << "Content-Type: application/octet-stream\r\n\r\n"
489
+ y << "Content-Type: #{content_type}\r\n\r\n"
512
490
  y << val.to_s
513
- in _ if primitive?(val)
491
+ in -> { primitive?(_1) }
514
492
  y << "Content-Type: text/plain\r\n\r\n"
515
493
  y << val.to_s
516
494
  else
@@ -520,6 +498,36 @@ module Orb
520
498
  y << "\r\n"
521
499
  end
522
500
 
501
+ # @api private
502
+ #
503
+ # @param y [Enumerator::Yielder]
504
+ # @param boundary [String]
505
+ # @param key [Symbol, String]
506
+ # @param val [Object]
507
+ # @param closing [Array<Proc>]
508
+ private def write_multipart_chunk(y, boundary:, key:, val:, closing:)
509
+ y << "--#{boundary}\r\n"
510
+ y << "Content-Disposition: form-data"
511
+
512
+ unless key.nil?
513
+ name = ERB::Util.url_encode(key.to_s)
514
+ y << "; name=\"#{name}\""
515
+ end
516
+
517
+ case val
518
+ in Orb::FilePart unless val.filename.nil?
519
+ filename = ERB::Util.url_encode(val.filename)
520
+ y << "; filename=\"#{filename}\""
521
+ in Pathname | IO
522
+ filename = ERB::Util.url_encode(File.basename(val.to_path))
523
+ y << "; filename=\"#{filename}\""
524
+ else
525
+ end
526
+ y << "\r\n"
527
+
528
+ write_multipart_content(y, val: val, closing: closing)
529
+ end
530
+
523
531
  # @api private
524
532
  #
525
533
  # @param body [Object]
@@ -560,14 +568,12 @@ module Orb
560
568
  # @return [Object]
561
569
  def encode_content(headers, body)
562
570
  content_type = headers["content-type"]
563
- body = body.inner if body.is_a?(Orb::Internal::Util::SerializationAdapter)
564
-
565
571
  case [content_type, body]
566
- in [%r{^application/(?:vnd\.api\+)?json}, Hash | Array | -> { primitive?(_1) }]
572
+ in [Orb::Internal::Util::JSON_CONTENT, Hash | Array | -> { primitive?(_1) }]
567
573
  [headers, JSON.fast_generate(body)]
568
- in [%r{^application/(?:x-)?jsonl}, Enumerable] unless body.is_a?(StringIO) || body.is_a?(IO)
574
+ in [Orb::Internal::Util::JSONL_CONTENT, Enumerable] unless body.is_a?(Orb::Internal::Type::FileInput)
569
575
  [headers, body.lazy.map { JSON.fast_generate(_1) }]
570
- in [%r{^multipart/form-data}, Hash | Pathname | StringIO | IO]
576
+ in [%r{^multipart/form-data}, Hash | Orb::Internal::Type::FileInput]
571
577
  boundary, strio = encode_multipart_streaming(body)
572
578
  headers = {**headers, "content-type" => "#{content_type}; boundary=#{boundary}"}
573
579
  [headers, strio]
@@ -575,6 +581,8 @@ module Orb
575
581
  [headers, body.to_s]
576
582
  in [_, StringIO]
577
583
  [headers, body.string]
584
+ in [_, Orb::FilePart]
585
+ [headers, body.content]
578
586
  else
579
587
  [headers, body]
580
588
  end
@@ -611,7 +619,7 @@ module Orb
611
619
  # @return [Object]
612
620
  def decode_content(headers, stream:, suppress_error: false)
613
621
  case (content_type = headers["content-type"])
614
- in %r{^application/(?:vnd\.api\+)?json}
622
+ in Orb::Internal::Util::JSON_CONTENT
615
623
  json = stream.to_a.join
616
624
  begin
617
625
  JSON.parse(json, symbolize_names: true)
@@ -619,7 +627,7 @@ module Orb
619
627
  raise e unless suppress_error
620
628
  json
621
629
  end
622
- in %r{^application/(?:x-)?jsonl}
630
+ in Orb::Internal::Util::JSONL_CONTENT
623
631
  lines = decode_lines(stream)
624
632
  chain_fused(lines) do |y|
625
633
  lines.each { y << JSON.parse(_1, symbolize_names: true) }
data/lib/orb/internal.rb CHANGED
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Orb
4
- # @api private
5
4
  module Internal
6
5
  OMIT =
7
6
  Object.new.tap do
@@ -65,27 +65,36 @@ module Orb
65
65
  # @return [Symbol, Orb::Models::Alert::Type]
66
66
  required :type, enum: -> { Orb::Models::Alert::Type }
67
67
 
68
- # @!parse
69
- # # [Alerts within Orb](/product-catalog/configuring-alerts) monitor spending,
70
- # # usage, or credit balance and trigger webhooks when a threshold is exceeded.
71
- # #
72
- # # Alerts created through the API can be scoped to either customers or
73
- # # subscriptions.
74
- # #
75
- # # @param id [String]
76
- # # @param created_at [Time]
77
- # # @param currency [String, nil]
78
- # # @param customer [Orb::Models::Alert::Customer, nil]
79
- # # @param enabled [Boolean]
80
- # # @param metric [Orb::Models::Alert::Metric, nil]
81
- # # @param plan [Orb::Models::Alert::Plan, nil]
82
- # # @param subscription [Orb::Models::Alert::Subscription, nil]
83
- # # @param thresholds [Array<Orb::Models::Alert::Threshold>, nil]
84
- # # @param type [Symbol, Orb::Models::Alert::Type]
85
- # #
86
- # def initialize(id:, created_at:, currency:, customer:, enabled:, metric:, plan:, subscription:, thresholds:, type:, **) = super
87
-
88
- # def initialize: (Hash | Orb::Internal::Type::BaseModel) -> void
68
+ # @!method initialize(id:, created_at:, currency:, customer:, enabled:, metric:, plan:, subscription:, thresholds:, type:)
69
+ # Some parameter documentations has been truncated, see {Orb::Models::Alert} for
70
+ # more details.
71
+ #
72
+ # [Alerts within Orb](/product-catalog/configuring-alerts) monitor spending,
73
+ # usage, or credit balance and trigger webhooks when a threshold is exceeded.
74
+ #
75
+ # Alerts created through the API can be scoped to either customers or
76
+ # subscriptions.
77
+ #
78
+ # @param id [String] Also referred to as alert_id in this documentation.
79
+ #
80
+ # @param created_at [Time] The creation time of the resource in Orb.
81
+ #
82
+ # @param currency [String, nil] The name of the currency the credit balance or invoice cost is denominated in.
83
+ #
84
+ # @param customer [Orb::Models::Alert::Customer, nil] The customer the alert applies to.
85
+ #
86
+ # @param enabled [Boolean] Whether the alert is enabled or disabled.
87
+ #
88
+ # @param metric [Orb::Models::Alert::Metric, nil] The metric the alert applies to.
89
+ #
90
+ # @param plan [Orb::Models::Alert::Plan, nil] The plan the alert applies to.
91
+ #
92
+ # @param subscription [Orb::Models::Alert::Subscription, nil] The subscription the alert applies to.
93
+ #
94
+ # @param thresholds [Array<Orb::Models::Alert::Threshold>, nil] The thresholds that define the conditions under which the alert will be triggere
95
+ # ...
96
+ #
97
+ # @param type [Symbol, Orb::Models::Alert::Type] The type of alert. This must be a valid alert type.
89
98
 
90
99
  # @see Orb::Models::Alert#customer
91
100
  class Customer < Orb::Internal::Type::BaseModel
@@ -99,15 +108,11 @@ module Orb
99
108
  # @return [String, nil]
100
109
  required :external_customer_id, String, nil?: true
101
110
 
102
- # @!parse
103
- # # The customer the alert applies to.
104
- # #
105
- # # @param id [String]
106
- # # @param external_customer_id [String, nil]
107
- # #
108
- # def initialize(id:, external_customer_id:, **) = super
109
-
110
- # def initialize: (Hash | Orb::Internal::Type::BaseModel) -> void
111
+ # @!method initialize(id:, external_customer_id:)
112
+ # The customer the alert applies to.
113
+ #
114
+ # @param id [String]
115
+ # @param external_customer_id [String, nil]
111
116
  end
112
117
 
113
118
  # @see Orb::Models::Alert#metric
@@ -117,14 +122,10 @@ module Orb
117
122
  # @return [String]
118
123
  required :id, String
119
124
 
120
- # @!parse
121
- # # The metric the alert applies to.
122
- # #
123
- # # @param id [String]
124
- # #
125
- # def initialize(id:, **) = super
126
-
127
- # def initialize: (Hash | Orb::Internal::Type::BaseModel) -> void
125
+ # @!method initialize(id:)
126
+ # The metric the alert applies to.
127
+ #
128
+ # @param id [String]
128
129
  end
129
130
 
130
131
  # @see Orb::Models::Alert#plan
@@ -152,17 +153,20 @@ module Orb
152
153
  # @return [String]
153
154
  required :plan_version, String
154
155
 
155
- # @!parse
156
- # # The plan the alert applies to.
157
- # #
158
- # # @param id [String, nil]
159
- # # @param external_plan_id [String, nil]
160
- # # @param name [String, nil]
161
- # # @param plan_version [String]
162
- # #
163
- # def initialize(id:, external_plan_id:, name:, plan_version:, **) = super
164
-
165
- # def initialize: (Hash | Orb::Internal::Type::BaseModel) -> void
156
+ # @!method initialize(id:, external_plan_id:, name:, plan_version:)
157
+ # Some parameter documentations has been truncated, see {Orb::Models::Alert::Plan}
158
+ # for more details.
159
+ #
160
+ # The plan the alert applies to.
161
+ #
162
+ # @param id [String, nil]
163
+ #
164
+ # @param external_plan_id [String, nil] An optional user-defined ID for this plan resource, used throughout the system a
165
+ # ...
166
+ #
167
+ # @param name [String, nil]
168
+ #
169
+ # @param plan_version [String]
166
170
  end
167
171
 
168
172
  # @see Orb::Models::Alert#subscription
@@ -172,14 +176,10 @@ module Orb
172
176
  # @return [String]
173
177
  required :id, String
174
178
 
175
- # @!parse
176
- # # The subscription the alert applies to.
177
- # #
178
- # # @param id [String]
179
- # #
180
- # def initialize(id:, **) = super
181
-
182
- # def initialize: (Hash | Orb::Internal::Type::BaseModel) -> void
179
+ # @!method initialize(id:)
180
+ # The subscription the alert applies to.
181
+ #
182
+ # @param id [String]
183
183
  end
184
184
 
185
185
  class Threshold < Orb::Internal::Type::BaseModel
@@ -191,15 +191,15 @@ module Orb
191
191
  # @return [Float]
192
192
  required :value, Float
193
193
 
194
- # @!parse
195
- # # Thresholds are used to define the conditions under which an alert will be
196
- # # triggered.
197
- # #
198
- # # @param value [Float]
199
- # #
200
- # def initialize(value:, **) = super
201
-
202
- # def initialize: (Hash | Orb::Internal::Type::BaseModel) -> void
194
+ # @!method initialize(value:)
195
+ # Some parameter documentations has been truncated, see
196
+ # {Orb::Models::Alert::Threshold} for more details.
197
+ #
198
+ # Thresholds are used to define the conditions under which an alert will be
199
+ # triggered.
200
+ #
201
+ # @param value [Float] The value at which an alert will fire. For credit balance alerts, the alert will
202
+ # ...
203
203
  end
204
204
 
205
205
  # The type of alert. This must be a valid alert type.
@@ -214,11 +214,8 @@ module Orb
214
214
  USAGE_EXCEEDED = :usage_exceeded
215
215
  COST_EXCEEDED = :cost_exceeded
216
216
 
217
- finalize!
218
-
219
- # @!parse
220
- # # @return [Array<Symbol>]
221
- # def self.values; end
217
+ # @!method self.values
218
+ # @return [Array<Symbol>]
222
219
  end
223
220
  end
224
221
  end
@@ -4,8 +4,7 @@ module Orb
4
4
  module Models
5
5
  # @see Orb::Resources::Alerts#create_for_customer
6
6
  class AlertCreateForCustomerParams < Orb::Internal::Type::BaseModel
7
- # @!parse
8
- # extend Orb::Internal::Type::RequestParameters::Converter
7
+ extend Orb::Internal::Type::RequestParameters::Converter
9
8
  include Orb::Internal::Type::RequestParameters
10
9
 
11
10
  # @!attribute currency
@@ -28,15 +27,14 @@ module Orb
28
27
  -> { Orb::Internal::Type::ArrayOf[Orb::Models::AlertCreateForCustomerParams::Threshold] },
29
28
  nil?: true
30
29
 
31
- # @!parse
32
- # # @param currency [String]
33
- # # @param type [Symbol, Orb::Models::AlertCreateForCustomerParams::Type]
34
- # # @param thresholds [Array<Orb::Models::AlertCreateForCustomerParams::Threshold>, nil]
35
- # # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}]
36
- # #
37
- # def initialize(currency:, type:, thresholds: nil, request_options: {}, **) = super
38
-
39
- # def initialize: (Hash | Orb::Internal::Type::BaseModel) -> void
30
+ # @!method initialize(currency:, type:, thresholds: nil, request_options: {})
31
+ # @param currency [String] The case sensitive currency or custom pricing unit to use for this alert.
32
+ #
33
+ # @param type [Symbol, Orb::Models::AlertCreateForCustomerParams::Type] The type of alert to create. This must be a valid alert type.
34
+ #
35
+ # @param thresholds [Array<Orb::Models::AlertCreateForCustomerParams::Threshold>, nil] The thresholds that define the values at which the alert will be triggered.
36
+ #
37
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}]
40
38
 
41
39
  # The type of alert to create. This must be a valid alert type.
42
40
  module Type
@@ -46,11 +44,8 @@ module Orb
46
44
  CREDIT_BALANCE_DROPPED = :credit_balance_dropped
47
45
  CREDIT_BALANCE_RECOVERED = :credit_balance_recovered
48
46
 
49
- finalize!
50
-
51
- # @!parse
52
- # # @return [Array<Symbol>]
53
- # def self.values; end
47
+ # @!method self.values
48
+ # @return [Array<Symbol>]
54
49
  end
55
50
 
56
51
  class Threshold < Orb::Internal::Type::BaseModel
@@ -62,15 +57,15 @@ module Orb
62
57
  # @return [Float]
63
58
  required :value, Float
64
59
 
65
- # @!parse
66
- # # Thresholds are used to define the conditions under which an alert will be
67
- # # triggered.
68
- # #
69
- # # @param value [Float]
70
- # #
71
- # def initialize(value:, **) = super
72
-
73
- # def initialize: (Hash | Orb::Internal::Type::BaseModel) -> void
60
+ # @!method initialize(value:)
61
+ # Some parameter documentations has been truncated, see
62
+ # {Orb::Models::AlertCreateForCustomerParams::Threshold} for more details.
63
+ #
64
+ # Thresholds are used to define the conditions under which an alert will be
65
+ # triggered.
66
+ #
67
+ # @param value [Float] The value at which an alert will fire. For credit balance alerts, the alert will
68
+ # ...
74
69
  end
75
70
  end
76
71
  end