orb-billing 1.14.0 → 1.15.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 (347) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -0
  3. data/lib/orb/client.rb +14 -0
  4. data/lib/orb/internal/transport/base_client.rb +5 -0
  5. data/lib/orb/internal/type/union.rb +13 -27
  6. data/lib/orb/models/accounting_provider_config.rb +14 -3
  7. data/lib/orb/models/adjustment_interval.rb +185 -3
  8. data/lib/orb/models/alert.rb +105 -1
  9. data/lib/orb/models/alert_create_for_subscription_params.rb +120 -7
  10. data/lib/orb/models/alert_update_params.rb +113 -1
  11. data/lib/orb/models/beta/external_plan_id_create_plan_version_params.rb +2419 -17109
  12. data/lib/orb/models/beta_create_plan_version_params.rb +2361 -16947
  13. data/lib/orb/models/changed_subscription_resources.rb +200 -10
  14. data/lib/orb/models/conversion_rate_config.rb +18 -0
  15. data/lib/orb/models/credit_block_list_invoices_response.rb +155 -1
  16. data/lib/orb/models/credit_block_retrieve_response.rb +150 -1
  17. data/lib/orb/models/customer.rb +111 -4
  18. data/lib/orb/models/customer_create_params.rb +6 -1
  19. data/lib/orb/models/customer_tax_id.rb +15 -1
  20. data/lib/orb/models/customer_update_by_external_id_params.rb +16 -2
  21. data/lib/orb/models/customer_update_params.rb +16 -2
  22. data/lib/orb/models/customers/credit_list_by_external_id_response.rb +155 -1
  23. data/lib/orb/models/customers/credit_list_response.rb +152 -1
  24. data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rb +4 -4
  25. data/lib/orb/models/customers/credits/ledger_create_entry_params.rb +4 -4
  26. data/lib/orb/models/dimensional_price_group.rb +1 -1
  27. data/lib/orb/models/discount.rb +145 -1
  28. data/lib/orb/models/event_ingest_params.rb +5 -2
  29. data/lib/orb/models/invoice.rb +198 -10
  30. data/lib/orb/models/invoice_create_params.rb +6 -5
  31. data/lib/orb/models/invoice_fetch_upcoming_response.rb +200 -10
  32. data/lib/orb/models/invoice_issue_summary_response.rb +9 -3
  33. data/lib/orb/models/invoice_level_discount.rb +145 -1
  34. data/lib/orb/models/invoice_line_item_create_response.rb +189 -5
  35. data/lib/orb/models/invoice_list_summary_response.rb +9 -3
  36. data/lib/orb/models/licenses/external_license_get_usage_params.rb +3 -3
  37. data/lib/orb/models/licenses/usage_get_all_usage_params.rb +3 -3
  38. data/lib/orb/models/licenses/usage_get_usage_params.rb +3 -3
  39. data/lib/orb/models/mutated_subscription.rb +169 -4
  40. data/lib/orb/models/new_allocation_price.rb +11 -1
  41. data/lib/orb/models/new_floating_bulk_price.rb +1 -3
  42. data/lib/orb/models/new_floating_bulk_with_proration_price.rb +1 -3
  43. data/lib/orb/models/new_floating_cumulative_grouped_bulk_price.rb +1 -3
  44. data/lib/orb/models/new_floating_grouped_allocation_price.rb +1 -3
  45. data/lib/orb/models/new_floating_grouped_tiered_package_price.rb +1 -3
  46. data/lib/orb/models/new_floating_grouped_tiered_price.rb +1 -3
  47. data/lib/orb/models/new_floating_grouped_with_metered_minimum_price.rb +1 -3
  48. data/lib/orb/models/new_floating_grouped_with_prorated_minimum_price.rb +1 -3
  49. data/lib/orb/models/new_floating_matrix_price.rb +1 -3
  50. data/lib/orb/models/new_floating_matrix_with_allocation_price.rb +1 -3
  51. data/lib/orb/models/new_floating_matrix_with_display_name_price.rb +1 -3
  52. data/lib/orb/models/new_floating_max_group_tiered_package_price.rb +1 -3
  53. data/lib/orb/models/new_floating_minimum_composite_price.rb +1 -3
  54. data/lib/orb/models/new_floating_package_price.rb +1 -3
  55. data/lib/orb/models/new_floating_package_with_allocation_price.rb +1 -3
  56. data/lib/orb/models/new_floating_scalable_matrix_with_tiered_pricing_price.rb +1 -3
  57. data/lib/orb/models/new_floating_scalable_matrix_with_unit_pricing_price.rb +1 -3
  58. data/lib/orb/models/new_floating_threshold_total_amount_price.rb +1 -3
  59. data/lib/orb/models/new_floating_tiered_package_price.rb +1 -3
  60. data/lib/orb/models/new_floating_tiered_package_with_minimum_price.rb +1 -3
  61. data/lib/orb/models/new_floating_tiered_price.rb +1 -3
  62. data/lib/orb/models/new_floating_tiered_with_minimum_price.rb +1 -3
  63. data/lib/orb/models/new_floating_tiered_with_proration_price.rb +1 -3
  64. data/lib/orb/models/new_floating_unit_price.rb +1 -3
  65. data/lib/orb/models/new_floating_unit_with_percent_price.rb +1 -3
  66. data/lib/orb/models/new_floating_unit_with_proration_price.rb +1 -3
  67. data/lib/orb/models/new_plan_bulk_price.rb +1 -1
  68. data/lib/orb/models/new_plan_bulk_with_proration_price.rb +1 -3
  69. data/lib/orb/models/new_plan_cumulative_grouped_bulk_price.rb +1 -3
  70. data/lib/orb/models/new_plan_grouped_allocation_price.rb +1 -3
  71. data/lib/orb/models/new_plan_grouped_tiered_package_price.rb +1 -3
  72. data/lib/orb/models/new_plan_grouped_tiered_price.rb +1 -3
  73. data/lib/orb/models/new_plan_grouped_with_metered_minimum_price.rb +1 -3
  74. data/lib/orb/models/new_plan_grouped_with_prorated_minimum_price.rb +1 -3
  75. data/lib/orb/models/new_plan_matrix_price.rb +1 -5
  76. data/lib/orb/models/new_plan_matrix_with_allocation_price.rb +1 -3
  77. data/lib/orb/models/new_plan_matrix_with_display_name_price.rb +1 -3
  78. data/lib/orb/models/new_plan_max_group_tiered_package_price.rb +1 -3
  79. data/lib/orb/models/new_plan_minimum_composite_price.rb +1 -3
  80. data/lib/orb/models/new_plan_package_price.rb +1 -5
  81. data/lib/orb/models/new_plan_package_with_allocation_price.rb +1 -3
  82. data/lib/orb/models/new_plan_scalable_matrix_with_tiered_pricing_price.rb +1 -3
  83. data/lib/orb/models/new_plan_scalable_matrix_with_unit_pricing_price.rb +1 -3
  84. data/lib/orb/models/new_plan_threshold_total_amount_price.rb +1 -3
  85. data/lib/orb/models/new_plan_tiered_package_price.rb +1 -3
  86. data/lib/orb/models/new_plan_tiered_package_with_minimum_price.rb +1 -3
  87. data/lib/orb/models/new_plan_tiered_price.rb +1 -5
  88. data/lib/orb/models/new_plan_tiered_with_minimum_price.rb +1 -3
  89. data/lib/orb/models/new_plan_unit_price.rb +1 -1
  90. data/lib/orb/models/new_plan_unit_with_percent_price.rb +1 -3
  91. data/lib/orb/models/new_plan_unit_with_proration_price.rb +1 -3
  92. data/lib/orb/models/new_subscription_bulk_price.rb +1 -3
  93. data/lib/orb/models/new_subscription_bulk_with_proration_price.rb +1 -3
  94. data/lib/orb/models/new_subscription_cumulative_grouped_bulk_price.rb +1 -3
  95. data/lib/orb/models/new_subscription_grouped_allocation_price.rb +1 -3
  96. data/lib/orb/models/new_subscription_grouped_tiered_package_price.rb +1 -3
  97. data/lib/orb/models/new_subscription_grouped_tiered_price.rb +1 -3
  98. data/lib/orb/models/new_subscription_grouped_with_metered_minimum_price.rb +1 -3
  99. data/lib/orb/models/new_subscription_grouped_with_prorated_minimum_price.rb +1 -3
  100. data/lib/orb/models/new_subscription_matrix_price.rb +1 -3
  101. data/lib/orb/models/new_subscription_matrix_with_allocation_price.rb +1 -3
  102. data/lib/orb/models/new_subscription_matrix_with_display_name_price.rb +1 -3
  103. data/lib/orb/models/new_subscription_max_group_tiered_package_price.rb +1 -3
  104. data/lib/orb/models/new_subscription_minimum_composite_price.rb +1 -3
  105. data/lib/orb/models/new_subscription_package_price.rb +1 -3
  106. data/lib/orb/models/new_subscription_package_with_allocation_price.rb +1 -3
  107. data/lib/orb/models/new_subscription_scalable_matrix_with_tiered_pricing_price.rb +1 -3
  108. data/lib/orb/models/new_subscription_scalable_matrix_with_unit_pricing_price.rb +1 -3
  109. data/lib/orb/models/new_subscription_threshold_total_amount_price.rb +1 -3
  110. data/lib/orb/models/new_subscription_tiered_package_price.rb +1 -3
  111. data/lib/orb/models/new_subscription_tiered_package_with_minimum_price.rb +1 -3
  112. data/lib/orb/models/new_subscription_tiered_price.rb +1 -3
  113. data/lib/orb/models/new_subscription_tiered_with_minimum_price.rb +1 -3
  114. data/lib/orb/models/new_subscription_unit_price.rb +1 -3
  115. data/lib/orb/models/new_subscription_unit_with_percent_price.rb +1 -3
  116. data/lib/orb/models/new_subscription_unit_with_proration_price.rb +1 -3
  117. data/lib/orb/models/per_price_cost.rb +2 -2
  118. data/lib/orb/models/plan.rb +189 -9
  119. data/lib/orb/models/plan_create_params.rb +1047 -8228
  120. data/lib/orb/models/plan_update_params.rb +9 -1
  121. data/lib/orb/models/plan_version.rb +186 -5
  122. data/lib/orb/models/plans/external_plan_id_update_params.rb +9 -1
  123. data/lib/orb/models/plans/migration_cancel_response.rb +22 -4
  124. data/lib/orb/models/plans/migration_list_response.rb +22 -4
  125. data/lib/orb/models/plans/migration_retrieve_response.rb +22 -4
  126. data/lib/orb/models/price.rb +2614 -1268
  127. data/lib/orb/models/price_create_params.rb +866 -49
  128. data/lib/orb/models/price_evaluate_multiple_params.rb +889 -54
  129. data/lib/orb/models/price_evaluate_preview_events_params.rb +881 -46
  130. data/lib/orb/models/price_interval.rb +2 -2
  131. data/lib/orb/models/subscription.rb +168 -4
  132. data/lib/orb/models/subscription_create_params.rb +2818 -674
  133. data/lib/orb/models/subscription_price_intervals_params.rb +1098 -57
  134. data/lib/orb/models/subscription_schedule_plan_change_params.rb +2834 -687
  135. data/lib/orb/models/subscription_update_params.rb +12 -1
  136. data/lib/orb/models.rb +2 -0
  137. data/lib/orb/resources/alerts.rb +14 -3
  138. data/lib/orb/resources/customers/credits/ledger.rb +28 -14
  139. data/lib/orb/resources/customers.rb +6 -2
  140. data/lib/orb/resources/events.rb +7 -34
  141. data/lib/orb/resources/invoices.rb +6 -2
  142. data/lib/orb/resources/licenses/external_licenses.rb +1 -1
  143. data/lib/orb/resources/licenses/usage.rb +2 -2
  144. data/lib/orb/resources/metrics.rb +5 -5
  145. data/lib/orb/resources/plans/external_plan_id.rb +5 -3
  146. data/lib/orb/resources/plans.rb +9 -5
  147. data/lib/orb/resources/prices/external_price_id.rb +2 -2
  148. data/lib/orb/resources/prices.rb +5 -5
  149. data/lib/orb/resources/subscriptions.rb +20 -3
  150. data/lib/orb/version.rb +1 -1
  151. data/lib/orb.rb +1 -0
  152. data/rbi/orb/models/accounting_provider_config.rbi +38 -5
  153. data/rbi/orb/models/adjustment_interval.rbi +336 -0
  154. data/rbi/orb/models/alert.rbi +172 -3
  155. data/rbi/orb/models/alert_create_for_subscription_params.rbi +268 -9
  156. data/rbi/orb/models/alert_update_params.rbi +208 -0
  157. data/rbi/orb/models/beta/external_plan_id_create_plan_version_params.rbi +3833 -28395
  158. data/rbi/orb/models/beta_create_plan_version_params.rbi +3833 -28363
  159. data/rbi/orb/models/changed_subscription_resources.rbi +360 -5
  160. data/rbi/orb/models/conversion_rate_config.rbi +18 -0
  161. data/rbi/orb/models/credit_block_list_invoices_response.rbi +346 -3
  162. data/rbi/orb/models/credit_block_retrieve_response.rbi +344 -3
  163. data/rbi/orb/models/customer.rbi +190 -10
  164. data/rbi/orb/models/customer_create_params.rbi +12 -2
  165. data/rbi/orb/models/customer_tax_id.rbi +15 -1
  166. data/rbi/orb/models/customer_update_by_external_id_params.rbi +22 -2
  167. data/rbi/orb/models/customer_update_params.rbi +22 -2
  168. data/rbi/orb/models/customers/credit_list_by_external_id_response.rbi +346 -3
  169. data/rbi/orb/models/customers/credit_list_response.rbi +347 -3
  170. data/rbi/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rbi +6 -6
  171. data/rbi/orb/models/customers/credits/ledger_create_entry_params.rbi +6 -6
  172. data/rbi/orb/models/dimensional_price_group.rbi +1 -1
  173. data/rbi/orb/models/discount.rbi +269 -1
  174. data/rbi/orb/models/event_ingest_params.rbi +4 -2
  175. data/rbi/orb/models/invoice.rbi +360 -5
  176. data/rbi/orb/models/invoice_create_params.rbi +12 -7
  177. data/rbi/orb/models/invoice_fetch_upcoming_response.rbi +360 -5
  178. data/rbi/orb/models/invoice_issue_summary_response.rbi +19 -4
  179. data/rbi/orb/models/invoice_level_discount.rbi +298 -1
  180. data/rbi/orb/models/invoice_line_item_create_response.rbi +339 -0
  181. data/rbi/orb/models/invoice_list_summary_response.rbi +19 -4
  182. data/rbi/orb/models/licenses/external_license_get_usage_params.rbi +3 -3
  183. data/rbi/orb/models/licenses/usage_get_all_usage_params.rbi +3 -3
  184. data/rbi/orb/models/licenses/usage_get_usage_params.rbi +3 -3
  185. data/rbi/orb/models/mutated_subscription.rbi +324 -2
  186. data/rbi/orb/models/new_allocation_price.rbi +12 -0
  187. data/rbi/orb/models/per_price_cost.rbi +3 -0
  188. data/rbi/orb/models/plan.rbi +339 -2
  189. data/rbi/orb/models/plan_create_params.rbi +1877 -14138
  190. data/rbi/orb/models/plan_update_params.rbi +8 -0
  191. data/rbi/orb/models/plan_version.rbi +339 -0
  192. data/rbi/orb/models/plans/external_plan_id_update_params.rbi +8 -0
  193. data/rbi/orb/models/plans/migration_cancel_response.rbi +22 -1
  194. data/rbi/orb/models/plans/migration_list_response.rbi +22 -1
  195. data/rbi/orb/models/plans/migration_retrieve_response.rbi +22 -1
  196. data/rbi/orb/models/price.rbi +4552 -2285
  197. data/rbi/orb/models/price_create_params.rbi +1540 -114
  198. data/rbi/orb/models/price_evaluate_multiple_params.rbi +1540 -114
  199. data/rbi/orb/models/price_evaluate_preview_events_params.rbi +1540 -114
  200. data/rbi/orb/models/price_interval.rbi +3 -0
  201. data/rbi/orb/models/subscription.rbi +324 -2
  202. data/rbi/orb/models/subscription_create_params.rbi +4998 -1186
  203. data/rbi/orb/models/subscription_price_intervals_params.rbi +2127 -264
  204. data/rbi/orb/models/subscription_schedule_plan_change_params.rbi +4997 -1185
  205. data/rbi/orb/models/subscription_update_params.rbi +14 -0
  206. data/rbi/orb/models.rbi +2 -0
  207. data/rbi/orb/resources/alerts.rbi +39 -4
  208. data/rbi/orb/resources/customers/credits/ledger.rbi +28 -14
  209. data/rbi/orb/resources/customers.rbi +23 -0
  210. data/rbi/orb/resources/events.rbi +8 -35
  211. data/rbi/orb/resources/invoices.rbi +9 -3
  212. data/rbi/orb/resources/licenses/external_licenses.rbi +1 -1
  213. data/rbi/orb/resources/licenses/usage.rbi +2 -2
  214. data/rbi/orb/resources/metrics.rbi +5 -5
  215. data/rbi/orb/resources/plans/external_plan_id.rbi +5 -2
  216. data/rbi/orb/resources/plans.rbi +9 -3
  217. data/rbi/orb/resources/prices.rbi +3 -0
  218. data/rbi/orb/resources/subscriptions.rbi +29 -0
  219. data/sig/orb/models/accounting_provider_config.rbs +21 -4
  220. data/sig/orb/models/adjustment_interval.rbs +134 -0
  221. data/sig/orb/models/alert.rbs +85 -3
  222. data/sig/orb/models/alert_create_for_subscription_params.rbs +86 -4
  223. data/sig/orb/models/alert_update_params.rbs +86 -1
  224. data/sig/orb/models/beta/external_plan_id_create_plan_version_params.rbs +1803 -11601
  225. data/sig/orb/models/beta_create_plan_version_params.rbs +1747 -11541
  226. data/sig/orb/models/changed_subscription_resources.rbs +140 -1
  227. data/sig/orb/models/conversion_rate_config.rbs +12 -0
  228. data/sig/orb/models/credit_block_list_invoices_response.rbs +124 -3
  229. data/sig/orb/models/credit_block_retrieve_response.rbs +124 -3
  230. data/sig/orb/models/customer.rbs +70 -4
  231. data/sig/orb/models/customer_create_params.rbs +2 -2
  232. data/sig/orb/models/customer_tax_id.rbs +20 -2
  233. data/sig/orb/models/customer_update_by_external_id_params.rbs +7 -2
  234. data/sig/orb/models/customer_update_params.rbs +7 -2
  235. data/sig/orb/models/customers/credit_list_by_external_id_response.rbs +124 -3
  236. data/sig/orb/models/customers/credit_list_response.rbs +124 -3
  237. data/sig/orb/models/discount.rbs +114 -0
  238. data/sig/orb/models/invoice.rbs +140 -1
  239. data/sig/orb/models/invoice_fetch_upcoming_response.rbs +140 -1
  240. data/sig/orb/models/invoice_issue_summary_response.rbs +2 -1
  241. data/sig/orb/models/invoice_level_discount.rbs +117 -1
  242. data/sig/orb/models/invoice_line_item_create_response.rbs +134 -0
  243. data/sig/orb/models/invoice_list_summary_response.rbs +2 -1
  244. data/sig/orb/models/licenses/external_license_get_usage_params.rbs +4 -4
  245. data/sig/orb/models/licenses/usage_get_all_usage_params.rbs +4 -4
  246. data/sig/orb/models/licenses/usage_get_usage_params.rbs +4 -4
  247. data/sig/orb/models/mutated_subscription.rbs +124 -0
  248. data/sig/orb/models/new_allocation_price.rbs +5 -0
  249. data/sig/orb/models/new_floating_bulk_price.rbs +4 -4
  250. data/sig/orb/models/new_floating_bulk_with_proration_price.rbs +4 -4
  251. data/sig/orb/models/new_floating_cumulative_grouped_bulk_price.rbs +4 -4
  252. data/sig/orb/models/new_floating_grouped_allocation_price.rbs +4 -4
  253. data/sig/orb/models/new_floating_grouped_tiered_package_price.rbs +4 -4
  254. data/sig/orb/models/new_floating_grouped_tiered_price.rbs +4 -4
  255. data/sig/orb/models/new_floating_grouped_with_metered_minimum_price.rbs +4 -4
  256. data/sig/orb/models/new_floating_grouped_with_prorated_minimum_price.rbs +4 -4
  257. data/sig/orb/models/new_floating_matrix_price.rbs +4 -4
  258. data/sig/orb/models/new_floating_matrix_with_allocation_price.rbs +4 -4
  259. data/sig/orb/models/new_floating_matrix_with_display_name_price.rbs +4 -4
  260. data/sig/orb/models/new_floating_max_group_tiered_package_price.rbs +4 -4
  261. data/sig/orb/models/new_floating_minimum_composite_price.rbs +4 -4
  262. data/sig/orb/models/new_floating_package_price.rbs +4 -4
  263. data/sig/orb/models/new_floating_package_with_allocation_price.rbs +4 -4
  264. data/sig/orb/models/new_floating_scalable_matrix_with_tiered_pricing_price.rbs +4 -4
  265. data/sig/orb/models/new_floating_scalable_matrix_with_unit_pricing_price.rbs +4 -4
  266. data/sig/orb/models/new_floating_threshold_total_amount_price.rbs +4 -4
  267. data/sig/orb/models/new_floating_tiered_package_price.rbs +4 -4
  268. data/sig/orb/models/new_floating_tiered_package_with_minimum_price.rbs +4 -4
  269. data/sig/orb/models/new_floating_tiered_price.rbs +4 -4
  270. data/sig/orb/models/new_floating_tiered_with_minimum_price.rbs +4 -4
  271. data/sig/orb/models/new_floating_tiered_with_proration_price.rbs +4 -4
  272. data/sig/orb/models/new_floating_unit_price.rbs +4 -4
  273. data/sig/orb/models/new_floating_unit_with_percent_price.rbs +4 -4
  274. data/sig/orb/models/new_floating_unit_with_proration_price.rbs +4 -4
  275. data/sig/orb/models/new_plan_bulk_price.rbs +4 -4
  276. data/sig/orb/models/new_plan_bulk_with_proration_price.rbs +4 -4
  277. data/sig/orb/models/new_plan_cumulative_grouped_bulk_price.rbs +4 -4
  278. data/sig/orb/models/new_plan_grouped_allocation_price.rbs +4 -4
  279. data/sig/orb/models/new_plan_grouped_tiered_package_price.rbs +4 -4
  280. data/sig/orb/models/new_plan_grouped_tiered_price.rbs +4 -4
  281. data/sig/orb/models/new_plan_grouped_with_metered_minimum_price.rbs +4 -4
  282. data/sig/orb/models/new_plan_grouped_with_prorated_minimum_price.rbs +4 -4
  283. data/sig/orb/models/new_plan_matrix_price.rbs +4 -4
  284. data/sig/orb/models/new_plan_matrix_with_allocation_price.rbs +4 -4
  285. data/sig/orb/models/new_plan_matrix_with_display_name_price.rbs +4 -4
  286. data/sig/orb/models/new_plan_max_group_tiered_package_price.rbs +4 -4
  287. data/sig/orb/models/new_plan_minimum_composite_price.rbs +4 -4
  288. data/sig/orb/models/new_plan_package_price.rbs +4 -4
  289. data/sig/orb/models/new_plan_package_with_allocation_price.rbs +4 -4
  290. data/sig/orb/models/new_plan_scalable_matrix_with_tiered_pricing_price.rbs +4 -4
  291. data/sig/orb/models/new_plan_scalable_matrix_with_unit_pricing_price.rbs +4 -4
  292. data/sig/orb/models/new_plan_threshold_total_amount_price.rbs +4 -4
  293. data/sig/orb/models/new_plan_tiered_package_price.rbs +4 -4
  294. data/sig/orb/models/new_plan_tiered_package_with_minimum_price.rbs +4 -4
  295. data/sig/orb/models/new_plan_tiered_price.rbs +4 -4
  296. data/sig/orb/models/new_plan_tiered_with_minimum_price.rbs +4 -4
  297. data/sig/orb/models/new_plan_unit_price.rbs +4 -4
  298. data/sig/orb/models/new_plan_unit_with_percent_price.rbs +4 -4
  299. data/sig/orb/models/new_plan_unit_with_proration_price.rbs +4 -4
  300. data/sig/orb/models/new_subscription_bulk_price.rbs +4 -4
  301. data/sig/orb/models/new_subscription_bulk_with_proration_price.rbs +4 -4
  302. data/sig/orb/models/new_subscription_cumulative_grouped_bulk_price.rbs +4 -4
  303. data/sig/orb/models/new_subscription_grouped_allocation_price.rbs +4 -4
  304. data/sig/orb/models/new_subscription_grouped_tiered_package_price.rbs +4 -4
  305. data/sig/orb/models/new_subscription_grouped_tiered_price.rbs +4 -4
  306. data/sig/orb/models/new_subscription_grouped_with_metered_minimum_price.rbs +4 -4
  307. data/sig/orb/models/new_subscription_grouped_with_prorated_minimum_price.rbs +4 -4
  308. data/sig/orb/models/new_subscription_matrix_price.rbs +4 -4
  309. data/sig/orb/models/new_subscription_matrix_with_allocation_price.rbs +4 -4
  310. data/sig/orb/models/new_subscription_matrix_with_display_name_price.rbs +4 -4
  311. data/sig/orb/models/new_subscription_max_group_tiered_package_price.rbs +4 -4
  312. data/sig/orb/models/new_subscription_minimum_composite_price.rbs +4 -4
  313. data/sig/orb/models/new_subscription_package_price.rbs +4 -4
  314. data/sig/orb/models/new_subscription_package_with_allocation_price.rbs +4 -4
  315. data/sig/orb/models/new_subscription_scalable_matrix_with_tiered_pricing_price.rbs +4 -4
  316. data/sig/orb/models/new_subscription_scalable_matrix_with_unit_pricing_price.rbs +4 -4
  317. data/sig/orb/models/new_subscription_threshold_total_amount_price.rbs +4 -4
  318. data/sig/orb/models/new_subscription_tiered_package_price.rbs +4 -4
  319. data/sig/orb/models/new_subscription_tiered_package_with_minimum_price.rbs +4 -4
  320. data/sig/orb/models/new_subscription_tiered_price.rbs +4 -4
  321. data/sig/orb/models/new_subscription_tiered_with_minimum_price.rbs +4 -4
  322. data/sig/orb/models/new_subscription_unit_price.rbs +4 -4
  323. data/sig/orb/models/new_subscription_unit_with_percent_price.rbs +4 -4
  324. data/sig/orb/models/new_subscription_unit_with_proration_price.rbs +4 -4
  325. data/sig/orb/models/plan.rbs +134 -0
  326. data/sig/orb/models/plan_create_params.rbs +836 -5728
  327. data/sig/orb/models/plan_update_params.rbs +5 -0
  328. data/sig/orb/models/plan_version.rbs +134 -0
  329. data/sig/orb/models/plans/external_plan_id_update_params.rbs +5 -0
  330. data/sig/orb/models/price.rbs +2200 -1150
  331. data/sig/orb/models/price_create_params.rbs +611 -23
  332. data/sig/orb/models/price_evaluate_multiple_params.rbs +626 -23
  333. data/sig/orb/models/price_evaluate_preview_events_params.rbs +626 -23
  334. data/sig/orb/models/subscription.rbs +124 -0
  335. data/sig/orb/models/subscription_create_params.rbs +2009 -430
  336. data/sig/orb/models/subscription_price_intervals_params.rbs +795 -23
  337. data/sig/orb/models/subscription_schedule_plan_change_params.rbs +2009 -430
  338. data/sig/orb/models/subscription_update_params.rbs +5 -0
  339. data/sig/orb/models.rbs +2 -0
  340. data/sig/orb/resources/alerts.rbs +5 -1
  341. data/sig/orb/resources/customers.rbs +2 -0
  342. data/sig/orb/resources/licenses/external_licenses.rbs +1 -1
  343. data/sig/orb/resources/licenses/usage.rbs +2 -2
  344. data/sig/orb/resources/plans/external_plan_id.rbs +1 -0
  345. data/sig/orb/resources/plans.rbs +2 -0
  346. data/sig/orb/resources/subscriptions.rbs +3 -0
  347. metadata +6 -7
@@ -65,9 +65,7 @@ module Orb
65
65
  # The configuration for the rate of the price currency to the invoicing currency.
66
66
  #
67
67
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
68
- optional :conversion_rate_config,
69
- union: -> { Orb::NewSubscriptionCumulativeGroupedBulkPrice::ConversionRateConfig },
70
- nil?: true
68
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
71
69
 
72
70
  # @!attribute currency
73
71
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -65,9 +65,7 @@ module Orb
65
65
  # The configuration for the rate of the price currency to the invoicing currency.
66
66
  #
67
67
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
68
- optional :conversion_rate_config,
69
- union: -> { Orb::NewSubscriptionGroupedAllocationPrice::ConversionRateConfig },
70
- nil?: true
68
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
71
69
 
72
70
  # @!attribute currency
73
71
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -65,9 +65,7 @@ module Orb
65
65
  # The configuration for the rate of the price currency to the invoicing currency.
66
66
  #
67
67
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
68
- optional :conversion_rate_config,
69
- union: -> { Orb::NewSubscriptionGroupedTieredPackagePrice::ConversionRateConfig },
70
- nil?: true
68
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
71
69
 
72
70
  # @!attribute currency
73
71
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -64,9 +64,7 @@ module Orb
64
64
  # The configuration for the rate of the price currency to the invoicing currency.
65
65
  #
66
66
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
67
- optional :conversion_rate_config,
68
- union: -> { Orb::NewSubscriptionGroupedTieredPrice::ConversionRateConfig },
69
- nil?: true
67
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
70
68
 
71
69
  # @!attribute currency
72
70
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -65,9 +65,7 @@ module Orb
65
65
  # The configuration for the rate of the price currency to the invoicing currency.
66
66
  #
67
67
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
68
- optional :conversion_rate_config,
69
- union: -> { Orb::NewSubscriptionGroupedWithMeteredMinimumPrice::ConversionRateConfig },
70
- nil?: true
68
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
71
69
 
72
70
  # @!attribute currency
73
71
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -65,9 +65,7 @@ module Orb
65
65
  # The configuration for the rate of the price currency to the invoicing currency.
66
66
  #
67
67
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
68
- optional :conversion_rate_config,
69
- union: -> { Orb::NewSubscriptionGroupedWithProratedMinimumPrice::ConversionRateConfig },
70
- nil?: true
68
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
71
69
 
72
70
  # @!attribute currency
73
71
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -64,9 +64,7 @@ module Orb
64
64
  # The configuration for the rate of the price currency to the invoicing currency.
65
65
  #
66
66
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
67
- optional :conversion_rate_config,
68
- union: -> { Orb::NewSubscriptionMatrixPrice::ConversionRateConfig },
69
- nil?: true
67
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
70
68
 
71
69
  # @!attribute currency
72
70
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -64,9 +64,7 @@ module Orb
64
64
  # The configuration for the rate of the price currency to the invoicing currency.
65
65
  #
66
66
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
67
- optional :conversion_rate_config,
68
- union: -> { Orb::NewSubscriptionMatrixWithAllocationPrice::ConversionRateConfig },
69
- nil?: true
67
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
70
68
 
71
69
  # @!attribute currency
72
70
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -65,9 +65,7 @@ module Orb
65
65
  # The configuration for the rate of the price currency to the invoicing currency.
66
66
  #
67
67
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
68
- optional :conversion_rate_config,
69
- union: -> { Orb::NewSubscriptionMatrixWithDisplayNamePrice::ConversionRateConfig },
70
- nil?: true
68
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
71
69
 
72
70
  # @!attribute currency
73
71
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -65,9 +65,7 @@ module Orb
65
65
  # The configuration for the rate of the price currency to the invoicing currency.
66
66
  #
67
67
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
68
- optional :conversion_rate_config,
69
- union: -> { Orb::NewSubscriptionMaxGroupTieredPackagePrice::ConversionRateConfig },
70
- nil?: true
68
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
71
69
 
72
70
  # @!attribute currency
73
71
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -65,9 +65,7 @@ module Orb
65
65
  # The configuration for the rate of the price currency to the invoicing currency.
66
66
  #
67
67
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
68
- optional :conversion_rate_config,
69
- union: -> { Orb::NewSubscriptionMinimumCompositePrice::ConversionRateConfig },
70
- nil?: true
68
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
71
69
 
72
70
  # @!attribute currency
73
71
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -64,9 +64,7 @@ module Orb
64
64
  # The configuration for the rate of the price currency to the invoicing currency.
65
65
  #
66
66
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
67
- optional :conversion_rate_config,
68
- union: -> { Orb::NewSubscriptionPackagePrice::ConversionRateConfig },
69
- nil?: true
67
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
70
68
 
71
69
  # @!attribute currency
72
70
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -65,9 +65,7 @@ module Orb
65
65
  # The configuration for the rate of the price currency to the invoicing currency.
66
66
  #
67
67
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
68
- optional :conversion_rate_config,
69
- union: -> { Orb::NewSubscriptionPackageWithAllocationPrice::ConversionRateConfig },
70
- nil?: true
68
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
71
69
 
72
70
  # @!attribute currency
73
71
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -65,9 +65,7 @@ module Orb
65
65
  # The configuration for the rate of the price currency to the invoicing currency.
66
66
  #
67
67
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
68
- optional :conversion_rate_config,
69
- union: -> { Orb::NewSubscriptionScalableMatrixWithTieredPricingPrice::ConversionRateConfig },
70
- nil?: true
68
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
71
69
 
72
70
  # @!attribute currency
73
71
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -65,9 +65,7 @@ module Orb
65
65
  # The configuration for the rate of the price currency to the invoicing currency.
66
66
  #
67
67
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
68
- optional :conversion_rate_config,
69
- union: -> { Orb::NewSubscriptionScalableMatrixWithUnitPricingPrice::ConversionRateConfig },
70
- nil?: true
68
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
71
69
 
72
70
  # @!attribute currency
73
71
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -65,9 +65,7 @@ module Orb
65
65
  # The configuration for the rate of the price currency to the invoicing currency.
66
66
  #
67
67
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
68
- optional :conversion_rate_config,
69
- union: -> { Orb::NewSubscriptionThresholdTotalAmountPrice::ConversionRateConfig },
70
- nil?: true
68
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
71
69
 
72
70
  # @!attribute currency
73
71
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -64,9 +64,7 @@ module Orb
64
64
  # The configuration for the rate of the price currency to the invoicing currency.
65
65
  #
66
66
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
67
- optional :conversion_rate_config,
68
- union: -> { Orb::NewSubscriptionTieredPackagePrice::ConversionRateConfig },
69
- nil?: true
67
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
70
68
 
71
69
  # @!attribute currency
72
70
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -65,9 +65,7 @@ module Orb
65
65
  # The configuration for the rate of the price currency to the invoicing currency.
66
66
  #
67
67
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
68
- optional :conversion_rate_config,
69
- union: -> { Orb::NewSubscriptionTieredPackageWithMinimumPrice::ConversionRateConfig },
70
- nil?: true
68
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
71
69
 
72
70
  # @!attribute currency
73
71
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -64,9 +64,7 @@ module Orb
64
64
  # The configuration for the rate of the price currency to the invoicing currency.
65
65
  #
66
66
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
67
- optional :conversion_rate_config,
68
- union: -> { Orb::NewSubscriptionTieredPrice::ConversionRateConfig },
69
- nil?: true
67
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
70
68
 
71
69
  # @!attribute currency
72
70
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -65,9 +65,7 @@ module Orb
65
65
  # The configuration for the rate of the price currency to the invoicing currency.
66
66
  #
67
67
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
68
- optional :conversion_rate_config,
69
- union: -> { Orb::NewSubscriptionTieredWithMinimumPrice::ConversionRateConfig },
70
- nil?: true
68
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
71
69
 
72
70
  # @!attribute currency
73
71
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -64,9 +64,7 @@ module Orb
64
64
  # The configuration for the rate of the price currency to the invoicing currency.
65
65
  #
66
66
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
67
- optional :conversion_rate_config,
68
- union: -> { Orb::NewSubscriptionUnitPrice::ConversionRateConfig },
69
- nil?: true
67
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
70
68
 
71
69
  # @!attribute currency
72
70
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -64,9 +64,7 @@ module Orb
64
64
  # The configuration for the rate of the price currency to the invoicing currency.
65
65
  #
66
66
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
67
- optional :conversion_rate_config,
68
- union: -> { Orb::NewSubscriptionUnitWithPercentPrice::ConversionRateConfig },
69
- nil?: true
67
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
70
68
 
71
69
  # @!attribute currency
72
70
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -65,9 +65,7 @@ module Orb
65
65
  # The configuration for the rate of the price currency to the invoicing currency.
66
66
  #
67
67
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
68
- optional :conversion_rate_config,
69
- union: -> { Orb::NewSubscriptionUnitWithProrationPrice::ConversionRateConfig },
70
- nil?: true
68
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
71
69
 
72
70
  # @!attribute currency
73
71
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -6,7 +6,7 @@ module Orb
6
6
  # @!attribute price
7
7
  # The price object
8
8
  #
9
- # @return [Orb::Models::Price::Unit, Orb::Models::Price::Tiered, Orb::Models::Price::Bulk, Orb::Models::Price::BulkWithFilters, Orb::Models::Price::Package, Orb::Models::Price::Matrix, Orb::Models::Price::ThresholdTotalAmount, Orb::Models::Price::TieredPackage, Orb::Models::Price::TieredWithMinimum, Orb::Models::Price::GroupedTiered, Orb::Models::Price::TieredPackageWithMinimum, Orb::Models::Price::PackageWithAllocation, Orb::Models::Price::UnitWithPercent, Orb::Models::Price::MatrixWithAllocation, Orb::Models::Price::TieredWithProration, Orb::Models::Price::UnitWithProration, Orb::Models::Price::GroupedAllocation, Orb::Models::Price::BulkWithProration, Orb::Models::Price::GroupedWithProratedMinimum, Orb::Models::Price::GroupedWithMeteredMinimum, Orb::Models::Price::GroupedWithMinMaxThresholds, Orb::Models::Price::MatrixWithDisplayName, Orb::Models::Price::GroupedTieredPackage, Orb::Models::Price::MaxGroupTieredPackage, Orb::Models::Price::ScalableMatrixWithUnitPricing, Orb::Models::Price::ScalableMatrixWithTieredPricing, Orb::Models::Price::CumulativeGroupedBulk, Orb::Models::Price::CumulativeGroupedAllocation, Orb::Models::Price::MinimumComposite, Orb::Models::Price::Percent, Orb::Models::Price::EventOutput]
9
+ # @return [Orb::Models::Price::Unit, Orb::Models::Price::Tiered, Orb::Models::Price::Bulk, Orb::Models::Price::BulkWithFilters, Orb::Models::Price::Package, Orb::Models::Price::Matrix, Orb::Models::Price::ThresholdTotalAmount, Orb::Models::Price::TieredPackage, Orb::Models::Price::TieredWithMinimum, Orb::Models::Price::GroupedTiered, Orb::Models::Price::TieredPackageWithMinimum, Orb::Models::Price::PackageWithAllocation, Orb::Models::Price::UnitWithPercent, Orb::Models::Price::MatrixWithAllocation, Orb::Models::Price::MatrixWithThresholdDiscounts, Orb::Models::Price::TieredWithProration, Orb::Models::Price::UnitWithProration, Orb::Models::Price::GroupedAllocation, Orb::Models::Price::BulkWithProration, Orb::Models::Price::GroupedWithProratedMinimum, Orb::Models::Price::GroupedWithMeteredMinimum, Orb::Models::Price::GroupedWithMinMaxThresholds, Orb::Models::Price::MatrixWithDisplayName, Orb::Models::Price::GroupedTieredPackage, Orb::Models::Price::MaxGroupTieredPackage, Orb::Models::Price::ScalableMatrixWithUnitPricing, Orb::Models::Price::ScalableMatrixWithTieredPricing, Orb::Models::Price::CumulativeGroupedBulk, Orb::Models::Price::CumulativeGroupedAllocation, Orb::Models::Price::DailyCreditAllowance, Orb::Models::Price::MeteredAllowance, Orb::Models::Price::MinimumComposite, Orb::Models::Price::Percent, Orb::Models::Price::EventOutput]
10
10
  required :price, union: -> { Orb::Price }
11
11
 
12
12
  # @!attribute price_id
@@ -34,7 +34,7 @@ module Orb
34
34
  optional :quantity, Float, nil?: true
35
35
 
36
36
  # @!method initialize(price:, price_id:, subtotal:, total:, quantity: nil)
37
- # @param price [Orb::Models::Price::Unit, Orb::Models::Price::Tiered, Orb::Models::Price::Bulk, Orb::Models::Price::BulkWithFilters, Orb::Models::Price::Package, Orb::Models::Price::Matrix, Orb::Models::Price::ThresholdTotalAmount, Orb::Models::Price::TieredPackage, Orb::Models::Price::TieredWithMinimum, Orb::Models::Price::GroupedTiered, Orb::Models::Price::TieredPackageWithMinimum, Orb::Models::Price::PackageWithAllocation, Orb::Models::Price::UnitWithPercent, Orb::Models::Price::MatrixWithAllocation, Orb::Models::Price::TieredWithProration, Orb::Models::Price::UnitWithProration, Orb::Models::Price::GroupedAllocation, Orb::Models::Price::BulkWithProration, Orb::Models::Price::GroupedWithProratedMinimum, Orb::Models::Price::GroupedWithMeteredMinimum, Orb::Models::Price::GroupedWithMinMaxThresholds, Orb::Models::Price::MatrixWithDisplayName, Orb::Models::Price::GroupedTieredPackage, Orb::Models::Price::MaxGroupTieredPackage, Orb::Models::Price::ScalableMatrixWithUnitPricing, Orb::Models::Price::ScalableMatrixWithTieredPricing, Orb::Models::Price::CumulativeGroupedBulk, Orb::Models::Price::CumulativeGroupedAllocation, Orb::Models::Price::MinimumComposite, Orb::Models::Price::Percent, Orb::Models::Price::EventOutput] The price object
37
+ # @param price [Orb::Models::Price::Unit, Orb::Models::Price::Tiered, Orb::Models::Price::Bulk, Orb::Models::Price::BulkWithFilters, Orb::Models::Price::Package, Orb::Models::Price::Matrix, Orb::Models::Price::ThresholdTotalAmount, Orb::Models::Price::TieredPackage, Orb::Models::Price::TieredWithMinimum, Orb::Models::Price::GroupedTiered, Orb::Models::Price::TieredPackageWithMinimum, Orb::Models::Price::PackageWithAllocation, Orb::Models::Price::UnitWithPercent, Orb::Models::Price::MatrixWithAllocation, Orb::Models::Price::MatrixWithThresholdDiscounts, Orb::Models::Price::TieredWithProration, Orb::Models::Price::UnitWithProration, Orb::Models::Price::GroupedAllocation, Orb::Models::Price::BulkWithProration, Orb::Models::Price::GroupedWithProratedMinimum, Orb::Models::Price::GroupedWithMeteredMinimum, Orb::Models::Price::GroupedWithMinMaxThresholds, Orb::Models::Price::MatrixWithDisplayName, Orb::Models::Price::GroupedTieredPackage, Orb::Models::Price::MaxGroupTieredPackage, Orb::Models::Price::ScalableMatrixWithUnitPricing, Orb::Models::Price::ScalableMatrixWithTieredPricing, Orb::Models::Price::CumulativeGroupedBulk, Orb::Models::Price::CumulativeGroupedAllocation, Orb::Models::Price::DailyCreditAllowance, Orb::Models::Price::MeteredAllowance, Orb::Models::Price::MinimumComposite, Orb::Models::Price::Percent, Orb::Models::Price::EventOutput] The price object
38
38
  #
39
39
  # @param price_id [String] The price the cost is associated with
40
40
  #
@@ -13,7 +13,7 @@ module Orb
13
13
  # Adjustments for this plan. If the plan has phases, this includes adjustments
14
14
  # across all phases of the plan.
15
15
  #
16
- # @return [Array<Orb::Models::PlanPhaseUsageDiscountAdjustment, Orb::Models::PlanPhaseAmountDiscountAdjustment, Orb::Models::PlanPhasePercentageDiscountAdjustment, Orb::Models::PlanPhaseMinimumAdjustment, Orb::Models::PlanPhaseMaximumAdjustment>]
16
+ # @return [Array<Orb::Models::PlanPhaseUsageDiscountAdjustment, Orb::Models::PlanPhaseAmountDiscountAdjustment, Orb::Models::PlanPhasePercentageDiscountAdjustment, Orb::Models::Plan::Adjustment::TieredPercentageDiscount, Orb::Models::PlanPhaseMinimumAdjustment, Orb::Models::PlanPhaseMaximumAdjustment>]
17
17
  required :adjustments, -> { Orb::Internal::Type::ArrayOf[union: Orb::Plan::Adjustment] }
18
18
 
19
19
  # @!attribute base_plan
@@ -63,7 +63,7 @@ module Orb
63
63
  # @!attribute discount
64
64
  # @deprecated
65
65
  #
66
- # @return [Orb::Models::PercentageDiscount, Orb::Models::TrialDiscount, Orb::Models::UsageDiscount, Orb::Models::AmountDiscount, nil]
66
+ # @return [Orb::Models::PercentageDiscount, Orb::Models::TrialDiscount, Orb::Models::UsageDiscount, Orb::Models::AmountDiscount, Orb::Models::Discount::TieredPercentage, nil]
67
67
  required :discount, union: -> { Orb::Discount }, nil?: true
68
68
 
69
69
  # @!attribute external_plan_id
@@ -138,7 +138,7 @@ module Orb
138
138
  # Prices for this plan. If the plan has phases, this includes prices across all
139
139
  # phases of the plan.
140
140
  #
141
- # @return [Array<Orb::Models::Price::Unit, Orb::Models::Price::Tiered, Orb::Models::Price::Bulk, Orb::Models::Price::BulkWithFilters, Orb::Models::Price::Package, Orb::Models::Price::Matrix, Orb::Models::Price::ThresholdTotalAmount, Orb::Models::Price::TieredPackage, Orb::Models::Price::TieredWithMinimum, Orb::Models::Price::GroupedTiered, Orb::Models::Price::TieredPackageWithMinimum, Orb::Models::Price::PackageWithAllocation, Orb::Models::Price::UnitWithPercent, Orb::Models::Price::MatrixWithAllocation, Orb::Models::Price::TieredWithProration, Orb::Models::Price::UnitWithProration, Orb::Models::Price::GroupedAllocation, Orb::Models::Price::BulkWithProration, Orb::Models::Price::GroupedWithProratedMinimum, Orb::Models::Price::GroupedWithMeteredMinimum, Orb::Models::Price::GroupedWithMinMaxThresholds, Orb::Models::Price::MatrixWithDisplayName, Orb::Models::Price::GroupedTieredPackage, Orb::Models::Price::MaxGroupTieredPackage, Orb::Models::Price::ScalableMatrixWithUnitPricing, Orb::Models::Price::ScalableMatrixWithTieredPricing, Orb::Models::Price::CumulativeGroupedBulk, Orb::Models::Price::CumulativeGroupedAllocation, Orb::Models::Price::MinimumComposite, Orb::Models::Price::Percent, Orb::Models::Price::EventOutput>]
141
+ # @return [Array<Orb::Models::Price::Unit, Orb::Models::Price::Tiered, Orb::Models::Price::Bulk, Orb::Models::Price::BulkWithFilters, Orb::Models::Price::Package, Orb::Models::Price::Matrix, Orb::Models::Price::ThresholdTotalAmount, Orb::Models::Price::TieredPackage, Orb::Models::Price::TieredWithMinimum, Orb::Models::Price::GroupedTiered, Orb::Models::Price::TieredPackageWithMinimum, Orb::Models::Price::PackageWithAllocation, Orb::Models::Price::UnitWithPercent, Orb::Models::Price::MatrixWithAllocation, Orb::Models::Price::MatrixWithThresholdDiscounts, Orb::Models::Price::TieredWithProration, Orb::Models::Price::UnitWithProration, Orb::Models::Price::GroupedAllocation, Orb::Models::Price::BulkWithProration, Orb::Models::Price::GroupedWithProratedMinimum, Orb::Models::Price::GroupedWithMeteredMinimum, Orb::Models::Price::GroupedWithMinMaxThresholds, Orb::Models::Price::MatrixWithDisplayName, Orb::Models::Price::GroupedTieredPackage, Orb::Models::Price::MaxGroupTieredPackage, Orb::Models::Price::ScalableMatrixWithUnitPricing, Orb::Models::Price::ScalableMatrixWithTieredPricing, Orb::Models::Price::CumulativeGroupedBulk, Orb::Models::Price::CumulativeGroupedAllocation, Orb::Models::Price::DailyCreditAllowance, Orb::Models::Price::MeteredAllowance, Orb::Models::Price::MinimumComposite, Orb::Models::Price::Percent, Orb::Models::Price::EventOutput>]
142
142
  required :prices, -> { Orb::Internal::Type::ArrayOf[union: Orb::Price] }
143
143
 
144
144
  # @!attribute product
@@ -172,7 +172,7 @@ module Orb
172
172
  #
173
173
  # @param id [String]
174
174
  #
175
- # @param adjustments [Array<Orb::Models::PlanPhaseUsageDiscountAdjustment, Orb::Models::PlanPhaseAmountDiscountAdjustment, Orb::Models::PlanPhasePercentageDiscountAdjustment, Orb::Models::PlanPhaseMinimumAdjustment, Orb::Models::PlanPhaseMaximumAdjustment>] Adjustments for this plan. If the plan has phases, this includes adjustments acr
175
+ # @param adjustments [Array<Orb::Models::PlanPhaseUsageDiscountAdjustment, Orb::Models::PlanPhaseAmountDiscountAdjustment, Orb::Models::PlanPhasePercentageDiscountAdjustment, Orb::Models::Plan::Adjustment::TieredPercentageDiscount, Orb::Models::PlanPhaseMinimumAdjustment, Orb::Models::PlanPhaseMaximumAdjustment>] Adjustments for this plan. If the plan has phases, this includes adjustments acr
176
176
  #
177
177
  # @param base_plan [Orb::Models::Plan::BasePlan, nil] Legacy field representing the parent plan if the current plan is a 'child plan',
178
178
  #
@@ -186,7 +186,7 @@ module Orb
186
186
  #
187
187
  # @param description [String]
188
188
  #
189
- # @param discount [Orb::Models::PercentageDiscount, Orb::Models::TrialDiscount, Orb::Models::UsageDiscount, Orb::Models::AmountDiscount, nil]
189
+ # @param discount [Orb::Models::PercentageDiscount, Orb::Models::TrialDiscount, Orb::Models::UsageDiscount, Orb::Models::AmountDiscount, Orb::Models::Discount::TieredPercentage, nil]
190
190
  #
191
191
  # @param external_plan_id [String, nil] An optional user-defined ID for this plan resource, used throughout the system a
192
192
  #
@@ -208,7 +208,7 @@ module Orb
208
208
  #
209
209
  # @param plan_phases [Array<Orb::Models::Plan::PlanPhase>, nil]
210
210
  #
211
- # @param prices [Array<Orb::Models::Price::Unit, Orb::Models::Price::Tiered, Orb::Models::Price::Bulk, Orb::Models::Price::BulkWithFilters, Orb::Models::Price::Package, Orb::Models::Price::Matrix, Orb::Models::Price::ThresholdTotalAmount, Orb::Models::Price::TieredPackage, Orb::Models::Price::TieredWithMinimum, Orb::Models::Price::GroupedTiered, Orb::Models::Price::TieredPackageWithMinimum, Orb::Models::Price::PackageWithAllocation, Orb::Models::Price::UnitWithPercent, Orb::Models::Price::MatrixWithAllocation, Orb::Models::Price::TieredWithProration, Orb::Models::Price::UnitWithProration, Orb::Models::Price::GroupedAllocation, Orb::Models::Price::BulkWithProration, Orb::Models::Price::GroupedWithProratedMinimum, Orb::Models::Price::GroupedWithMeteredMinimum, Orb::Models::Price::GroupedWithMinMaxThresholds, Orb::Models::Price::MatrixWithDisplayName, Orb::Models::Price::GroupedTieredPackage, Orb::Models::Price::MaxGroupTieredPackage, Orb::Models::Price::ScalableMatrixWithUnitPricing, Orb::Models::Price::ScalableMatrixWithTieredPricing, Orb::Models::Price::CumulativeGroupedBulk, Orb::Models::Price::CumulativeGroupedAllocation, Orb::Models::Price::MinimumComposite, Orb::Models::Price::Percent, Orb::Models::Price::EventOutput>] Prices for this plan. If the plan has phases, this includes prices across all ph
211
+ # @param prices [Array<Orb::Models::Price::Unit, Orb::Models::Price::Tiered, Orb::Models::Price::Bulk, Orb::Models::Price::BulkWithFilters, Orb::Models::Price::Package, Orb::Models::Price::Matrix, Orb::Models::Price::ThresholdTotalAmount, Orb::Models::Price::TieredPackage, Orb::Models::Price::TieredWithMinimum, Orb::Models::Price::GroupedTiered, Orb::Models::Price::TieredPackageWithMinimum, Orb::Models::Price::PackageWithAllocation, Orb::Models::Price::UnitWithPercent, Orb::Models::Price::MatrixWithAllocation, Orb::Models::Price::MatrixWithThresholdDiscounts, Orb::Models::Price::TieredWithProration, Orb::Models::Price::UnitWithProration, Orb::Models::Price::GroupedAllocation, Orb::Models::Price::BulkWithProration, Orb::Models::Price::GroupedWithProratedMinimum, Orb::Models::Price::GroupedWithMeteredMinimum, Orb::Models::Price::GroupedWithMinMaxThresholds, Orb::Models::Price::MatrixWithDisplayName, Orb::Models::Price::GroupedTieredPackage, Orb::Models::Price::MaxGroupTieredPackage, Orb::Models::Price::ScalableMatrixWithUnitPricing, Orb::Models::Price::ScalableMatrixWithTieredPricing, Orb::Models::Price::CumulativeGroupedBulk, Orb::Models::Price::CumulativeGroupedAllocation, Orb::Models::Price::DailyCreditAllowance, Orb::Models::Price::MeteredAllowance, Orb::Models::Price::MinimumComposite, Orb::Models::Price::Percent, Orb::Models::Price::EventOutput>] Prices for this plan. If the plan has phases, this includes prices across all ph
212
212
  #
213
213
  # @param product [Orb::Models::Plan::Product]
214
214
  #
@@ -229,12 +229,192 @@ module Orb
229
229
 
230
230
  variant :percentage_discount, -> { Orb::PlanPhasePercentageDiscountAdjustment }
231
231
 
232
+ variant :tiered_percentage_discount, -> { Orb::Plan::Adjustment::TieredPercentageDiscount }
233
+
232
234
  variant :minimum, -> { Orb::PlanPhaseMinimumAdjustment }
233
235
 
234
236
  variant :maximum, -> { Orb::PlanPhaseMaximumAdjustment }
235
237
 
238
+ class TieredPercentageDiscount < Orb::Internal::Type::BaseModel
239
+ # @!attribute id
240
+ #
241
+ # @return [String]
242
+ required :id, String
243
+
244
+ # @!attribute adjustment_type
245
+ #
246
+ # @return [Symbol, :tiered_percentage_discount]
247
+ required :adjustment_type, const: :tiered_percentage_discount
248
+
249
+ # @!attribute applies_to_price_ids
250
+ # @deprecated
251
+ #
252
+ # The price IDs that this adjustment applies to.
253
+ #
254
+ # @return [Array<String>]
255
+ required :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String]
256
+
257
+ # @!attribute filters
258
+ # The filters that determine which prices to apply this adjustment to.
259
+ #
260
+ # @return [Array<Orb::Models::Plan::Adjustment::TieredPercentageDiscount::Filter>]
261
+ required :filters,
262
+ -> { Orb::Internal::Type::ArrayOf[Orb::Plan::Adjustment::TieredPercentageDiscount::Filter] }
263
+
264
+ # @!attribute is_invoice_level
265
+ # True for adjustments that apply to an entire invoice, false for adjustments that
266
+ # apply to only one price.
267
+ #
268
+ # @return [Boolean]
269
+ required :is_invoice_level, Orb::Internal::Type::Boolean
270
+
271
+ # @!attribute plan_phase_order
272
+ # The plan phase in which this adjustment is active.
273
+ #
274
+ # @return [Integer, nil]
275
+ required :plan_phase_order, Integer, nil?: true
276
+
277
+ # @!attribute reason
278
+ # The reason for the adjustment.
279
+ #
280
+ # @return [String, nil]
281
+ required :reason, String, nil?: true
282
+
283
+ # @!attribute replaces_adjustment_id
284
+ # The adjustment id this adjustment replaces. This adjustment will take the place
285
+ # of the replaced adjustment in plan version migrations.
286
+ #
287
+ # @return [String, nil]
288
+ required :replaces_adjustment_id, String, nil?: true
289
+
290
+ # @!attribute tiers
291
+ # The ordered, contiguous bands of cumulative eligible spend, each discounted at
292
+ # its own percentage (progressive fill-a-tier), applied to the prices this
293
+ # adjustment covers in a given billing period.
294
+ #
295
+ # @return [Array<Orb::Models::Plan::Adjustment::TieredPercentageDiscount::Tier>]
296
+ required :tiers,
297
+ -> { Orb::Internal::Type::ArrayOf[Orb::Plan::Adjustment::TieredPercentageDiscount::Tier] }
298
+
299
+ # @!method initialize(id:, applies_to_price_ids:, filters:, is_invoice_level:, plan_phase_order:, reason:, replaces_adjustment_id:, tiers:, adjustment_type: :tiered_percentage_discount)
300
+ # Some parameter documentations has been truncated, see
301
+ # {Orb::Models::Plan::Adjustment::TieredPercentageDiscount} for more details.
302
+ #
303
+ # @param id [String]
304
+ #
305
+ # @param applies_to_price_ids [Array<String>] The price IDs that this adjustment applies to.
306
+ #
307
+ # @param filters [Array<Orb::Models::Plan::Adjustment::TieredPercentageDiscount::Filter>] The filters that determine which prices to apply this adjustment to.
308
+ #
309
+ # @param is_invoice_level [Boolean] True for adjustments that apply to an entire invoice, false for adjustments that
310
+ #
311
+ # @param plan_phase_order [Integer, nil] The plan phase in which this adjustment is active.
312
+ #
313
+ # @param reason [String, nil] The reason for the adjustment.
314
+ #
315
+ # @param replaces_adjustment_id [String, nil] The adjustment id this adjustment replaces. This adjustment will take the place
316
+ #
317
+ # @param tiers [Array<Orb::Models::Plan::Adjustment::TieredPercentageDiscount::Tier>] The ordered, contiguous bands of cumulative eligible spend, each discounted at i
318
+ #
319
+ # @param adjustment_type [Symbol, :tiered_percentage_discount]
320
+
321
+ class Filter < Orb::Internal::Type::BaseModel
322
+ # @!attribute field
323
+ # The property of the price to filter on.
324
+ #
325
+ # @return [Symbol, Orb::Models::Plan::Adjustment::TieredPercentageDiscount::Filter::Field]
326
+ required :field, enum: -> { Orb::Plan::Adjustment::TieredPercentageDiscount::Filter::Field }
327
+
328
+ # @!attribute operator
329
+ # Should prices that match the filter be included or excluded.
330
+ #
331
+ # @return [Symbol, Orb::Models::Plan::Adjustment::TieredPercentageDiscount::Filter::Operator]
332
+ required :operator, enum: -> { Orb::Plan::Adjustment::TieredPercentageDiscount::Filter::Operator }
333
+
334
+ # @!attribute values
335
+ # The IDs or values that match this filter.
336
+ #
337
+ # @return [Array<String>]
338
+ required :values, Orb::Internal::Type::ArrayOf[String]
339
+
340
+ # @!method initialize(field:, operator:, values:)
341
+ # @param field [Symbol, Orb::Models::Plan::Adjustment::TieredPercentageDiscount::Filter::Field] The property of the price to filter on.
342
+ #
343
+ # @param operator [Symbol, Orb::Models::Plan::Adjustment::TieredPercentageDiscount::Filter::Operator] Should prices that match the filter be included or excluded.
344
+ #
345
+ # @param values [Array<String>] The IDs or values that match this filter.
346
+
347
+ # The property of the price to filter on.
348
+ #
349
+ # @see Orb::Models::Plan::Adjustment::TieredPercentageDiscount::Filter#field
350
+ module Field
351
+ extend Orb::Internal::Type::Enum
352
+
353
+ PRICE_ID = :price_id
354
+ ITEM_ID = :item_id
355
+ PRICE_TYPE = :price_type
356
+ CURRENCY = :currency
357
+ PRICING_UNIT_ID = :pricing_unit_id
358
+
359
+ # @!method self.values
360
+ # @return [Array<Symbol>]
361
+ end
362
+
363
+ # Should prices that match the filter be included or excluded.
364
+ #
365
+ # @see Orb::Models::Plan::Adjustment::TieredPercentageDiscount::Filter#operator
366
+ module Operator
367
+ extend Orb::Internal::Type::Enum
368
+
369
+ INCLUDES = :includes
370
+ EXCLUDES = :excludes
371
+
372
+ # @!method self.values
373
+ # @return [Array<Symbol>]
374
+ end
375
+ end
376
+
377
+ class Tier < Orb::Internal::Type::BaseModel
378
+ # @!attribute lower_bound
379
+ # Exclusive lower bound of cumulative spend for this tier.
380
+ #
381
+ # @return [Float]
382
+ required :lower_bound, Float
383
+
384
+ # @!attribute percentage
385
+ # The percentage (between 0 and 1) discounted from spend that falls within this
386
+ # tier.
387
+ #
388
+ # @return [Float]
389
+ required :percentage, Float
390
+
391
+ # @!attribute upper_bound
392
+ # Inclusive upper bound of cumulative spend for this tier; null for the final
393
+ # open-ended tier.
394
+ #
395
+ # @return [Float, nil]
396
+ optional :upper_bound, Float, nil?: true
397
+
398
+ # @!method initialize(lower_bound:, percentage:, upper_bound: nil)
399
+ # Some parameter documentations has been truncated, see
400
+ # {Orb::Models::Plan::Adjustment::TieredPercentageDiscount::Tier} for more
401
+ # details.
402
+ #
403
+ # One band of a tiered percentage discount. Bounds are denominated in the
404
+ # discount's currency. `lower_bound` is the exclusive start of the band and
405
+ # `upper_bound` is the inclusive end; `upper_bound` is null only for the
406
+ # open-ended final tier.
407
+ #
408
+ # @param lower_bound [Float] Exclusive lower bound of cumulative spend for this tier.
409
+ #
410
+ # @param percentage [Float] The percentage (between 0 and 1) discounted from spend that falls within this ti
411
+ #
412
+ # @param upper_bound [Float, nil] Inclusive upper bound of cumulative spend for this tier; null for the final open
413
+ end
414
+ end
415
+
236
416
  # @!method self.variants
237
- # @return [Array(Orb::Models::PlanPhaseUsageDiscountAdjustment, Orb::Models::PlanPhaseAmountDiscountAdjustment, Orb::Models::PlanPhasePercentageDiscountAdjustment, Orb::Models::PlanPhaseMinimumAdjustment, Orb::Models::PlanPhaseMaximumAdjustment)]
417
+ # @return [Array(Orb::Models::PlanPhaseUsageDiscountAdjustment, Orb::Models::PlanPhaseAmountDiscountAdjustment, Orb::Models::PlanPhasePercentageDiscountAdjustment, Orb::Models::Plan::Adjustment::TieredPercentageDiscount, Orb::Models::PlanPhaseMinimumAdjustment, Orb::Models::PlanPhaseMaximumAdjustment)]
238
418
  end
239
419
 
240
420
  # @deprecated
@@ -286,7 +466,7 @@ module Orb
286
466
 
287
467
  # @!attribute discount
288
468
  #
289
- # @return [Orb::Models::PercentageDiscount, Orb::Models::TrialDiscount, Orb::Models::UsageDiscount, Orb::Models::AmountDiscount, nil]
469
+ # @return [Orb::Models::PercentageDiscount, Orb::Models::TrialDiscount, Orb::Models::UsageDiscount, Orb::Models::AmountDiscount, Orb::Models::Discount::TieredPercentage, nil]
290
470
  required :discount, union: -> { Orb::Discount }, nil?: true
291
471
 
292
472
  # @!attribute duration
@@ -340,7 +520,7 @@ module Orb
340
520
  #
341
521
  # @param description [String, nil]
342
522
  #
343
- # @param discount [Orb::Models::PercentageDiscount, Orb::Models::TrialDiscount, Orb::Models::UsageDiscount, Orb::Models::AmountDiscount, nil]
523
+ # @param discount [Orb::Models::PercentageDiscount, Orb::Models::TrialDiscount, Orb::Models::UsageDiscount, Orb::Models::AmountDiscount, Orb::Models::Discount::TieredPercentage, nil]
344
524
  #
345
525
  # @param duration [Integer, nil] How many terms of length `duration_unit` this phase is active for. If null, this
346
526
  #