orb-billing 1.54.0 → 1.55.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 (94) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +1 -1
  4. data/lib/orb/models/beta/external_plan_id_create_plan_version_params.rb +496 -6
  5. data/lib/orb/models/beta_create_plan_version_params.rb +496 -6
  6. data/lib/orb/models/changed_subscription_resources.rb +2 -2
  7. data/lib/orb/models/credit_block_accounting_sync_failed_webhook_event.rb +4 -4
  8. data/lib/orb/models/credit_block_accounting_sync_succeeded_webhook_event.rb +4 -4
  9. data/lib/orb/models/credit_block_list_invoices_response.rb +4 -4
  10. data/lib/orb/models/credit_block_retrieve_response.rb +4 -4
  11. data/lib/orb/models/credit_block_update_response.rb +4 -4
  12. data/lib/orb/models/customer_credit_ledger_incremented_webhook_event.rb +4 -4
  13. data/lib/orb/models/dimensional_price_groups/price_create_response.rb +2 -2
  14. data/lib/orb/models/invoice.rb +2 -2
  15. data/lib/orb/models/invoice_edited_webhook_event.rb +2 -2
  16. data/lib/orb/models/invoice_fetch_upcoming_response.rb +2 -2
  17. data/lib/orb/models/invoice_line_item_create_response.rb +2 -2
  18. data/lib/orb/models/per_price_cost.rb +2 -2
  19. data/lib/orb/models/plan.rb +2 -2
  20. data/lib/orb/models/plan_create_params.rb +246 -3
  21. data/lib/orb/models/plan_version.rb +2 -2
  22. data/lib/orb/models/price.rb +416 -1
  23. data/lib/orb/models/price_create_params.rb +231 -3
  24. data/lib/orb/models/price_edited_webhook_event.rb +2 -2
  25. data/lib/orb/models/price_evaluate_multiple_params.rb +238 -3
  26. data/lib/orb/models/price_evaluate_preview_events_params.rb +238 -3
  27. data/lib/orb/models/price_interval.rb +2 -2
  28. data/lib/orb/models/subscription_create_params.rb +495 -6
  29. data/lib/orb/models/subscription_price_intervals_params.rb +238 -3
  30. data/lib/orb/models/subscription_schedule_plan_change_params.rb +496 -6
  31. data/lib/orb/models/webhooks/credit_block_accounting_sync_failed_standard_webhook_event.rb +4 -4
  32. data/lib/orb/models/webhooks/credit_block_accounting_sync_succeeded_standard_webhook_event.rb +4 -4
  33. data/lib/orb/models/webhooks/customer_credit_ledger_incremented_standard_webhook_event.rb +4 -4
  34. data/lib/orb/models/webhooks/invoice_edited_standard_webhook_event.rb +2 -2
  35. data/lib/orb/models/webhooks/price_edited_standard_webhook_event.rb +2 -2
  36. data/lib/orb/resources/credit_blocks.rb +1 -1
  37. data/lib/orb/resources/dimensional_price_groups/prices.rb +1 -1
  38. data/lib/orb/resources/prices/external_price_id.rb +2 -2
  39. data/lib/orb/resources/prices.rb +5 -5
  40. data/lib/orb/version.rb +1 -1
  41. data/rbi/orb/models/beta/external_plan_id_create_plan_version_params.rbi +2939 -2129
  42. data/rbi/orb/models/beta_create_plan_version_params.rbi +2937 -2127
  43. data/rbi/orb/models/changed_subscription_resources.rbi +2 -1
  44. data/rbi/orb/models/credit_block_accounting_sync_failed_webhook_event.rbi +5 -5
  45. data/rbi/orb/models/credit_block_accounting_sync_succeeded_webhook_event.rbi +5 -5
  46. data/rbi/orb/models/credit_block_list_invoices_response.rbi +5 -5
  47. data/rbi/orb/models/credit_block_retrieve_response.rbi +5 -5
  48. data/rbi/orb/models/credit_block_update_response.rbi +5 -5
  49. data/rbi/orb/models/customer_credit_ledger_incremented_webhook_event.rbi +5 -5
  50. data/rbi/orb/models/dimensional_price_groups/price_create_response.rbi +2 -1
  51. data/rbi/orb/models/invoice.rbi +2 -1
  52. data/rbi/orb/models/invoice_edited_webhook_event.rbi +2 -1
  53. data/rbi/orb/models/invoice_fetch_upcoming_response.rbi +2 -1
  54. data/rbi/orb/models/invoice_line_item_create_response.rbi +2 -1
  55. data/rbi/orb/models/per_price_cost.rbi +2 -1
  56. data/rbi/orb/models/plan.rbi +2 -1
  57. data/rbi/orb/models/plan_create_params.rbi +409 -4
  58. data/rbi/orb/models/plan_version.rbi +2 -1
  59. data/rbi/orb/models/price.rbi +716 -1
  60. data/rbi/orb/models/price_create_params.rbi +397 -4
  61. data/rbi/orb/models/price_edited_webhook_event.rbi +2 -1
  62. data/rbi/orb/models/price_evaluate_multiple_params.rbi +397 -4
  63. data/rbi/orb/models/price_evaluate_preview_events_params.rbi +397 -4
  64. data/rbi/orb/models/price_interval.rbi +2 -1
  65. data/rbi/orb/models/subscription_create_params.rbi +2676 -1866
  66. data/rbi/orb/models/subscription_price_intervals_params.rbi +397 -4
  67. data/rbi/orb/models/subscription_schedule_plan_change_params.rbi +2686 -1876
  68. data/rbi/orb/models/webhooks/credit_block_accounting_sync_failed_standard_webhook_event.rbi +5 -5
  69. data/rbi/orb/models/webhooks/credit_block_accounting_sync_succeeded_standard_webhook_event.rbi +5 -5
  70. data/rbi/orb/models/webhooks/customer_credit_ledger_incremented_standard_webhook_event.rbi +5 -5
  71. data/rbi/orb/models/webhooks/invoice_edited_standard_webhook_event.rbi +2 -1
  72. data/rbi/orb/models/webhooks/price_edited_standard_webhook_event.rbi +2 -1
  73. data/rbi/orb/resources/credit_blocks.rbi +1 -1
  74. data/rbi/orb/resources/prices.rbi +2 -1
  75. data/sig/orb/models/beta/external_plan_id_create_plan_version_params.rbs +322 -0
  76. data/sig/orb/models/beta_create_plan_version_params.rbs +322 -0
  77. data/sig/orb/models/credit_block_accounting_sync_failed_webhook_event.rbs +2 -2
  78. data/sig/orb/models/credit_block_accounting_sync_succeeded_webhook_event.rbs +2 -2
  79. data/sig/orb/models/credit_block_list_invoices_response.rbs +2 -2
  80. data/sig/orb/models/credit_block_retrieve_response.rbs +2 -2
  81. data/sig/orb/models/credit_block_update_response.rbs +2 -2
  82. data/sig/orb/models/customer_credit_ledger_incremented_webhook_event.rbs +2 -2
  83. data/sig/orb/models/plan_create_params.rbs +161 -0
  84. data/sig/orb/models/price.rbs +305 -0
  85. data/sig/orb/models/price_create_params.rbs +151 -0
  86. data/sig/orb/models/price_evaluate_multiple_params.rbs +156 -0
  87. data/sig/orb/models/price_evaluate_preview_events_params.rbs +156 -0
  88. data/sig/orb/models/subscription_create_params.rbs +322 -0
  89. data/sig/orb/models/subscription_price_intervals_params.rbs +156 -0
  90. data/sig/orb/models/subscription_schedule_plan_change_params.rbs +322 -0
  91. data/sig/orb/models/webhooks/credit_block_accounting_sync_failed_standard_webhook_event.rbs +2 -2
  92. data/sig/orb/models/webhooks/credit_block_accounting_sync_succeeded_standard_webhook_event.rbs +2 -2
  93. data/sig/orb/models/webhooks/customer_credit_ledger_incremented_standard_webhook_event.rbs +2 -2
  94. metadata +1 -1
@@ -37,6 +37,7 @@ module Orb
37
37
  | Orb::Price::MinimumComposite
38
38
  | Orb::Price::Percent
39
39
  | Orb::Price::EventOutput
40
+ | Orb::Price::UnitWithMultiplier
40
41
 
41
42
  module Price
42
43
  extend Orb::Internal::Type::Union
@@ -11108,6 +11109,310 @@ module Orb
11108
11109
  end
11109
11110
  end
11110
11111
 
11112
+ type unit_with_multiplier =
11113
+ {
11114
+ id: String,
11115
+ billable_metric: Orb::BillableMetricTiny?,
11116
+ billing_cycle_configuration: Orb::BillingCycleConfiguration,
11117
+ billing_mode: Orb::Models::Price::UnitWithMultiplier::billing_mode,
11118
+ cadence: Orb::Models::Price::UnitWithMultiplier::cadence,
11119
+ composite_price_filters: ::Array[Orb::Price::UnitWithMultiplier::CompositePriceFilter]?,
11120
+ conversion_rate: Float?,
11121
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
11122
+ created_at: Time,
11123
+ credit_allocation: Orb::Allocation?,
11124
+ currency: String,
11125
+ discount: Orb::Models::discount?,
11126
+ external_price_id: String?,
11127
+ fixed_price_quantity: Float?,
11128
+ invoice_grouping_key: String?,
11129
+ invoicing_cycle_configuration: Orb::BillingCycleConfiguration?,
11130
+ item: Orb::ItemSlim,
11131
+ maximum: Orb::Maximum?,
11132
+ maximum_amount: String?,
11133
+ metadata: ::Hash[Symbol, String],
11134
+ minimum: Orb::Minimum?,
11135
+ minimum_amount: String?,
11136
+ model_type: :unit_with_multiplier,
11137
+ name: String,
11138
+ plan_phase_order: Integer?,
11139
+ price_type: Orb::Models::Price::UnitWithMultiplier::price_type,
11140
+ replaces_price_id: String?,
11141
+ unit_with_multiplier_config: Orb::Price::UnitWithMultiplier::UnitWithMultiplierConfig,
11142
+ dimensional_price_configuration: Orb::DimensionalPriceConfiguration?,
11143
+ license_type: Orb::Price::UnitWithMultiplier::LicenseType?
11144
+ }
11145
+
11146
+ class UnitWithMultiplier < Orb::Internal::Type::BaseModel
11147
+ attr_accessor id: String
11148
+
11149
+ attr_accessor billable_metric: Orb::BillableMetricTiny?
11150
+
11151
+ attr_accessor billing_cycle_configuration: Orb::BillingCycleConfiguration
11152
+
11153
+ attr_accessor billing_mode: Orb::Models::Price::UnitWithMultiplier::billing_mode
11154
+
11155
+ attr_accessor cadence: Orb::Models::Price::UnitWithMultiplier::cadence
11156
+
11157
+ attr_accessor composite_price_filters: ::Array[Orb::Price::UnitWithMultiplier::CompositePriceFilter]?
11158
+
11159
+ attr_accessor conversion_rate: Float?
11160
+
11161
+ attr_accessor conversion_rate_config: Orb::Models::conversion_rate_config?
11162
+
11163
+ attr_accessor created_at: Time
11164
+
11165
+ attr_accessor credit_allocation: Orb::Allocation?
11166
+
11167
+ attr_accessor currency: String
11168
+
11169
+ attr_accessor discount: Orb::Models::discount?
11170
+
11171
+ attr_accessor external_price_id: String?
11172
+
11173
+ attr_accessor fixed_price_quantity: Float?
11174
+
11175
+ attr_accessor invoice_grouping_key: String?
11176
+
11177
+ attr_accessor invoicing_cycle_configuration: Orb::BillingCycleConfiguration?
11178
+
11179
+ attr_accessor item: Orb::ItemSlim
11180
+
11181
+ attr_accessor maximum: Orb::Maximum?
11182
+
11183
+ attr_accessor maximum_amount: String?
11184
+
11185
+ attr_accessor metadata: ::Hash[Symbol, String]
11186
+
11187
+ attr_accessor minimum: Orb::Minimum?
11188
+
11189
+ attr_accessor minimum_amount: String?
11190
+
11191
+ attr_accessor model_type: :unit_with_multiplier
11192
+
11193
+ attr_accessor name: String
11194
+
11195
+ attr_accessor plan_phase_order: Integer?
11196
+
11197
+ attr_accessor price_type: Orb::Models::Price::UnitWithMultiplier::price_type
11198
+
11199
+ attr_accessor replaces_price_id: String?
11200
+
11201
+ attr_accessor unit_with_multiplier_config: Orb::Price::UnitWithMultiplier::UnitWithMultiplierConfig
11202
+
11203
+ attr_accessor dimensional_price_configuration: Orb::DimensionalPriceConfiguration?
11204
+
11205
+ attr_accessor license_type: Orb::Price::UnitWithMultiplier::LicenseType?
11206
+
11207
+ def initialize: (
11208
+ id: String,
11209
+ billable_metric: Orb::BillableMetricTiny?,
11210
+ billing_cycle_configuration: Orb::BillingCycleConfiguration,
11211
+ billing_mode: Orb::Models::Price::UnitWithMultiplier::billing_mode,
11212
+ cadence: Orb::Models::Price::UnitWithMultiplier::cadence,
11213
+ composite_price_filters: ::Array[Orb::Price::UnitWithMultiplier::CompositePriceFilter]?,
11214
+ conversion_rate: Float?,
11215
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
11216
+ created_at: Time,
11217
+ credit_allocation: Orb::Allocation?,
11218
+ currency: String,
11219
+ discount: Orb::Models::discount?,
11220
+ external_price_id: String?,
11221
+ fixed_price_quantity: Float?,
11222
+ invoice_grouping_key: String?,
11223
+ invoicing_cycle_configuration: Orb::BillingCycleConfiguration?,
11224
+ item: Orb::ItemSlim,
11225
+ maximum: Orb::Maximum?,
11226
+ maximum_amount: String?,
11227
+ metadata: ::Hash[Symbol, String],
11228
+ minimum: Orb::Minimum?,
11229
+ minimum_amount: String?,
11230
+ name: String,
11231
+ plan_phase_order: Integer?,
11232
+ price_type: Orb::Models::Price::UnitWithMultiplier::price_type,
11233
+ replaces_price_id: String?,
11234
+ unit_with_multiplier_config: Orb::Price::UnitWithMultiplier::UnitWithMultiplierConfig,
11235
+ ?dimensional_price_configuration: Orb::DimensionalPriceConfiguration?,
11236
+ ?license_type: Orb::Price::UnitWithMultiplier::LicenseType?,
11237
+ ?model_type: :unit_with_multiplier
11238
+ ) -> void
11239
+
11240
+ def to_hash: -> {
11241
+ id: String,
11242
+ billable_metric: Orb::BillableMetricTiny?,
11243
+ billing_cycle_configuration: Orb::BillingCycleConfiguration,
11244
+ billing_mode: Orb::Models::Price::UnitWithMultiplier::billing_mode,
11245
+ cadence: Orb::Models::Price::UnitWithMultiplier::cadence,
11246
+ composite_price_filters: ::Array[Orb::Price::UnitWithMultiplier::CompositePriceFilter]?,
11247
+ conversion_rate: Float?,
11248
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
11249
+ created_at: Time,
11250
+ credit_allocation: Orb::Allocation?,
11251
+ currency: String,
11252
+ discount: Orb::Models::discount?,
11253
+ external_price_id: String?,
11254
+ fixed_price_quantity: Float?,
11255
+ invoice_grouping_key: String?,
11256
+ invoicing_cycle_configuration: Orb::BillingCycleConfiguration?,
11257
+ item: Orb::ItemSlim,
11258
+ maximum: Orb::Maximum?,
11259
+ maximum_amount: String?,
11260
+ metadata: ::Hash[Symbol, String],
11261
+ minimum: Orb::Minimum?,
11262
+ minimum_amount: String?,
11263
+ model_type: :unit_with_multiplier,
11264
+ name: String,
11265
+ plan_phase_order: Integer?,
11266
+ price_type: Orb::Models::Price::UnitWithMultiplier::price_type,
11267
+ replaces_price_id: String?,
11268
+ unit_with_multiplier_config: Orb::Price::UnitWithMultiplier::UnitWithMultiplierConfig,
11269
+ dimensional_price_configuration: Orb::DimensionalPriceConfiguration?,
11270
+ license_type: Orb::Price::UnitWithMultiplier::LicenseType?
11271
+ }
11272
+
11273
+ type billing_mode = :in_advance | :in_arrear
11274
+
11275
+ module BillingMode
11276
+ extend Orb::Internal::Type::Enum
11277
+
11278
+ IN_ADVANCE: :in_advance
11279
+ IN_ARREAR: :in_arrear
11280
+
11281
+ def self?.values: -> ::Array[Orb::Models::Price::UnitWithMultiplier::billing_mode]
11282
+ end
11283
+
11284
+ type cadence =
11285
+ :one_time | :monthly | :quarterly | :semi_annual | :annual | :custom
11286
+
11287
+ module Cadence
11288
+ extend Orb::Internal::Type::Enum
11289
+
11290
+ ONE_TIME: :one_time
11291
+ MONTHLY: :monthly
11292
+ QUARTERLY: :quarterly
11293
+ SEMI_ANNUAL: :semi_annual
11294
+ ANNUAL: :annual
11295
+ CUSTOM: :custom
11296
+
11297
+ def self?.values: -> ::Array[Orb::Models::Price::UnitWithMultiplier::cadence]
11298
+ end
11299
+
11300
+ type composite_price_filter =
11301
+ {
11302
+ field: Orb::Models::Price::UnitWithMultiplier::CompositePriceFilter::field,
11303
+ operator: Orb::Models::Price::UnitWithMultiplier::CompositePriceFilter::operator,
11304
+ values: ::Array[String]
11305
+ }
11306
+
11307
+ class CompositePriceFilter < Orb::Internal::Type::BaseModel
11308
+ attr_accessor field: Orb::Models::Price::UnitWithMultiplier::CompositePriceFilter::field
11309
+
11310
+ attr_accessor operator: Orb::Models::Price::UnitWithMultiplier::CompositePriceFilter::operator
11311
+
11312
+ attr_accessor values: ::Array[String]
11313
+
11314
+ def initialize: (
11315
+ field: Orb::Models::Price::UnitWithMultiplier::CompositePriceFilter::field,
11316
+ operator: Orb::Models::Price::UnitWithMultiplier::CompositePriceFilter::operator,
11317
+ values: ::Array[String]
11318
+ ) -> void
11319
+
11320
+ def to_hash: -> {
11321
+ field: Orb::Models::Price::UnitWithMultiplier::CompositePriceFilter::field,
11322
+ operator: Orb::Models::Price::UnitWithMultiplier::CompositePriceFilter::operator,
11323
+ values: ::Array[String]
11324
+ }
11325
+
11326
+ type field =
11327
+ :price_id | :item_id | :price_type | :currency | :pricing_unit_id
11328
+
11329
+ module Field
11330
+ extend Orb::Internal::Type::Enum
11331
+
11332
+ PRICE_ID: :price_id
11333
+ ITEM_ID: :item_id
11334
+ PRICE_TYPE: :price_type
11335
+ CURRENCY: :currency
11336
+ PRICING_UNIT_ID: :pricing_unit_id
11337
+
11338
+ def self?.values: -> ::Array[Orb::Models::Price::UnitWithMultiplier::CompositePriceFilter::field]
11339
+ end
11340
+
11341
+ type operator = :includes | :excludes
11342
+
11343
+ module Operator
11344
+ extend Orb::Internal::Type::Enum
11345
+
11346
+ INCLUDES: :includes
11347
+ EXCLUDES: :excludes
11348
+
11349
+ def self?.values: -> ::Array[Orb::Models::Price::UnitWithMultiplier::CompositePriceFilter::operator]
11350
+ end
11351
+ end
11352
+
11353
+ type price_type = :usage_price | :fixed_price | :composite_price
11354
+
11355
+ module PriceType
11356
+ extend Orb::Internal::Type::Enum
11357
+
11358
+ USAGE_PRICE: :usage_price
11359
+ FIXED_PRICE: :fixed_price
11360
+ COMPOSITE_PRICE: :composite_price
11361
+
11362
+ def self?.values: -> ::Array[Orb::Models::Price::UnitWithMultiplier::price_type]
11363
+ end
11364
+
11365
+ type unit_with_multiplier_config =
11366
+ {
11367
+ default_display_name: String,
11368
+ display_name_key: String,
11369
+ multiplier_key: String,
11370
+ unit_amount: String
11371
+ }
11372
+
11373
+ class UnitWithMultiplierConfig < Orb::Internal::Type::BaseModel
11374
+ attr_accessor default_display_name: String
11375
+
11376
+ attr_accessor display_name_key: String
11377
+
11378
+ attr_accessor multiplier_key: String
11379
+
11380
+ attr_accessor unit_amount: String
11381
+
11382
+ def initialize: (
11383
+ default_display_name: String,
11384
+ display_name_key: String,
11385
+ multiplier_key: String,
11386
+ unit_amount: String
11387
+ ) -> void
11388
+
11389
+ def to_hash: -> {
11390
+ default_display_name: String,
11391
+ display_name_key: String,
11392
+ multiplier_key: String,
11393
+ unit_amount: String
11394
+ }
11395
+ end
11396
+
11397
+ type license_type = { id: String, grouping_key: String, name: String }
11398
+
11399
+ class LicenseType < Orb::Internal::Type::BaseModel
11400
+ attr_accessor id: String
11401
+
11402
+ attr_accessor grouping_key: String
11403
+
11404
+ attr_accessor name: String
11405
+
11406
+ def initialize: (
11407
+ id: String,
11408
+ grouping_key: String,
11409
+ name: String
11410
+ ) -> void
11411
+
11412
+ def to_hash: -> { id: String, grouping_key: String, name: String }
11413
+ end
11414
+ end
11415
+
11111
11416
  def self?.variants: -> ::Array[Orb::Models::price]
11112
11417
  end
11113
11418
  end
@@ -57,6 +57,7 @@ module Orb
57
57
  | Orb::NewFloatingMinimumCompositePrice
58
58
  | Orb::PriceCreateParams::Body::Percent
59
59
  | Orb::PriceCreateParams::Body::EventOutput
60
+ | Orb::PriceCreateParams::Body::UnitWithMultiplier
60
61
 
61
62
  module Body
62
63
  extend Orb::Internal::Type::Union
@@ -1738,6 +1739,156 @@ module Orb
1738
1739
  end
1739
1740
  end
1740
1741
 
1742
+ type unit_with_multiplier =
1743
+ {
1744
+ cadence: Orb::Models::PriceCreateParams::Body::UnitWithMultiplier::cadence,
1745
+ currency: String,
1746
+ item_id: String,
1747
+ model_type: :unit_with_multiplier,
1748
+ name: String,
1749
+ unit_with_multiplier_config: Orb::PriceCreateParams::Body::UnitWithMultiplier::UnitWithMultiplierConfig,
1750
+ billable_metric_id: String?,
1751
+ billed_in_advance: bool?,
1752
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
1753
+ conversion_rate: Float?,
1754
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
1755
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
1756
+ external_price_id: String?,
1757
+ fixed_price_quantity: Float?,
1758
+ invoice_grouping_key: String?,
1759
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
1760
+ license_type_id: String?,
1761
+ metadata: ::Hash[Symbol, String?]?
1762
+ }
1763
+
1764
+ class UnitWithMultiplier < Orb::Internal::Type::BaseModel
1765
+ attr_accessor cadence: Orb::Models::PriceCreateParams::Body::UnitWithMultiplier::cadence
1766
+
1767
+ attr_accessor currency: String
1768
+
1769
+ attr_accessor item_id: String
1770
+
1771
+ attr_accessor model_type: :unit_with_multiplier
1772
+
1773
+ attr_accessor name: String
1774
+
1775
+ attr_accessor unit_with_multiplier_config: Orb::PriceCreateParams::Body::UnitWithMultiplier::UnitWithMultiplierConfig
1776
+
1777
+ attr_accessor billable_metric_id: String?
1778
+
1779
+ attr_accessor billed_in_advance: bool?
1780
+
1781
+ attr_accessor billing_cycle_configuration: Orb::NewBillingCycleConfiguration?
1782
+
1783
+ attr_accessor conversion_rate: Float?
1784
+
1785
+ attr_accessor conversion_rate_config: Orb::Models::conversion_rate_config?
1786
+
1787
+ attr_accessor dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?
1788
+
1789
+ attr_accessor external_price_id: String?
1790
+
1791
+ attr_accessor fixed_price_quantity: Float?
1792
+
1793
+ attr_accessor invoice_grouping_key: String?
1794
+
1795
+ attr_accessor invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?
1796
+
1797
+ attr_accessor license_type_id: String?
1798
+
1799
+ attr_accessor metadata: ::Hash[Symbol, String?]?
1800
+
1801
+ def initialize: (
1802
+ cadence: Orb::Models::PriceCreateParams::Body::UnitWithMultiplier::cadence,
1803
+ currency: String,
1804
+ item_id: String,
1805
+ name: String,
1806
+ unit_with_multiplier_config: Orb::PriceCreateParams::Body::UnitWithMultiplier::UnitWithMultiplierConfig,
1807
+ ?billable_metric_id: String?,
1808
+ ?billed_in_advance: bool?,
1809
+ ?billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
1810
+ ?conversion_rate: Float?,
1811
+ ?conversion_rate_config: Orb::Models::conversion_rate_config?,
1812
+ ?dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
1813
+ ?external_price_id: String?,
1814
+ ?fixed_price_quantity: Float?,
1815
+ ?invoice_grouping_key: String?,
1816
+ ?invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
1817
+ ?license_type_id: String?,
1818
+ ?metadata: ::Hash[Symbol, String?]?,
1819
+ ?model_type: :unit_with_multiplier
1820
+ ) -> void
1821
+
1822
+ def to_hash: -> {
1823
+ cadence: Orb::Models::PriceCreateParams::Body::UnitWithMultiplier::cadence,
1824
+ currency: String,
1825
+ item_id: String,
1826
+ model_type: :unit_with_multiplier,
1827
+ name: String,
1828
+ unit_with_multiplier_config: Orb::PriceCreateParams::Body::UnitWithMultiplier::UnitWithMultiplierConfig,
1829
+ billable_metric_id: String?,
1830
+ billed_in_advance: bool?,
1831
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
1832
+ conversion_rate: Float?,
1833
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
1834
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
1835
+ external_price_id: String?,
1836
+ fixed_price_quantity: Float?,
1837
+ invoice_grouping_key: String?,
1838
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
1839
+ license_type_id: String?,
1840
+ metadata: ::Hash[Symbol, String?]?
1841
+ }
1842
+
1843
+ type cadence =
1844
+ :one_time | :monthly | :quarterly | :semi_annual | :annual | :custom
1845
+
1846
+ module Cadence
1847
+ extend Orb::Internal::Type::Enum
1848
+
1849
+ ONE_TIME: :one_time
1850
+ MONTHLY: :monthly
1851
+ QUARTERLY: :quarterly
1852
+ SEMI_ANNUAL: :semi_annual
1853
+ ANNUAL: :annual
1854
+ CUSTOM: :custom
1855
+
1856
+ def self?.values: -> ::Array[Orb::Models::PriceCreateParams::Body::UnitWithMultiplier::cadence]
1857
+ end
1858
+
1859
+ type unit_with_multiplier_config =
1860
+ {
1861
+ default_display_name: String,
1862
+ display_name_key: String,
1863
+ multiplier_key: String,
1864
+ unit_amount: String
1865
+ }
1866
+
1867
+ class UnitWithMultiplierConfig < Orb::Internal::Type::BaseModel
1868
+ attr_accessor default_display_name: String
1869
+
1870
+ attr_accessor display_name_key: String
1871
+
1872
+ attr_accessor multiplier_key: String
1873
+
1874
+ attr_accessor unit_amount: String
1875
+
1876
+ def initialize: (
1877
+ default_display_name: String,
1878
+ display_name_key: String,
1879
+ multiplier_key: String,
1880
+ unit_amount: String
1881
+ ) -> void
1882
+
1883
+ def to_hash: -> {
1884
+ default_display_name: String,
1885
+ display_name_key: String,
1886
+ multiplier_key: String,
1887
+ unit_amount: String
1888
+ }
1889
+ end
1890
+ end
1891
+
1741
1892
  def self?.variants: -> ::Array[Orb::Models::PriceCreateParams::body]
1742
1893
  end
1743
1894
  end
@@ -126,6 +126,7 @@ module Orb
126
126
  | Orb::NewFloatingMinimumCompositePrice
127
127
  | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::Percent
128
128
  | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::EventOutput
129
+ | Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithMultiplier
129
130
 
130
131
  module Price
131
132
  extend Orb::Internal::Type::Union
@@ -1860,6 +1861,161 @@ module Orb
1860
1861
  end
1861
1862
  end
1862
1863
 
1864
+ type unit_with_multiplier =
1865
+ {
1866
+ cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithMultiplier::cadence,
1867
+ currency: String,
1868
+ item_id: String,
1869
+ model_type: :unit_with_multiplier,
1870
+ name: String,
1871
+ unit_with_multiplier_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithMultiplier::UnitWithMultiplierConfig,
1872
+ billable_metric_id: String?,
1873
+ billed_in_advance: bool?,
1874
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
1875
+ conversion_rate: Float?,
1876
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
1877
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
1878
+ external_price_id: String?,
1879
+ fixed_price_quantity: Float?,
1880
+ invoice_grouping_key: String?,
1881
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
1882
+ license_type_id: String?,
1883
+ metadata: ::Hash[Symbol, String?]?
1884
+ }
1885
+
1886
+ class UnitWithMultiplier < Orb::Internal::Type::BaseModel
1887
+ attr_accessor cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithMultiplier::cadence
1888
+
1889
+ attr_accessor currency: String
1890
+
1891
+ attr_accessor item_id: String
1892
+
1893
+ attr_accessor model_type: :unit_with_multiplier
1894
+
1895
+ attr_accessor name: String
1896
+
1897
+ attr_accessor unit_with_multiplier_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithMultiplier::UnitWithMultiplierConfig
1898
+
1899
+ attr_accessor billable_metric_id: String?
1900
+
1901
+ attr_accessor billed_in_advance: bool?
1902
+
1903
+ attr_accessor billing_cycle_configuration: Orb::NewBillingCycleConfiguration?
1904
+
1905
+ attr_accessor conversion_rate: Float?
1906
+
1907
+ attr_accessor conversion_rate_config: Orb::Models::conversion_rate_config?
1908
+
1909
+ attr_accessor dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?
1910
+
1911
+ attr_accessor external_price_id: String?
1912
+
1913
+ attr_accessor fixed_price_quantity: Float?
1914
+
1915
+ attr_accessor invoice_grouping_key: String?
1916
+
1917
+ attr_accessor invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?
1918
+
1919
+ attr_accessor license_type_id: String?
1920
+
1921
+ attr_accessor metadata: ::Hash[Symbol, String?]?
1922
+
1923
+ def initialize: (
1924
+ cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithMultiplier::cadence,
1925
+ currency: String,
1926
+ item_id: String,
1927
+ name: String,
1928
+ unit_with_multiplier_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithMultiplier::UnitWithMultiplierConfig,
1929
+ ?billable_metric_id: String?,
1930
+ ?billed_in_advance: bool?,
1931
+ ?billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
1932
+ ?conversion_rate: Float?,
1933
+ ?conversion_rate_config: Orb::Models::conversion_rate_config?,
1934
+ ?dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
1935
+ ?external_price_id: String?,
1936
+ ?fixed_price_quantity: Float?,
1937
+ ?invoice_grouping_key: String?,
1938
+ ?invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
1939
+ ?license_type_id: String?,
1940
+ ?metadata: ::Hash[Symbol, String?]?,
1941
+ ?model_type: :unit_with_multiplier
1942
+ ) -> void
1943
+
1944
+ def to_hash: -> {
1945
+ cadence: Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithMultiplier::cadence,
1946
+ currency: String,
1947
+ item_id: String,
1948
+ model_type: :unit_with_multiplier,
1949
+ name: String,
1950
+ unit_with_multiplier_config: Orb::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithMultiplier::UnitWithMultiplierConfig,
1951
+ billable_metric_id: String?,
1952
+ billed_in_advance: bool?,
1953
+ billing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
1954
+ conversion_rate: Float?,
1955
+ conversion_rate_config: Orb::Models::conversion_rate_config?,
1956
+ dimensional_price_configuration: Orb::NewDimensionalPriceConfiguration?,
1957
+ external_price_id: String?,
1958
+ fixed_price_quantity: Float?,
1959
+ invoice_grouping_key: String?,
1960
+ invoicing_cycle_configuration: Orb::NewBillingCycleConfiguration?,
1961
+ license_type_id: String?,
1962
+ metadata: ::Hash[Symbol, String?]?
1963
+ }
1964
+
1965
+ type cadence =
1966
+ :one_time
1967
+ | :monthly
1968
+ | :quarterly
1969
+ | :semi_annual
1970
+ | :annual
1971
+ | :custom
1972
+
1973
+ module Cadence
1974
+ extend Orb::Internal::Type::Enum
1975
+
1976
+ ONE_TIME: :one_time
1977
+ MONTHLY: :monthly
1978
+ QUARTERLY: :quarterly
1979
+ SEMI_ANNUAL: :semi_annual
1980
+ ANNUAL: :annual
1981
+ CUSTOM: :custom
1982
+
1983
+ def self?.values: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::Price::UnitWithMultiplier::cadence]
1984
+ end
1985
+
1986
+ type unit_with_multiplier_config =
1987
+ {
1988
+ default_display_name: String,
1989
+ display_name_key: String,
1990
+ multiplier_key: String,
1991
+ unit_amount: String
1992
+ }
1993
+
1994
+ class UnitWithMultiplierConfig < Orb::Internal::Type::BaseModel
1995
+ attr_accessor default_display_name: String
1996
+
1997
+ attr_accessor display_name_key: String
1998
+
1999
+ attr_accessor multiplier_key: String
2000
+
2001
+ attr_accessor unit_amount: String
2002
+
2003
+ def initialize: (
2004
+ default_display_name: String,
2005
+ display_name_key: String,
2006
+ multiplier_key: String,
2007
+ unit_amount: String
2008
+ ) -> void
2009
+
2010
+ def to_hash: -> {
2011
+ default_display_name: String,
2012
+ display_name_key: String,
2013
+ multiplier_key: String,
2014
+ unit_amount: String
2015
+ }
2016
+ end
2017
+ end
2018
+
1863
2019
  def self?.variants: -> ::Array[Orb::Models::PriceEvaluateMultipleParams::PriceEvaluation::price]
1864
2020
  end
1865
2021
  end