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
@@ -22,6 +22,11 @@ module Orb
22
22
  sig { returns(Orb::AlertCreateForSubscriptionParams::Type::OrSymbol) }
23
23
  attr_accessor :type
24
24
 
25
+ # The case sensitive currency or custom pricing unit to use for grouped cost
26
+ # alerts. Required when grouping_keys is set.
27
+ sig { returns(T.nilable(String)) }
28
+ attr_accessor :currency
29
+
25
30
  # The property keys to group cost alerts by. Only applicable for cost_exceeded
26
31
  # alerts.
27
32
  sig { returns(T.nilable(T::Array[String])) }
@@ -31,19 +36,52 @@ module Orb
31
36
  sig { returns(T.nilable(String)) }
32
37
  attr_accessor :metric_id
33
38
 
34
- # The pricing unit to use for grouped cost alerts. Required when grouping_keys is
35
- # set.
36
- sig { returns(T.nilable(String)) }
37
- attr_accessor :pricing_unit_id
39
+ # Filters to scope which prices are included in grouped cost alert evaluation.
40
+ # Supports filtering by price_id, item_id, or price_type with includes/excludes
41
+ # operators. Only applicable when grouping_keys is set.
42
+ sig do
43
+ returns(
44
+ T.nilable(
45
+ T::Array[Orb::AlertCreateForSubscriptionParams::PriceFilter]
46
+ )
47
+ )
48
+ end
49
+ attr_accessor :price_filters
50
+
51
+ # Per-group threshold overrides. Each override maps a specific combination of
52
+ # grouping_keys values to a list of thresholds that fully replaces the default
53
+ # thresholds for that group. An empty thresholds list silences the group. Groups
54
+ # without an override use the default thresholds. Only applicable when
55
+ # grouping_keys is set.
56
+ sig do
57
+ returns(
58
+ T.nilable(
59
+ T::Array[Orb::AlertCreateForSubscriptionParams::ThresholdOverride]
60
+ )
61
+ )
62
+ end
63
+ attr_accessor :threshold_overrides
38
64
 
39
65
  sig do
40
66
  params(
41
67
  subscription_id: String,
42
68
  thresholds: T::Array[Orb::Threshold::OrHash],
43
69
  type: Orb::AlertCreateForSubscriptionParams::Type::OrSymbol,
70
+ currency: T.nilable(String),
44
71
  grouping_keys: T.nilable(T::Array[String]),
45
72
  metric_id: T.nilable(String),
46
- pricing_unit_id: T.nilable(String),
73
+ price_filters:
74
+ T.nilable(
75
+ T::Array[
76
+ Orb::AlertCreateForSubscriptionParams::PriceFilter::OrHash
77
+ ]
78
+ ),
79
+ threshold_overrides:
80
+ T.nilable(
81
+ T::Array[
82
+ Orb::AlertCreateForSubscriptionParams::ThresholdOverride::OrHash
83
+ ]
84
+ ),
47
85
  request_options: Orb::RequestOptions::OrHash
48
86
  ).returns(T.attached_class)
49
87
  end
@@ -53,14 +91,24 @@ module Orb
53
91
  thresholds:,
54
92
  # The type of alert to create. This must be a valid alert type.
55
93
  type:,
94
+ # The case sensitive currency or custom pricing unit to use for grouped cost
95
+ # alerts. Required when grouping_keys is set.
96
+ currency: nil,
56
97
  # The property keys to group cost alerts by. Only applicable for cost_exceeded
57
98
  # alerts.
58
99
  grouping_keys: nil,
59
100
  # The metric to track usage for.
60
101
  metric_id: nil,
61
- # The pricing unit to use for grouped cost alerts. Required when grouping_keys is
62
- # set.
63
- pricing_unit_id: nil,
102
+ # Filters to scope which prices are included in grouped cost alert evaluation.
103
+ # Supports filtering by price_id, item_id, or price_type with includes/excludes
104
+ # operators. Only applicable when grouping_keys is set.
105
+ price_filters: nil,
106
+ # Per-group threshold overrides. Each override maps a specific combination of
107
+ # grouping_keys values to a list of thresholds that fully replaces the default
108
+ # thresholds for that group. An empty thresholds list silences the group. Groups
109
+ # without an override use the default thresholds. Only applicable when
110
+ # grouping_keys is set.
111
+ threshold_overrides: nil,
64
112
  request_options: {}
65
113
  )
66
114
  end
@@ -71,9 +119,19 @@ module Orb
71
119
  subscription_id: String,
72
120
  thresholds: T::Array[Orb::Threshold],
73
121
  type: Orb::AlertCreateForSubscriptionParams::Type::OrSymbol,
122
+ currency: T.nilable(String),
74
123
  grouping_keys: T.nilable(T::Array[String]),
75
124
  metric_id: T.nilable(String),
76
- pricing_unit_id: T.nilable(String),
125
+ price_filters:
126
+ T.nilable(
127
+ T::Array[Orb::AlertCreateForSubscriptionParams::PriceFilter]
128
+ ),
129
+ threshold_overrides:
130
+ T.nilable(
131
+ T::Array[
132
+ Orb::AlertCreateForSubscriptionParams::ThresholdOverride
133
+ ]
134
+ ),
77
135
  request_options: Orb::RequestOptions
78
136
  }
79
137
  )
@@ -110,6 +168,207 @@ module Orb
110
168
  def self.values
111
169
  end
112
170
  end
171
+
172
+ class PriceFilter < Orb::Internal::Type::BaseModel
173
+ OrHash =
174
+ T.type_alias do
175
+ T.any(
176
+ Orb::AlertCreateForSubscriptionParams::PriceFilter,
177
+ Orb::Internal::AnyHash
178
+ )
179
+ end
180
+
181
+ # The property of the price to filter on.
182
+ sig do
183
+ returns(
184
+ Orb::AlertCreateForSubscriptionParams::PriceFilter::Field::OrSymbol
185
+ )
186
+ end
187
+ attr_accessor :field
188
+
189
+ # Should prices that match the filter be included or excluded.
190
+ sig do
191
+ returns(
192
+ Orb::AlertCreateForSubscriptionParams::PriceFilter::Operator::OrSymbol
193
+ )
194
+ end
195
+ attr_accessor :operator
196
+
197
+ # The IDs or values that match this filter.
198
+ sig { returns(T::Array[String]) }
199
+ attr_accessor :values
200
+
201
+ sig do
202
+ params(
203
+ field:
204
+ Orb::AlertCreateForSubscriptionParams::PriceFilter::Field::OrSymbol,
205
+ operator:
206
+ Orb::AlertCreateForSubscriptionParams::PriceFilter::Operator::OrSymbol,
207
+ values: T::Array[String]
208
+ ).returns(T.attached_class)
209
+ end
210
+ def self.new(
211
+ # The property of the price to filter on.
212
+ field:,
213
+ # Should prices that match the filter be included or excluded.
214
+ operator:,
215
+ # The IDs or values that match this filter.
216
+ values:
217
+ )
218
+ end
219
+
220
+ sig do
221
+ override.returns(
222
+ {
223
+ field:
224
+ Orb::AlertCreateForSubscriptionParams::PriceFilter::Field::OrSymbol,
225
+ operator:
226
+ Orb::AlertCreateForSubscriptionParams::PriceFilter::Operator::OrSymbol,
227
+ values: T::Array[String]
228
+ }
229
+ )
230
+ end
231
+ def to_hash
232
+ end
233
+
234
+ # The property of the price to filter on.
235
+ module Field
236
+ extend Orb::Internal::Type::Enum
237
+
238
+ TaggedSymbol =
239
+ T.type_alias do
240
+ T.all(
241
+ Symbol,
242
+ Orb::AlertCreateForSubscriptionParams::PriceFilter::Field
243
+ )
244
+ end
245
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
246
+
247
+ PRICE_ID =
248
+ T.let(
249
+ :price_id,
250
+ Orb::AlertCreateForSubscriptionParams::PriceFilter::Field::TaggedSymbol
251
+ )
252
+ ITEM_ID =
253
+ T.let(
254
+ :item_id,
255
+ Orb::AlertCreateForSubscriptionParams::PriceFilter::Field::TaggedSymbol
256
+ )
257
+ PRICE_TYPE =
258
+ T.let(
259
+ :price_type,
260
+ Orb::AlertCreateForSubscriptionParams::PriceFilter::Field::TaggedSymbol
261
+ )
262
+ CURRENCY =
263
+ T.let(
264
+ :currency,
265
+ Orb::AlertCreateForSubscriptionParams::PriceFilter::Field::TaggedSymbol
266
+ )
267
+ PRICING_UNIT_ID =
268
+ T.let(
269
+ :pricing_unit_id,
270
+ Orb::AlertCreateForSubscriptionParams::PriceFilter::Field::TaggedSymbol
271
+ )
272
+
273
+ sig do
274
+ override.returns(
275
+ T::Array[
276
+ Orb::AlertCreateForSubscriptionParams::PriceFilter::Field::TaggedSymbol
277
+ ]
278
+ )
279
+ end
280
+ def self.values
281
+ end
282
+ end
283
+
284
+ # Should prices that match the filter be included or excluded.
285
+ module Operator
286
+ extend Orb::Internal::Type::Enum
287
+
288
+ TaggedSymbol =
289
+ T.type_alias do
290
+ T.all(
291
+ Symbol,
292
+ Orb::AlertCreateForSubscriptionParams::PriceFilter::Operator
293
+ )
294
+ end
295
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
296
+
297
+ INCLUDES =
298
+ T.let(
299
+ :includes,
300
+ Orb::AlertCreateForSubscriptionParams::PriceFilter::Operator::TaggedSymbol
301
+ )
302
+ EXCLUDES =
303
+ T.let(
304
+ :excludes,
305
+ Orb::AlertCreateForSubscriptionParams::PriceFilter::Operator::TaggedSymbol
306
+ )
307
+
308
+ sig do
309
+ override.returns(
310
+ T::Array[
311
+ Orb::AlertCreateForSubscriptionParams::PriceFilter::Operator::TaggedSymbol
312
+ ]
313
+ )
314
+ end
315
+ def self.values
316
+ end
317
+ end
318
+ end
319
+
320
+ class ThresholdOverride < Orb::Internal::Type::BaseModel
321
+ OrHash =
322
+ T.type_alias do
323
+ T.any(
324
+ Orb::AlertCreateForSubscriptionParams::ThresholdOverride,
325
+ Orb::Internal::AnyHash
326
+ )
327
+ end
328
+
329
+ # The values of the grouping keys that identify this group. The list length must
330
+ # match the alert's grouping_keys, and values appear in the same order as
331
+ # grouping_keys.
332
+ sig { returns(T::Array[String]) }
333
+ attr_accessor :group_values
334
+
335
+ # The thresholds to apply to this group. An empty list silences alerts for this
336
+ # group. A non-empty list fully replaces the default thresholds for this group.
337
+ sig { returns(T::Array[Orb::Threshold]) }
338
+ attr_accessor :thresholds
339
+
340
+ # Per-group threshold override on a grouped cost alert.
341
+ #
342
+ # - An empty `thresholds` list silences alerts for this group (never fires).
343
+ # - A non-empty list fully replaces the default thresholds for this group.
344
+ sig do
345
+ params(
346
+ group_values: T::Array[String],
347
+ thresholds: T::Array[Orb::Threshold::OrHash]
348
+ ).returns(T.attached_class)
349
+ end
350
+ def self.new(
351
+ # The values of the grouping keys that identify this group. The list length must
352
+ # match the alert's grouping_keys, and values appear in the same order as
353
+ # grouping_keys.
354
+ group_values:,
355
+ # The thresholds to apply to this group. An empty list silences alerts for this
356
+ # group. A non-empty list fully replaces the default thresholds for this group.
357
+ thresholds:
358
+ )
359
+ end
360
+
361
+ sig do
362
+ override.returns(
363
+ {
364
+ group_values: T::Array[String],
365
+ thresholds: T::Array[Orb::Threshold]
366
+ }
367
+ )
368
+ end
369
+ def to_hash
370
+ end
371
+ end
113
372
  end
114
373
  end
115
374
  end
@@ -16,10 +16,29 @@ module Orb
16
16
  sig { returns(T::Array[Orb::Threshold]) }
17
17
  attr_accessor :thresholds
18
18
 
19
+ # Replaces the price filters on a grouped cost alert; an empty list clears them.
20
+ # Only applicable to cost alerts with grouping_keys. Omit to leave unchanged.
21
+ sig { returns(T.nilable(T::Array[Orb::AlertUpdateParams::PriceFilter])) }
22
+ attr_accessor :price_filters
23
+
24
+ # Replaces the per-group threshold overrides on a grouped cost alert; an empty
25
+ # list clears them. Only applicable to cost alerts with grouping_keys. Omit to
26
+ # leave unchanged.
27
+ sig do
28
+ returns(T.nilable(T::Array[Orb::AlertUpdateParams::ThresholdOverride]))
29
+ end
30
+ attr_accessor :threshold_overrides
31
+
19
32
  sig do
20
33
  params(
21
34
  alert_configuration_id: String,
22
35
  thresholds: T::Array[Orb::Threshold::OrHash],
36
+ price_filters:
37
+ T.nilable(T::Array[Orb::AlertUpdateParams::PriceFilter::OrHash]),
38
+ threshold_overrides:
39
+ T.nilable(
40
+ T::Array[Orb::AlertUpdateParams::ThresholdOverride::OrHash]
41
+ ),
23
42
  request_options: Orb::RequestOptions::OrHash
24
43
  ).returns(T.attached_class)
25
44
  end
@@ -27,6 +46,13 @@ module Orb
27
46
  alert_configuration_id:,
28
47
  # The thresholds that define the values at which the alert will be triggered.
29
48
  thresholds:,
49
+ # Replaces the price filters on a grouped cost alert; an empty list clears them.
50
+ # Only applicable to cost alerts with grouping_keys. Omit to leave unchanged.
51
+ price_filters: nil,
52
+ # Replaces the per-group threshold overrides on a grouped cost alert; an empty
53
+ # list clears them. Only applicable to cost alerts with grouping_keys. Omit to
54
+ # leave unchanged.
55
+ threshold_overrides: nil,
30
56
  request_options: {}
31
57
  )
32
58
  end
@@ -36,12 +62,194 @@ module Orb
36
62
  {
37
63
  alert_configuration_id: String,
38
64
  thresholds: T::Array[Orb::Threshold],
65
+ price_filters:
66
+ T.nilable(T::Array[Orb::AlertUpdateParams::PriceFilter]),
67
+ threshold_overrides:
68
+ T.nilable(T::Array[Orb::AlertUpdateParams::ThresholdOverride]),
39
69
  request_options: Orb::RequestOptions
40
70
  }
41
71
  )
42
72
  end
43
73
  def to_hash
44
74
  end
75
+
76
+ class PriceFilter < Orb::Internal::Type::BaseModel
77
+ OrHash =
78
+ T.type_alias do
79
+ T.any(Orb::AlertUpdateParams::PriceFilter, Orb::Internal::AnyHash)
80
+ end
81
+
82
+ # The property of the price to filter on.
83
+ sig { returns(Orb::AlertUpdateParams::PriceFilter::Field::OrSymbol) }
84
+ attr_accessor :field
85
+
86
+ # Should prices that match the filter be included or excluded.
87
+ sig { returns(Orb::AlertUpdateParams::PriceFilter::Operator::OrSymbol) }
88
+ attr_accessor :operator
89
+
90
+ # The IDs or values that match this filter.
91
+ sig { returns(T::Array[String]) }
92
+ attr_accessor :values
93
+
94
+ sig do
95
+ params(
96
+ field: Orb::AlertUpdateParams::PriceFilter::Field::OrSymbol,
97
+ operator: Orb::AlertUpdateParams::PriceFilter::Operator::OrSymbol,
98
+ values: T::Array[String]
99
+ ).returns(T.attached_class)
100
+ end
101
+ def self.new(
102
+ # The property of the price to filter on.
103
+ field:,
104
+ # Should prices that match the filter be included or excluded.
105
+ operator:,
106
+ # The IDs or values that match this filter.
107
+ values:
108
+ )
109
+ end
110
+
111
+ sig do
112
+ override.returns(
113
+ {
114
+ field: Orb::AlertUpdateParams::PriceFilter::Field::OrSymbol,
115
+ operator: Orb::AlertUpdateParams::PriceFilter::Operator::OrSymbol,
116
+ values: T::Array[String]
117
+ }
118
+ )
119
+ end
120
+ def to_hash
121
+ end
122
+
123
+ # The property of the price to filter on.
124
+ module Field
125
+ extend Orb::Internal::Type::Enum
126
+
127
+ TaggedSymbol =
128
+ T.type_alias do
129
+ T.all(Symbol, Orb::AlertUpdateParams::PriceFilter::Field)
130
+ end
131
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
132
+
133
+ PRICE_ID =
134
+ T.let(
135
+ :price_id,
136
+ Orb::AlertUpdateParams::PriceFilter::Field::TaggedSymbol
137
+ )
138
+ ITEM_ID =
139
+ T.let(
140
+ :item_id,
141
+ Orb::AlertUpdateParams::PriceFilter::Field::TaggedSymbol
142
+ )
143
+ PRICE_TYPE =
144
+ T.let(
145
+ :price_type,
146
+ Orb::AlertUpdateParams::PriceFilter::Field::TaggedSymbol
147
+ )
148
+ CURRENCY =
149
+ T.let(
150
+ :currency,
151
+ Orb::AlertUpdateParams::PriceFilter::Field::TaggedSymbol
152
+ )
153
+ PRICING_UNIT_ID =
154
+ T.let(
155
+ :pricing_unit_id,
156
+ Orb::AlertUpdateParams::PriceFilter::Field::TaggedSymbol
157
+ )
158
+
159
+ sig do
160
+ override.returns(
161
+ T::Array[Orb::AlertUpdateParams::PriceFilter::Field::TaggedSymbol]
162
+ )
163
+ end
164
+ def self.values
165
+ end
166
+ end
167
+
168
+ # Should prices that match the filter be included or excluded.
169
+ module Operator
170
+ extend Orb::Internal::Type::Enum
171
+
172
+ TaggedSymbol =
173
+ T.type_alias do
174
+ T.all(Symbol, Orb::AlertUpdateParams::PriceFilter::Operator)
175
+ end
176
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
177
+
178
+ INCLUDES =
179
+ T.let(
180
+ :includes,
181
+ Orb::AlertUpdateParams::PriceFilter::Operator::TaggedSymbol
182
+ )
183
+ EXCLUDES =
184
+ T.let(
185
+ :excludes,
186
+ Orb::AlertUpdateParams::PriceFilter::Operator::TaggedSymbol
187
+ )
188
+
189
+ sig do
190
+ override.returns(
191
+ T::Array[
192
+ Orb::AlertUpdateParams::PriceFilter::Operator::TaggedSymbol
193
+ ]
194
+ )
195
+ end
196
+ def self.values
197
+ end
198
+ end
199
+ end
200
+
201
+ class ThresholdOverride < Orb::Internal::Type::BaseModel
202
+ OrHash =
203
+ T.type_alias do
204
+ T.any(
205
+ Orb::AlertUpdateParams::ThresholdOverride,
206
+ Orb::Internal::AnyHash
207
+ )
208
+ end
209
+
210
+ # The values of the grouping keys that identify this group. The list length must
211
+ # match the alert's grouping_keys, and values appear in the same order as
212
+ # grouping_keys.
213
+ sig { returns(T::Array[String]) }
214
+ attr_accessor :group_values
215
+
216
+ # The thresholds to apply to this group. An empty list silences alerts for this
217
+ # group. A non-empty list fully replaces the default thresholds for this group.
218
+ sig { returns(T::Array[Orb::Threshold]) }
219
+ attr_accessor :thresholds
220
+
221
+ # Per-group threshold override on a grouped cost alert.
222
+ #
223
+ # - An empty `thresholds` list silences alerts for this group (never fires).
224
+ # - A non-empty list fully replaces the default thresholds for this group.
225
+ sig do
226
+ params(
227
+ group_values: T::Array[String],
228
+ thresholds: T::Array[Orb::Threshold::OrHash]
229
+ ).returns(T.attached_class)
230
+ end
231
+ def self.new(
232
+ # The values of the grouping keys that identify this group. The list length must
233
+ # match the alert's grouping_keys, and values appear in the same order as
234
+ # grouping_keys.
235
+ group_values:,
236
+ # The thresholds to apply to this group. An empty list silences alerts for this
237
+ # group. A non-empty list fully replaces the default thresholds for this group.
238
+ thresholds:
239
+ )
240
+ end
241
+
242
+ sig do
243
+ override.returns(
244
+ {
245
+ group_values: T::Array[String],
246
+ thresholds: T::Array[Orb::Threshold]
247
+ }
248
+ )
249
+ end
250
+ def to_hash
251
+ end
252
+ end
45
253
  end
46
254
  end
47
255
  end