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
@@ -10,11 +10,11 @@ module Orb
10
10
  # @!attribute body
11
11
  # New floating price request body params.
12
12
  #
13
- # @return [Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::PriceCreateParams::Body::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::PriceCreateParams::Body::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::PriceCreateParams::Body::CumulativeGroupedAllocation, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::PriceCreateParams::Body::Percent, Orb::Models::PriceCreateParams::Body::EventOutput]
13
+ # @return [Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::PriceCreateParams::Body::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::PriceCreateParams::Body::MatrixWithThresholdDiscounts, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::PriceCreateParams::Body::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::PriceCreateParams::Body::CumulativeGroupedAllocation, Orb::Models::PriceCreateParams::Body::DailyCreditAllowance, Orb::Models::PriceCreateParams::Body::MeteredAllowance, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::PriceCreateParams::Body::Percent, Orb::Models::PriceCreateParams::Body::EventOutput]
14
14
  required :body, union: -> { Orb::PriceCreateParams::Body }
15
15
 
16
16
  # @!method initialize(body:, request_options: {})
17
- # @param body [Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::PriceCreateParams::Body::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::PriceCreateParams::Body::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::PriceCreateParams::Body::CumulativeGroupedAllocation, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::PriceCreateParams::Body::Percent, Orb::Models::PriceCreateParams::Body::EventOutput] New floating price request body params.
17
+ # @param body [Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::PriceCreateParams::Body::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::PriceCreateParams::Body::MatrixWithThresholdDiscounts, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::PriceCreateParams::Body::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::PriceCreateParams::Body::CumulativeGroupedAllocation, Orb::Models::PriceCreateParams::Body::DailyCreditAllowance, Orb::Models::PriceCreateParams::Body::MeteredAllowance, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::PriceCreateParams::Body::Percent, Orb::Models::PriceCreateParams::Body::EventOutput] New floating price request body params.
18
18
  #
19
19
  # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}]
20
20
 
@@ -52,6 +52,9 @@ module Orb
52
52
 
53
53
  variant :matrix_with_allocation, -> { Orb::NewFloatingMatrixWithAllocationPrice }
54
54
 
55
+ variant :matrix_with_threshold_discounts,
56
+ -> { Orb::PriceCreateParams::Body::MatrixWithThresholdDiscounts }
57
+
55
58
  variant :tiered_with_proration, -> { Orb::NewFloatingTieredWithProrationPrice }
56
59
 
57
60
  variant :unit_with_proration, -> { Orb::NewFloatingUnitWithProrationPrice }
@@ -80,6 +83,10 @@ module Orb
80
83
 
81
84
  variant :cumulative_grouped_allocation, -> { Orb::PriceCreateParams::Body::CumulativeGroupedAllocation }
82
85
 
86
+ variant :daily_credit_allowance, -> { Orb::PriceCreateParams::Body::DailyCreditAllowance }
87
+
88
+ variant :metered_allowance, -> { Orb::PriceCreateParams::Body::MeteredAllowance }
89
+
83
90
  variant :minimum_composite, -> { Orb::NewFloatingMinimumCompositePrice }
84
91
 
85
92
  variant :percent, -> { Orb::PriceCreateParams::Body::Percent }
@@ -155,9 +162,7 @@ module Orb
155
162
  # The configuration for the rate of the price currency to the invoicing currency.
156
163
  #
157
164
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
158
- optional :conversion_rate_config,
159
- union: -> { Orb::PriceCreateParams::Body::BulkWithFilters::ConversionRateConfig },
160
- nil?: true
165
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
161
166
 
162
167
  # @!attribute dimensional_price_configuration
163
168
  # For dimensional price: specifies a price group and dimension values
@@ -329,6 +334,307 @@ module Orb
329
334
  end
330
335
  end
331
336
 
337
+ class MatrixWithThresholdDiscounts < Orb::Internal::Type::BaseModel
338
+ # @!attribute cadence
339
+ # The cadence to bill for this price on.
340
+ #
341
+ # @return [Symbol, Orb::Models::PriceCreateParams::Body::MatrixWithThresholdDiscounts::Cadence]
342
+ required :cadence, enum: -> { Orb::PriceCreateParams::Body::MatrixWithThresholdDiscounts::Cadence }
343
+
344
+ # @!attribute currency
345
+ # An ISO 4217 currency string for which this price is billed in.
346
+ #
347
+ # @return [String]
348
+ required :currency, String
349
+
350
+ # @!attribute item_id
351
+ # The id of the item the price will be associated with.
352
+ #
353
+ # @return [String]
354
+ required :item_id, String
355
+
356
+ # @!attribute matrix_with_threshold_discounts_config
357
+ # Configuration for matrix_with_threshold_discounts pricing
358
+ #
359
+ # @return [Orb::Models::PriceCreateParams::Body::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig]
360
+ required :matrix_with_threshold_discounts_config,
361
+ -> { Orb::PriceCreateParams::Body::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig }
362
+
363
+ # @!attribute model_type
364
+ # The pricing model type
365
+ #
366
+ # @return [Symbol, :matrix_with_threshold_discounts]
367
+ required :model_type, const: :matrix_with_threshold_discounts
368
+
369
+ # @!attribute name
370
+ # The name of the price.
371
+ #
372
+ # @return [String]
373
+ required :name, String
374
+
375
+ # @!attribute billable_metric_id
376
+ # The id of the billable metric for the price. Only needed if the price is
377
+ # usage-based.
378
+ #
379
+ # @return [String, nil]
380
+ optional :billable_metric_id, String, nil?: true
381
+
382
+ # @!attribute billed_in_advance
383
+ # If the Price represents a fixed cost, the price will be billed in-advance if
384
+ # this is true, and in-arrears if this is false.
385
+ #
386
+ # @return [Boolean, nil]
387
+ optional :billed_in_advance, Orb::Internal::Type::Boolean, nil?: true
388
+
389
+ # @!attribute billing_cycle_configuration
390
+ # For custom cadence: specifies the duration of the billing period in days or
391
+ # months.
392
+ #
393
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
394
+ optional :billing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
395
+
396
+ # @!attribute conversion_rate
397
+ # The per unit conversion rate of the price currency to the invoicing currency.
398
+ #
399
+ # @return [Float, nil]
400
+ optional :conversion_rate, Float, nil?: true
401
+
402
+ # @!attribute conversion_rate_config
403
+ # The configuration for the rate of the price currency to the invoicing currency.
404
+ #
405
+ # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
406
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
407
+
408
+ # @!attribute dimensional_price_configuration
409
+ # For dimensional price: specifies a price group and dimension values
410
+ #
411
+ # @return [Orb::Models::NewDimensionalPriceConfiguration, nil]
412
+ optional :dimensional_price_configuration, -> { Orb::NewDimensionalPriceConfiguration }, nil?: true
413
+
414
+ # @!attribute external_price_id
415
+ # An alias for the price.
416
+ #
417
+ # @return [String, nil]
418
+ optional :external_price_id, String, nil?: true
419
+
420
+ # @!attribute fixed_price_quantity
421
+ # If the Price represents a fixed cost, this represents the quantity of units
422
+ # applied.
423
+ #
424
+ # @return [Float, nil]
425
+ optional :fixed_price_quantity, Float, nil?: true
426
+
427
+ # @!attribute invoice_grouping_key
428
+ # The property used to group this price on an invoice
429
+ #
430
+ # @return [String, nil]
431
+ optional :invoice_grouping_key, String, nil?: true
432
+
433
+ # @!attribute invoicing_cycle_configuration
434
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
435
+ # If unspecified, a single invoice is produced per billing cycle.
436
+ #
437
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
438
+ optional :invoicing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
439
+
440
+ # @!attribute license_type_id
441
+ # The ID of the license type to associate with this price.
442
+ #
443
+ # @return [String, nil]
444
+ optional :license_type_id, String, nil?: true
445
+
446
+ # @!attribute metadata
447
+ # User-specified key/value pairs for the resource. Individual keys can be removed
448
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
449
+ # by setting `metadata` to `null`.
450
+ #
451
+ # @return [Hash{Symbol=>String, nil}, nil]
452
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
453
+
454
+ # @!method initialize(cadence:, currency:, item_id:, matrix_with_threshold_discounts_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, model_type: :matrix_with_threshold_discounts)
455
+ # Some parameter documentations has been truncated, see
456
+ # {Orb::Models::PriceCreateParams::Body::MatrixWithThresholdDiscounts} for more
457
+ # details.
458
+ #
459
+ # @param cadence [Symbol, Orb::Models::PriceCreateParams::Body::MatrixWithThresholdDiscounts::Cadence] The cadence to bill for this price on.
460
+ #
461
+ # @param currency [String] An ISO 4217 currency string for which this price is billed in.
462
+ #
463
+ # @param item_id [String] The id of the item the price will be associated with.
464
+ #
465
+ # @param matrix_with_threshold_discounts_config [Orb::Models::PriceCreateParams::Body::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig] Configuration for matrix_with_threshold_discounts pricing
466
+ #
467
+ # @param name [String] The name of the price.
468
+ #
469
+ # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
470
+ #
471
+ # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
472
+ #
473
+ # @param billing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont
474
+ #
475
+ # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency.
476
+ #
477
+ # @param conversion_rate_config [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil] The configuration for the rate of the price currency to the invoicing currency.
478
+ #
479
+ # @param dimensional_price_configuration [Orb::Models::NewDimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values
480
+ #
481
+ # @param external_price_id [String, nil] An alias for the price.
482
+ #
483
+ # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl
484
+ #
485
+ # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice
486
+ #
487
+ # @param invoicing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced.
488
+ #
489
+ # @param license_type_id [String, nil] The ID of the license type to associate with this price.
490
+ #
491
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
492
+ #
493
+ # @param model_type [Symbol, :matrix_with_threshold_discounts] The pricing model type
494
+
495
+ # The cadence to bill for this price on.
496
+ #
497
+ # @see Orb::Models::PriceCreateParams::Body::MatrixWithThresholdDiscounts#cadence
498
+ module Cadence
499
+ extend Orb::Internal::Type::Enum
500
+
501
+ ANNUAL = :annual
502
+ SEMI_ANNUAL = :semi_annual
503
+ MONTHLY = :monthly
504
+ QUARTERLY = :quarterly
505
+ ONE_TIME = :one_time
506
+ CUSTOM = :custom
507
+
508
+ # @!method self.values
509
+ # @return [Array<Symbol>]
510
+ end
511
+
512
+ # @see Orb::Models::PriceCreateParams::Body::MatrixWithThresholdDiscounts#matrix_with_threshold_discounts_config
513
+ class MatrixWithThresholdDiscountsConfig < Orb::Internal::Type::BaseModel
514
+ # @!attribute default_unit_amount
515
+ # Unit price used for usage that does not match any defined matrix cell.
516
+ #
517
+ # @return [String]
518
+ required :default_unit_amount, String
519
+
520
+ # @!attribute first_dimension
521
+ # First matrix dimension key.
522
+ #
523
+ # @return [String]
524
+ required :first_dimension, String
525
+
526
+ # @!attribute matrix_values
527
+ # Per-cell unit prices.
528
+ #
529
+ # @return [Array<Orb::Models::PriceCreateParams::Body::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig::MatrixValue>]
530
+ required :matrix_values,
531
+ -> do
532
+ Orb::Internal::Type::ArrayOf[
533
+ Orb::PriceCreateParams::Body::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig::MatrixValue
534
+ ]
535
+ end
536
+
537
+ # @!attribute second_dimension
538
+ # Optional second matrix dimension key.
539
+ #
540
+ # @return [String, nil]
541
+ optional :second_dimension, String, nil?: true
542
+
543
+ # @!attribute threshold_discount_groups
544
+ #
545
+ # @return [Array<Orb::Models::PriceCreateParams::Body::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig::ThresholdDiscountGroup>, nil]
546
+ optional :threshold_discount_groups,
547
+ -> do
548
+ Orb::Internal::Type::ArrayOf[
549
+ Orb::PriceCreateParams::Body::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig::ThresholdDiscountGroup
550
+ ]
551
+ end
552
+
553
+ # @!method initialize(default_unit_amount:, first_dimension:, matrix_values:, second_dimension: nil, threshold_discount_groups: nil)
554
+ # Configuration for matrix_with_threshold_discounts pricing
555
+ #
556
+ # @param default_unit_amount [String] Unit price used for usage that does not match any defined matrix cell.
557
+ #
558
+ # @param first_dimension [String] First matrix dimension key.
559
+ #
560
+ # @param matrix_values [Array<Orb::Models::PriceCreateParams::Body::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig::MatrixValue>] Per-cell unit prices.
561
+ #
562
+ # @param second_dimension [String, nil] Optional second matrix dimension key.
563
+ #
564
+ # @param threshold_discount_groups [Array<Orb::Models::PriceCreateParams::Body::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig::ThresholdDiscountGroup>]
565
+
566
+ class MatrixValue < Orb::Internal::Type::BaseModel
567
+ # @!attribute first_dimension_value
568
+ #
569
+ # @return [String]
570
+ required :first_dimension_value, String
571
+
572
+ # @!attribute unit_amount
573
+ #
574
+ # @return [String]
575
+ required :unit_amount, String
576
+
577
+ # @!attribute second_dimension_value
578
+ #
579
+ # @return [String, nil]
580
+ optional :second_dimension_value, String, nil?: true
581
+
582
+ # @!method initialize(first_dimension_value:, unit_amount:, second_dimension_value: nil)
583
+ # @param first_dimension_value [String]
584
+ # @param unit_amount [String]
585
+ # @param second_dimension_value [String, nil]
586
+ end
587
+
588
+ class ThresholdDiscountGroup < Orb::Internal::Type::BaseModel
589
+ # @!attribute above_threshold_discount_percentage
590
+ # Discount rate applied to spend above the threshold.
591
+ #
592
+ # @return [String]
593
+ required :above_threshold_discount_percentage, String
594
+
595
+ # @!attribute below_threshold_discount_percentage
596
+ # Discount rate applied to spend at or below the threshold. Set to 0 for no
597
+ # baseline discount.
598
+ #
599
+ # @return [String]
600
+ required :below_threshold_discount_percentage, String
601
+
602
+ # @!attribute cell_coordinates
603
+ # Semicolon-separated list of matrix cell coordinates targeted by this group. Each
604
+ # coordinate is `first,second` when the matrix has two dimensions, or just `first`
605
+ # for a single-dimension matrix. Example: `blue,circle;green,triangle`.
606
+ #
607
+ # @return [String]
608
+ required :cell_coordinates, String
609
+
610
+ # @!attribute threshold_amount
611
+ #
612
+ # @return [String]
613
+ required :threshold_amount, String
614
+
615
+ # @!attribute description
616
+ #
617
+ # @return [String, nil]
618
+ optional :description, String, nil?: true
619
+
620
+ # @!method initialize(above_threshold_discount_percentage:, below_threshold_discount_percentage:, cell_coordinates:, threshold_amount:, description: nil)
621
+ # Some parameter documentations has been truncated, see
622
+ # {Orb::Models::PriceCreateParams::Body::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig::ThresholdDiscountGroup}
623
+ # for more details.
624
+ #
625
+ # @param above_threshold_discount_percentage [String] Discount rate applied to spend above the threshold.
626
+ #
627
+ # @param below_threshold_discount_percentage [String] Discount rate applied to spend at or below the threshold. Set to 0 for no baseli
628
+ #
629
+ # @param cell_coordinates [String] Semicolon-separated list of matrix cell coordinates targeted by this group. Each
630
+ #
631
+ # @param threshold_amount [String]
632
+ #
633
+ # @param description [String, nil]
634
+ end
635
+ end
636
+ end
637
+
332
638
  class GroupedWithMinMaxThresholds < Orb::Internal::Type::BaseModel
333
639
  # @!attribute cadence
334
640
  # The cadence to bill for this price on.
@@ -398,11 +704,7 @@ module Orb
398
704
  # The configuration for the rate of the price currency to the invoicing currency.
399
705
  #
400
706
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
401
- optional :conversion_rate_config,
402
- union: -> {
403
- Orb::PriceCreateParams::Body::GroupedWithMinMaxThresholds::ConversionRateConfig
404
- },
405
- nil?: true
707
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
406
708
 
407
709
  # @!attribute dimensional_price_configuration
408
710
  # For dimensional price: specifies a price group and dimension values
@@ -616,11 +918,7 @@ module Orb
616
918
  # The configuration for the rate of the price currency to the invoicing currency.
617
919
  #
618
920
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
619
- optional :conversion_rate_config,
620
- union: -> {
621
- Orb::PriceCreateParams::Body::CumulativeGroupedAllocation::ConversionRateConfig
622
- },
623
- nil?: true
921
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
624
922
 
625
923
  # @!attribute dimensional_price_configuration
626
924
  # For dimensional price: specifies a price group and dimension values
@@ -765,12 +1063,12 @@ module Orb
765
1063
  end
766
1064
  end
767
1065
 
768
- class Percent < Orb::Internal::Type::BaseModel
1066
+ class DailyCreditAllowance < Orb::Internal::Type::BaseModel
769
1067
  # @!attribute cadence
770
1068
  # The cadence to bill for this price on.
771
1069
  #
772
- # @return [Symbol, Orb::Models::PriceCreateParams::Body::Percent::Cadence]
773
- required :cadence, enum: -> { Orb::PriceCreateParams::Body::Percent::Cadence }
1070
+ # @return [Symbol, Orb::Models::PriceCreateParams::Body::DailyCreditAllowance::Cadence]
1071
+ required :cadence, enum: -> { Orb::PriceCreateParams::Body::DailyCreditAllowance::Cadence }
774
1072
 
775
1073
  # @!attribute currency
776
1074
  # An ISO 4217 currency string for which this price is billed in.
@@ -778,6 +1076,13 @@ module Orb
778
1076
  # @return [String]
779
1077
  required :currency, String
780
1078
 
1079
+ # @!attribute daily_credit_allowance_config
1080
+ # Configuration for daily_credit_allowance pricing
1081
+ #
1082
+ # @return [Orb::Models::PriceCreateParams::Body::DailyCreditAllowance::DailyCreditAllowanceConfig]
1083
+ required :daily_credit_allowance_config,
1084
+ -> { Orb::PriceCreateParams::Body::DailyCreditAllowance::DailyCreditAllowanceConfig }
1085
+
781
1086
  # @!attribute item_id
782
1087
  # The id of the item the price will be associated with.
783
1088
  #
@@ -787,8 +1092,8 @@ module Orb
787
1092
  # @!attribute model_type
788
1093
  # The pricing model type
789
1094
  #
790
- # @return [Symbol, :percent]
791
- required :model_type, const: :percent
1095
+ # @return [Symbol, :daily_credit_allowance]
1096
+ required :model_type, const: :daily_credit_allowance
792
1097
 
793
1098
  # @!attribute name
794
1099
  # The name of the price.
@@ -796,12 +1101,6 @@ module Orb
796
1101
  # @return [String]
797
1102
  required :name, String
798
1103
 
799
- # @!attribute percent_config
800
- # Configuration for percent pricing
801
- #
802
- # @return [Orb::Models::PriceCreateParams::Body::Percent::PercentConfig]
803
- required :percent_config, -> { Orb::PriceCreateParams::Body::Percent::PercentConfig }
804
-
805
1104
  # @!attribute billable_metric_id
806
1105
  # The id of the billable metric for the price. Only needed if the price is
807
1106
  # usage-based.
@@ -833,9 +1132,7 @@ module Orb
833
1132
  # The configuration for the rate of the price currency to the invoicing currency.
834
1133
  #
835
1134
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
836
- optional :conversion_rate_config,
837
- union: -> { Orb::PriceCreateParams::Body::Percent::ConversionRateConfig },
838
- nil?: true
1135
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
839
1136
 
840
1137
  # @!attribute dimensional_price_configuration
841
1138
  # For dimensional price: specifies a price group and dimension values
@@ -883,20 +1180,20 @@ module Orb
883
1180
  # @return [Hash{Symbol=>String, nil}, nil]
884
1181
  optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
885
1182
 
886
- # @!method initialize(cadence:, currency:, item_id:, name:, percent_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, model_type: :percent)
1183
+ # @!method initialize(cadence:, currency:, daily_credit_allowance_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, model_type: :daily_credit_allowance)
887
1184
  # Some parameter documentations has been truncated, see
888
- # {Orb::Models::PriceCreateParams::Body::Percent} for more details.
1185
+ # {Orb::Models::PriceCreateParams::Body::DailyCreditAllowance} for more details.
889
1186
  #
890
- # @param cadence [Symbol, Orb::Models::PriceCreateParams::Body::Percent::Cadence] The cadence to bill for this price on.
1187
+ # @param cadence [Symbol, Orb::Models::PriceCreateParams::Body::DailyCreditAllowance::Cadence] The cadence to bill for this price on.
891
1188
  #
892
1189
  # @param currency [String] An ISO 4217 currency string for which this price is billed in.
893
1190
  #
1191
+ # @param daily_credit_allowance_config [Orb::Models::PriceCreateParams::Body::DailyCreditAllowance::DailyCreditAllowanceConfig] Configuration for daily_credit_allowance pricing
1192
+ #
894
1193
  # @param item_id [String] The id of the item the price will be associated with.
895
1194
  #
896
1195
  # @param name [String] The name of the price.
897
1196
  #
898
- # @param percent_config [Orb::Models::PriceCreateParams::Body::Percent::PercentConfig] Configuration for percent pricing
899
- #
900
1197
  # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
901
1198
  #
902
1199
  # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
@@ -921,11 +1218,11 @@ module Orb
921
1218
  #
922
1219
  # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
923
1220
  #
924
- # @param model_type [Symbol, :percent] The pricing model type
1221
+ # @param model_type [Symbol, :daily_credit_allowance] The pricing model type
925
1222
 
926
1223
  # The cadence to bill for this price on.
927
1224
  #
928
- # @see Orb::Models::PriceCreateParams::Body::Percent#cadence
1225
+ # @see Orb::Models::PriceCreateParams::Body::DailyCreditAllowance#cadence
929
1226
  module Cadence
930
1227
  extend Orb::Internal::Type::Enum
931
1228
 
@@ -940,18 +1237,540 @@ module Orb
940
1237
  # @return [Array<Symbol>]
941
1238
  end
942
1239
 
943
- # @see Orb::Models::PriceCreateParams::Body::Percent#percent_config
944
- class PercentConfig < Orb::Internal::Type::BaseModel
945
- # @!attribute percent
946
- # What percent of the component subtotals to charge
1240
+ # @see Orb::Models::PriceCreateParams::Body::DailyCreditAllowance#daily_credit_allowance_config
1241
+ class DailyCreditAllowanceConfig < Orb::Internal::Type::BaseModel
1242
+ # @!attribute daily_allowance
1243
+ # Credits granted per day. Lose-it-or-use-it; does not roll over.
947
1244
  #
948
- # @return [Float]
949
- required :percent, Float
1245
+ # @return [String]
1246
+ required :daily_allowance, String
950
1247
 
951
- # @!method initialize(percent:)
952
- # Configuration for percent pricing
1248
+ # @!attribute default_unit_amount
1249
+ # Default per-unit credit rate for any usage not bucketed into a specified
1250
+ # matrix_value
1251
+ #
1252
+ # @return [String]
1253
+ required :default_unit_amount, String
1254
+
1255
+ # @!attribute dimensions
1256
+ # One or two event property values to evaluate matrix groups by
1257
+ #
1258
+ # @return [Array<String, nil>]
1259
+ required :dimensions, Orb::Internal::Type::ArrayOf[String, nil?: true]
1260
+
1261
+ # @!attribute event_day_property
1262
+ # Event property whose value identifies the day bucket the event belongs to (e.g.
1263
+ # 'event_day' set to an ISO date string in the customer's timezone). The allowance
1264
+ # resets per distinct value of this property.
1265
+ #
1266
+ # @return [String]
1267
+ required :event_day_property, String
1268
+
1269
+ # @!attribute matrix_values
1270
+ # Per-dimension credit rates
1271
+ #
1272
+ # @return [Array<Orb::Models::PriceCreateParams::Body::DailyCreditAllowance::DailyCreditAllowanceConfig::MatrixValue>]
1273
+ required :matrix_values,
1274
+ -> { Orb::Internal::Type::ArrayOf[Orb::PriceCreateParams::Body::DailyCreditAllowance::DailyCreditAllowanceConfig::MatrixValue] }
1275
+
1276
+ # @!method initialize(daily_allowance:, default_unit_amount:, dimensions:, event_day_property:, matrix_values:)
1277
+ # Some parameter documentations has been truncated, see
1278
+ # {Orb::Models::PriceCreateParams::Body::DailyCreditAllowance::DailyCreditAllowanceConfig}
1279
+ # for more details.
1280
+ #
1281
+ # Configuration for daily_credit_allowance pricing
1282
+ #
1283
+ # @param daily_allowance [String] Credits granted per day. Lose-it-or-use-it; does not roll over.
1284
+ #
1285
+ # @param default_unit_amount [String] Default per-unit credit rate for any usage not bucketed into a specified
1286
+ # matrix\_
1287
+ #
1288
+ # @param dimensions [Array<String, nil>] One or two event property values to evaluate matrix groups by
1289
+ #
1290
+ # @param event_day_property [String] Event property whose value identifies the day bucket the event belongs to (e.g.
1291
+ #
1292
+ # @param matrix_values [Array<Orb::Models::PriceCreateParams::Body::DailyCreditAllowance::DailyCreditAllowanceConfig::MatrixValue>] Per-dimension credit rates
1293
+
1294
+ class MatrixValue < Orb::Internal::Type::BaseModel
1295
+ # @!attribute dimension_values
1296
+ # One or two matrix keys to filter usage to this value by. For example, ["model"]
1297
+ # could be used to apply a different credit rate to each AI model.
1298
+ #
1299
+ # @return [Array<String, nil>]
1300
+ required :dimension_values, Orb::Internal::Type::ArrayOf[String, nil?: true]
1301
+
1302
+ # @!attribute unit_amount
1303
+ # Credits charged per unit of usage matching the specified dimension_values
1304
+ #
1305
+ # @return [String]
1306
+ required :unit_amount, String
1307
+
1308
+ # @!method initialize(dimension_values:, unit_amount:)
1309
+ # Some parameter documentations has been truncated, see
1310
+ # {Orb::Models::PriceCreateParams::Body::DailyCreditAllowance::DailyCreditAllowanceConfig::MatrixValue}
1311
+ # for more details.
1312
+ #
1313
+ # Per-dimension credit price for the daily credit allowance model.
1314
+ #
1315
+ # @param dimension_values [Array<String, nil>] One or two matrix keys to filter usage to this value by. For example, ["model"]
1316
+ #
1317
+ # @param unit_amount [String] Credits charged per unit of usage matching the specified dimension_values
1318
+ end
1319
+ end
1320
+ end
1321
+
1322
+ class MeteredAllowance < Orb::Internal::Type::BaseModel
1323
+ # @!attribute cadence
1324
+ # The cadence to bill for this price on.
1325
+ #
1326
+ # @return [Symbol, Orb::Models::PriceCreateParams::Body::MeteredAllowance::Cadence]
1327
+ required :cadence, enum: -> { Orb::PriceCreateParams::Body::MeteredAllowance::Cadence }
1328
+
1329
+ # @!attribute currency
1330
+ # An ISO 4217 currency string for which this price is billed in.
1331
+ #
1332
+ # @return [String]
1333
+ required :currency, String
1334
+
1335
+ # @!attribute item_id
1336
+ # The id of the item the price will be associated with.
1337
+ #
1338
+ # @return [String]
1339
+ required :item_id, String
1340
+
1341
+ # @!attribute metered_allowance_config
1342
+ # Configuration for metered_allowance pricing
1343
+ #
1344
+ # @return [Orb::Models::PriceCreateParams::Body::MeteredAllowance::MeteredAllowanceConfig]
1345
+ required :metered_allowance_config,
1346
+ -> { Orb::PriceCreateParams::Body::MeteredAllowance::MeteredAllowanceConfig }
1347
+
1348
+ # @!attribute model_type
1349
+ # The pricing model type
1350
+ #
1351
+ # @return [Symbol, :metered_allowance]
1352
+ required :model_type, const: :metered_allowance
1353
+
1354
+ # @!attribute name
1355
+ # The name of the price.
1356
+ #
1357
+ # @return [String]
1358
+ required :name, String
1359
+
1360
+ # @!attribute billable_metric_id
1361
+ # The id of the billable metric for the price. Only needed if the price is
1362
+ # usage-based.
1363
+ #
1364
+ # @return [String, nil]
1365
+ optional :billable_metric_id, String, nil?: true
1366
+
1367
+ # @!attribute billed_in_advance
1368
+ # If the Price represents a fixed cost, the price will be billed in-advance if
1369
+ # this is true, and in-arrears if this is false.
1370
+ #
1371
+ # @return [Boolean, nil]
1372
+ optional :billed_in_advance, Orb::Internal::Type::Boolean, nil?: true
1373
+
1374
+ # @!attribute billing_cycle_configuration
1375
+ # For custom cadence: specifies the duration of the billing period in days or
1376
+ # months.
1377
+ #
1378
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
1379
+ optional :billing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
1380
+
1381
+ # @!attribute conversion_rate
1382
+ # The per unit conversion rate of the price currency to the invoicing currency.
1383
+ #
1384
+ # @return [Float, nil]
1385
+ optional :conversion_rate, Float, nil?: true
1386
+
1387
+ # @!attribute conversion_rate_config
1388
+ # The configuration for the rate of the price currency to the invoicing currency.
1389
+ #
1390
+ # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
1391
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
1392
+
1393
+ # @!attribute dimensional_price_configuration
1394
+ # For dimensional price: specifies a price group and dimension values
1395
+ #
1396
+ # @return [Orb::Models::NewDimensionalPriceConfiguration, nil]
1397
+ optional :dimensional_price_configuration, -> { Orb::NewDimensionalPriceConfiguration }, nil?: true
1398
+
1399
+ # @!attribute external_price_id
1400
+ # An alias for the price.
1401
+ #
1402
+ # @return [String, nil]
1403
+ optional :external_price_id, String, nil?: true
1404
+
1405
+ # @!attribute fixed_price_quantity
1406
+ # If the Price represents a fixed cost, this represents the quantity of units
1407
+ # applied.
1408
+ #
1409
+ # @return [Float, nil]
1410
+ optional :fixed_price_quantity, Float, nil?: true
1411
+
1412
+ # @!attribute invoice_grouping_key
1413
+ # The property used to group this price on an invoice
1414
+ #
1415
+ # @return [String, nil]
1416
+ optional :invoice_grouping_key, String, nil?: true
1417
+
1418
+ # @!attribute invoicing_cycle_configuration
1419
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
1420
+ # If unspecified, a single invoice is produced per billing cycle.
1421
+ #
1422
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
1423
+ optional :invoicing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
1424
+
1425
+ # @!attribute license_type_id
1426
+ # The ID of the license type to associate with this price.
1427
+ #
1428
+ # @return [String, nil]
1429
+ optional :license_type_id, String, nil?: true
1430
+
1431
+ # @!attribute metadata
1432
+ # User-specified key/value pairs for the resource. Individual keys can be removed
1433
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
1434
+ # by setting `metadata` to `null`.
1435
+ #
1436
+ # @return [Hash{Symbol=>String, nil}, nil]
1437
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
1438
+
1439
+ # @!method initialize(cadence:, currency:, item_id:, metered_allowance_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, model_type: :metered_allowance)
1440
+ # Some parameter documentations has been truncated, see
1441
+ # {Orb::Models::PriceCreateParams::Body::MeteredAllowance} for more details.
1442
+ #
1443
+ # @param cadence [Symbol, Orb::Models::PriceCreateParams::Body::MeteredAllowance::Cadence] The cadence to bill for this price on.
1444
+ #
1445
+ # @param currency [String] An ISO 4217 currency string for which this price is billed in.
1446
+ #
1447
+ # @param item_id [String] The id of the item the price will be associated with.
1448
+ #
1449
+ # @param metered_allowance_config [Orb::Models::PriceCreateParams::Body::MeteredAllowance::MeteredAllowanceConfig] Configuration for metered_allowance pricing
1450
+ #
1451
+ # @param name [String] The name of the price.
1452
+ #
1453
+ # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
1454
+ #
1455
+ # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
1456
+ #
1457
+ # @param billing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont
1458
+ #
1459
+ # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency.
1460
+ #
1461
+ # @param conversion_rate_config [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil] The configuration for the rate of the price currency to the invoicing currency.
1462
+ #
1463
+ # @param dimensional_price_configuration [Orb::Models::NewDimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values
1464
+ #
1465
+ # @param external_price_id [String, nil] An alias for the price.
1466
+ #
1467
+ # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl
1468
+ #
1469
+ # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice
1470
+ #
1471
+ # @param invoicing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced.
1472
+ #
1473
+ # @param license_type_id [String, nil] The ID of the license type to associate with this price.
1474
+ #
1475
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
1476
+ #
1477
+ # @param model_type [Symbol, :metered_allowance] The pricing model type
1478
+
1479
+ # The cadence to bill for this price on.
1480
+ #
1481
+ # @see Orb::Models::PriceCreateParams::Body::MeteredAllowance#cadence
1482
+ module Cadence
1483
+ extend Orb::Internal::Type::Enum
1484
+
1485
+ ANNUAL = :annual
1486
+ SEMI_ANNUAL = :semi_annual
1487
+ MONTHLY = :monthly
1488
+ QUARTERLY = :quarterly
1489
+ ONE_TIME = :one_time
1490
+ CUSTOM = :custom
1491
+
1492
+ # @!method self.values
1493
+ # @return [Array<Symbol>]
1494
+ end
1495
+
1496
+ # @see Orb::Models::PriceCreateParams::Body::MeteredAllowance#metered_allowance_config
1497
+ class MeteredAllowanceConfig < Orb::Internal::Type::BaseModel
1498
+ # @!attribute allowance_grouping_value
1499
+ # The grouping_key value whose summed quantity represents the allowance for this
1500
+ # period (e.g. 'storage_snapshot' emitting 3 × avg storage). Capped at consumption
1501
+ # — credit can never exceed actual usage.
1502
+ #
1503
+ # @return [String]
1504
+ required :allowance_grouping_value, String
1505
+
1506
+ # @!attribute consumption_grouping_value
1507
+ # The grouping_key value whose summed quantity represents consumption (e.g.
1508
+ # 'download'). Charged at unit_amount.
1509
+ #
1510
+ # @return [String]
1511
+ required :consumption_grouping_value, String
1512
+
1513
+ # @!attribute grouping_key
1514
+ # Event property used to partition the metric into consumption and allowance
1515
+ # quantities (e.g. 'event_name'). The metric is queried with this key and the two
1516
+ # values below select which partition is which.
1517
+ #
1518
+ # @return [String]
1519
+ required :grouping_key, String
1520
+
1521
+ # @!attribute unit_amount
1522
+ # Per-unit price applied to gross consumption and to the allowance credit.
1523
+ #
1524
+ # @return [String]
1525
+ required :unit_amount, String
1526
+
1527
+ # @!attribute allowance_display_name
1528
+ # Sub-line label for the credit row (e.g. 'Up to 3x free egress').
1529
+ #
1530
+ # @return [String, nil]
1531
+ optional :allowance_display_name, String
1532
+
1533
+ # @!attribute consumption_display_name
1534
+ # Sub-line label for the gross consumption row (e.g. 'bytes gotten').
1535
+ #
1536
+ # @return [String, nil]
1537
+ optional :consumption_display_name, String
1538
+
1539
+ # @!method initialize(allowance_grouping_value:, consumption_grouping_value:, grouping_key:, unit_amount:, allowance_display_name: nil, consumption_display_name: nil)
1540
+ # Some parameter documentations has been truncated, see
1541
+ # {Orb::Models::PriceCreateParams::Body::MeteredAllowance::MeteredAllowanceConfig}
1542
+ # for more details.
1543
+ #
1544
+ # Configuration for metered_allowance pricing
1545
+ #
1546
+ # @param allowance_grouping_value [String] The grouping_key value whose summed quantity represents the allowance for this p
1547
+ #
1548
+ # @param consumption_grouping_value [String] The grouping_key value whose summed quantity represents consumption (e.g. 'downl
1549
+ #
1550
+ # @param grouping_key [String] Event property used to partition the metric into consumption and allowance quant
1551
+ #
1552
+ # @param unit_amount [String] Per-unit price applied to gross consumption and to the allowance credit.
1553
+ #
1554
+ # @param allowance_display_name [String] Sub-line label for the credit row (e.g. 'Up to 3x free egress').
1555
+ #
1556
+ # @param consumption_display_name [String] Sub-line label for the gross consumption row (e.g. 'bytes gotten').
1557
+ end
1558
+ end
1559
+
1560
+ class Percent < Orb::Internal::Type::BaseModel
1561
+ # @!attribute cadence
1562
+ # The cadence to bill for this price on.
1563
+ #
1564
+ # @return [Symbol, Orb::Models::PriceCreateParams::Body::Percent::Cadence]
1565
+ required :cadence, enum: -> { Orb::PriceCreateParams::Body::Percent::Cadence }
1566
+
1567
+ # @!attribute currency
1568
+ # An ISO 4217 currency string for which this price is billed in.
1569
+ #
1570
+ # @return [String]
1571
+ required :currency, String
1572
+
1573
+ # @!attribute item_id
1574
+ # The id of the item the price will be associated with.
1575
+ #
1576
+ # @return [String]
1577
+ required :item_id, String
1578
+
1579
+ # @!attribute model_type
1580
+ # The pricing model type
1581
+ #
1582
+ # @return [Symbol, :percent]
1583
+ required :model_type, const: :percent
1584
+
1585
+ # @!attribute name
1586
+ # The name of the price.
1587
+ #
1588
+ # @return [String]
1589
+ required :name, String
1590
+
1591
+ # @!attribute percent_config
1592
+ # Configuration for percent pricing
1593
+ #
1594
+ # @return [Orb::Models::PriceCreateParams::Body::Percent::PercentConfig]
1595
+ required :percent_config, -> { Orb::PriceCreateParams::Body::Percent::PercentConfig }
1596
+
1597
+ # @!attribute billable_metric_id
1598
+ # The id of the billable metric for the price. Only needed if the price is
1599
+ # usage-based.
1600
+ #
1601
+ # @return [String, nil]
1602
+ optional :billable_metric_id, String, nil?: true
1603
+
1604
+ # @!attribute billed_in_advance
1605
+ # If the Price represents a fixed cost, the price will be billed in-advance if
1606
+ # this is true, and in-arrears if this is false.
1607
+ #
1608
+ # @return [Boolean, nil]
1609
+ optional :billed_in_advance, Orb::Internal::Type::Boolean, nil?: true
1610
+
1611
+ # @!attribute billing_cycle_configuration
1612
+ # For custom cadence: specifies the duration of the billing period in days or
1613
+ # months.
1614
+ #
1615
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
1616
+ optional :billing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
1617
+
1618
+ # @!attribute conversion_rate
1619
+ # The per unit conversion rate of the price currency to the invoicing currency.
1620
+ #
1621
+ # @return [Float, nil]
1622
+ optional :conversion_rate, Float, nil?: true
1623
+
1624
+ # @!attribute conversion_rate_config
1625
+ # The configuration for the rate of the price currency to the invoicing currency.
1626
+ #
1627
+ # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
1628
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
1629
+
1630
+ # @!attribute dimensional_price_configuration
1631
+ # For dimensional price: specifies a price group and dimension values
1632
+ #
1633
+ # @return [Orb::Models::NewDimensionalPriceConfiguration, nil]
1634
+ optional :dimensional_price_configuration, -> { Orb::NewDimensionalPriceConfiguration }, nil?: true
1635
+
1636
+ # @!attribute external_price_id
1637
+ # An alias for the price.
1638
+ #
1639
+ # @return [String, nil]
1640
+ optional :external_price_id, String, nil?: true
1641
+
1642
+ # @!attribute fixed_price_quantity
1643
+ # If the Price represents a fixed cost, this represents the quantity of units
1644
+ # applied.
1645
+ #
1646
+ # @return [Float, nil]
1647
+ optional :fixed_price_quantity, Float, nil?: true
1648
+
1649
+ # @!attribute invoice_grouping_key
1650
+ # The property used to group this price on an invoice
1651
+ #
1652
+ # @return [String, nil]
1653
+ optional :invoice_grouping_key, String, nil?: true
1654
+
1655
+ # @!attribute invoicing_cycle_configuration
1656
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
1657
+ # If unspecified, a single invoice is produced per billing cycle.
1658
+ #
1659
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
1660
+ optional :invoicing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
1661
+
1662
+ # @!attribute license_type_id
1663
+ # The ID of the license type to associate with this price.
1664
+ #
1665
+ # @return [String, nil]
1666
+ optional :license_type_id, String, nil?: true
1667
+
1668
+ # @!attribute metadata
1669
+ # User-specified key/value pairs for the resource. Individual keys can be removed
1670
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
1671
+ # by setting `metadata` to `null`.
1672
+ #
1673
+ # @return [Hash{Symbol=>String, nil}, nil]
1674
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
1675
+
1676
+ # @!method initialize(cadence:, currency:, item_id:, name:, percent_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, model_type: :percent)
1677
+ # Some parameter documentations has been truncated, see
1678
+ # {Orb::Models::PriceCreateParams::Body::Percent} for more details.
1679
+ #
1680
+ # @param cadence [Symbol, Orb::Models::PriceCreateParams::Body::Percent::Cadence] The cadence to bill for this price on.
1681
+ #
1682
+ # @param currency [String] An ISO 4217 currency string for which this price is billed in.
1683
+ #
1684
+ # @param item_id [String] The id of the item the price will be associated with.
1685
+ #
1686
+ # @param name [String] The name of the price.
1687
+ #
1688
+ # @param percent_config [Orb::Models::PriceCreateParams::Body::Percent::PercentConfig] Configuration for percent pricing
1689
+ #
1690
+ # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
1691
+ #
1692
+ # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
1693
+ #
1694
+ # @param billing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont
1695
+ #
1696
+ # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency.
1697
+ #
1698
+ # @param conversion_rate_config [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil] The configuration for the rate of the price currency to the invoicing currency.
1699
+ #
1700
+ # @param dimensional_price_configuration [Orb::Models::NewDimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values
1701
+ #
1702
+ # @param external_price_id [String, nil] An alias for the price.
1703
+ #
1704
+ # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl
1705
+ #
1706
+ # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice
1707
+ #
1708
+ # @param invoicing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced.
1709
+ #
1710
+ # @param license_type_id [String, nil] The ID of the license type to associate with this price.
1711
+ #
1712
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
1713
+ #
1714
+ # @param model_type [Symbol, :percent] The pricing model type
1715
+
1716
+ # The cadence to bill for this price on.
1717
+ #
1718
+ # @see Orb::Models::PriceCreateParams::Body::Percent#cadence
1719
+ module Cadence
1720
+ extend Orb::Internal::Type::Enum
1721
+
1722
+ ANNUAL = :annual
1723
+ SEMI_ANNUAL = :semi_annual
1724
+ MONTHLY = :monthly
1725
+ QUARTERLY = :quarterly
1726
+ ONE_TIME = :one_time
1727
+ CUSTOM = :custom
1728
+
1729
+ # @!method self.values
1730
+ # @return [Array<Symbol>]
1731
+ end
1732
+
1733
+ # @see Orb::Models::PriceCreateParams::Body::Percent#percent_config
1734
+ class PercentConfig < Orb::Internal::Type::BaseModel
1735
+ # @!attribute percent
1736
+ # Fraction of the component subtotals to charge (0 < percent <= 1).
1737
+ #
1738
+ # @return [Float]
1739
+ required :percent, Float
1740
+
1741
+ # @!attribute maximum_amount
1742
+ # Maximum amount to charge. If unset, the fee has no upper bound.
1743
+ #
1744
+ # @return [String, nil]
1745
+ optional :maximum_amount, String, nil?: true
1746
+
1747
+ # @!attribute minimum_amount
1748
+ # Minimum amount to charge. If unset, the fee is bounded below by 0.
1749
+ #
1750
+ # @return [String, nil]
1751
+ optional :minimum_amount, String, nil?: true
1752
+
1753
+ # @!attribute prorated
1754
+ # If true, the minimum_amount is prorated based on the service period. The
1755
+ # maximum_amount is an absolute cap (never prorated), and the percent applied to
1756
+ # upstream subtotals is never prorated either.
1757
+ #
1758
+ # @return [Boolean, nil]
1759
+ optional :prorated, Orb::Internal::Type::Boolean
1760
+
1761
+ # @!method initialize(percent:, maximum_amount: nil, minimum_amount: nil, prorated: nil)
1762
+ # Some parameter documentations has been truncated, see
1763
+ # {Orb::Models::PriceCreateParams::Body::Percent::PercentConfig} for more details.
1764
+ #
1765
+ # Configuration for percent pricing
1766
+ #
1767
+ # @param percent [Float] Fraction of the component subtotals to charge (0 < percent <= 1).
1768
+ #
1769
+ # @param maximum_amount [String, nil] Maximum amount to charge. If unset, the fee has no upper bound.
1770
+ #
1771
+ # @param minimum_amount [String, nil] Minimum amount to charge. If unset, the fee is bounded below by 0.
953
1772
  #
954
- # @param percent [Float] What percent of the component subtotals to charge
1773
+ # @param prorated [Boolean] If true, the minimum_amount is prorated based on the service period. The maximum
955
1774
  end
956
1775
  end
957
1776
 
@@ -1023,9 +1842,7 @@ module Orb
1023
1842
  # The configuration for the rate of the price currency to the invoicing currency.
1024
1843
  #
1025
1844
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
1026
- optional :conversion_rate_config,
1027
- union: -> { Orb::PriceCreateParams::Body::EventOutput::ConversionRateConfig },
1028
- nil?: true
1845
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
1029
1846
 
1030
1847
  # @!attribute dimensional_price_configuration
1031
1848
  # For dimensional price: specifies a price group and dimension values
@@ -1169,7 +1986,7 @@ module Orb
1169
1986
  end
1170
1987
 
1171
1988
  # @!method self.variants
1172
- # @return [Array(Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::PriceCreateParams::Body::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::PriceCreateParams::Body::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::PriceCreateParams::Body::CumulativeGroupedAllocation, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::PriceCreateParams::Body::Percent, Orb::Models::PriceCreateParams::Body::EventOutput)]
1989
+ # @return [Array(Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::PriceCreateParams::Body::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::PriceCreateParams::Body::MatrixWithThresholdDiscounts, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::PriceCreateParams::Body::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::PriceCreateParams::Body::CumulativeGroupedAllocation, Orb::Models::PriceCreateParams::Body::DailyCreditAllowance, Orb::Models::PriceCreateParams::Body::MeteredAllowance, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::PriceCreateParams::Body::Percent, Orb::Models::PriceCreateParams::Body::EventOutput)]
1173
1990
  end
1174
1991
  end
1175
1992
  end