diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 4f9005ea..b5db7ce1 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.1.0-alpha.6" + ".": "0.1.0-alpha.7" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index 4de92a98..a279c92e 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,2 +1,2 @@ configured_endpoints: 103 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/orb%2Forb-2824cb456b8e3a7ce1ea34aa37a2c8e63d5b70425a5863502ffe1e1b1ef7efaf.yml +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/orb%2Forb-25409f3b13e6d1d003e351fc18d248ecf3c5821cfde5f409a1d356e4fc917d8c.yml diff --git a/CHANGELOG.md b/CHANGELOG.md index fbe2f049..bda1b163 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,23 @@ # Changelog +## 0.1.0-alpha.7 (2025-02-13) + +Full Changelog: [v0.1.0-alpha.6...v0.1.0-alpha.7](https://github.com/orbcorp/orb-ruby/compare/v0.1.0-alpha.6...v0.1.0-alpha.7) + +### Features + +* **api:** api update ([#34](https://github.com/orbcorp/orb-ruby/issues/34)) ([9fad0c4](https://github.com/orbcorp/orb-ruby/commit/9fad0c4f6f7ab7db26866956ad724afcc785297e)) + + +### Chores + +* enable full pagination tests ([#32](https://github.com/orbcorp/orb-ruby/issues/32)) ([df07d96](https://github.com/orbcorp/orb-ruby/commit/df07d9620a969672cb6cf34d633a3e4ae6b5f789)) +* **internal:** codegen related update ([#28](https://github.com/orbcorp/orb-ruby/issues/28)) ([8d0a108](https://github.com/orbcorp/orb-ruby/commit/8d0a10834d2b8f07f30c117f725c2eaed72f3eb8)) +* **internal:** codegen related update ([#30](https://github.com/orbcorp/orb-ruby/issues/30)) ([fc2a760](https://github.com/orbcorp/orb-ruby/commit/fc2a7602ed78b5c13e72e5bfc4484a5d2c2fe56c)) +* **internal:** version bump ([#26](https://github.com/orbcorp/orb-ruby/issues/26)) ([91b6be8](https://github.com/orbcorp/orb-ruby/commit/91b6be8a802fde161cb861607c8a1e7259830c3f)) +* use concise syntax for pattern matching ([#29](https://github.com/orbcorp/orb-ruby/issues/29)) ([f04c8e3](https://github.com/orbcorp/orb-ruby/commit/f04c8e3ad6e0f52e95877c1ed07df0a592b68f5b)) +* whitespace changes ([#31](https://github.com/orbcorp/orb-ruby/issues/31)) ([4d8cd6f](https://github.com/orbcorp/orb-ruby/commit/4d8cd6fa546c909abc40f40167f8c234b9b69057)) + ## 0.1.0-alpha.6 (2025-02-11) Full Changelog: [v0.1.0-alpha.5...v0.1.0-alpha.6](https://github.com/orbcorp/orb-ruby/compare/v0.1.0-alpha.5...v0.1.0-alpha.6) diff --git a/Gemfile.lock b/Gemfile.lock index 1990090c..b76ea357 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,7 +11,7 @@ GIT PATH remote: . specs: - orb (0.1.0.pre.alpha.5) + orb (0.1.0.pre.alpha.7) connection_pool GEM @@ -80,9 +80,9 @@ GEM parser (>= 3.3.1.0) ruby-progressbar (1.13.0) securerandom (0.4.1) - sorbet (0.5.11813) - sorbet-static (= 0.5.11813) - sorbet-static (0.5.11813-x86_64-linux) + sorbet (0.5.11823) + sorbet-static (= 0.5.11823) + sorbet-static (0.5.11823-x86_64-linux) steep (1.9.4) activesupport (>= 5.1) concurrent-ruby (>= 1.1.10) diff --git a/lib/orb/base_model.rb b/lib/orb/base_model.rb index bf9ec66a..b2dc8449 100644 --- a/lib/orb/base_model.rb +++ b/lib/orb/base_model.rb @@ -586,7 +586,7 @@ def ===(other) case other in Array # rubocop:disable Style/CaseEquality - other.all? { |item| type === item } + other.all? { type === _1 } # rubocop:enable Style/CaseEquality else false @@ -609,7 +609,7 @@ def coerce(value) type = item_type case value in Enumerable unless value.is_a?(Hash) - value.map { |item| Orb::Converter.coerce(type, item) } + value.map { Orb::Converter.coerce(type, _1) } else value end @@ -625,7 +625,7 @@ def dump(value) type = item_type case value in Enumerable unless value.is_a?(Hash) - value.map { |item| Orb::Converter.dump(type, item) }.to_a + value.map { Orb::Converter.dump(type, _1) }.to_a else value end @@ -906,7 +906,7 @@ def self.defaults = (@defaults ||= {}) setter = "#{name_sym}=" if known_fields.key?(name_sym) - [name_sym, setter].each { |name| undef_method(name) } + [name_sym, setter].each { undef_method(_1) } end known_fields[name_sym] = {mode: @mode, key: key, required: required, type_fn: type_fn} @@ -1015,8 +1015,8 @@ def ==(other) # @return [Orb::BaseModel, Object] # def self.coerce(value) - case (coerced = Orb::Util.coerce_hash(value)) - in Hash + case Orb::Util.coerce_hash(value) + in Hash => coerced new(coerced) else value @@ -1166,8 +1166,8 @@ def deconstruct_keys(keys) # @param data [Hash{Symbol=>Object}, Orb::BaseModel] # def initialize(data = {}) - case (coerced = Orb::Util.coerce_hash(data)) - in Hash + case Orb::Util.coerce_hash(data) + in Hash => coerced @data = coerced.transform_keys(&:to_sym) else raise ArgumentError.new("Expected a #{Hash} or #{Orb::BaseModel}, got #{data.inspect}") diff --git a/lib/orb/models/customers/cost_list_by_external_id_response.rb b/lib/orb/models/customers/cost_list_by_external_id_response.rb index 391d25b3..ec2d8b60 100644 --- a/lib/orb/models/customers/cost_list_by_external_id_response.rb +++ b/lib/orb/models/customers/cost_list_by_external_id_response.rb @@ -78,6 +78,7 @@ class Data < Orb::BaseModel # ```ruby # per_price_cost => { # price: Orb::Models::Price, + # price_id: String, # subtotal: String, # total: String, # quantity: Float @@ -85,20 +86,17 @@ class Data < Orb::BaseModel # ``` class PerPriceCost < Orb::BaseModel # @!attribute price - # The Price resource represents a price that can be billed on a subscription, - # resulting in a charge on an invoice in the form of an invoice line item. Prices - # take a quantity and determine an amount to bill. + # The price object # - # Orb supports a few different pricing models out of the box. Each of these models - # is serialized differently in a given Price object. The model_type field - # determines the key for the configuration object that is present. - # - # For more on the types of prices, see - # [the core concepts documentation](/core-concepts#plan-and-price) - # - # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] required :price, union: -> { Orb::Models::Price } + # @!attribute price_id + # The price the cost is associated with + # + # @return [String] + required :price_id, String + # @!attribute subtotal # Price's contributions for the timeframe, excluding any minimums and discounts. # @@ -118,12 +116,13 @@ class PerPriceCost < Orb::BaseModel optional :quantity, Float, nil?: true # @!parse - # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] + # # @param price_id [String] # # @param subtotal [String] # # @param total [String] # # @param quantity [Float, nil] # # - # def initialize(price:, subtotal:, total:, quantity: nil, **) = super + # def initialize(price:, price_id:, subtotal:, total:, quantity: nil, **) = super # def initialize: (Hash | Orb::BaseModel) -> void end diff --git a/lib/orb/models/customers/cost_list_response.rb b/lib/orb/models/customers/cost_list_response.rb index c74c1157..a6816e6a 100644 --- a/lib/orb/models/customers/cost_list_response.rb +++ b/lib/orb/models/customers/cost_list_response.rb @@ -76,6 +76,7 @@ class Data < Orb::BaseModel # ```ruby # per_price_cost => { # price: Orb::Models::Price, + # price_id: String, # subtotal: String, # total: String, # quantity: Float @@ -83,20 +84,17 @@ class Data < Orb::BaseModel # ``` class PerPriceCost < Orb::BaseModel # @!attribute price - # The Price resource represents a price that can be billed on a subscription, - # resulting in a charge on an invoice in the form of an invoice line item. Prices - # take a quantity and determine an amount to bill. + # The price object # - # Orb supports a few different pricing models out of the box. Each of these models - # is serialized differently in a given Price object. The model_type field - # determines the key for the configuration object that is present. - # - # For more on the types of prices, see - # [the core concepts documentation](/core-concepts#plan-and-price) - # - # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] required :price, union: -> { Orb::Models::Price } + # @!attribute price_id + # The price the cost is associated with + # + # @return [String] + required :price_id, String + # @!attribute subtotal # Price's contributions for the timeframe, excluding any minimums and discounts. # @@ -116,12 +114,13 @@ class PerPriceCost < Orb::BaseModel optional :quantity, Float, nil?: true # @!parse - # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] + # # @param price_id [String] # # @param subtotal [String] # # @param total [String] # # @param quantity [Float, nil] # # - # def initialize(price:, subtotal:, total:, quantity: nil, **) = super + # def initialize(price:, price_id:, subtotal:, total:, quantity: nil, **) = super # def initialize: (Hash | Orb::BaseModel) -> void end diff --git a/lib/orb/models/invoice.rb b/lib/orb/models/invoice.rb index 295ddfc8..bcf5b958 100644 --- a/lib/orb/models/invoice.rb +++ b/lib/orb/models/invoice.rb @@ -1357,7 +1357,7 @@ class LineItem < Orb::BaseModel # For more on the types of prices, see # [the core concepts documentation](/core-concepts#plan-and-price) # - # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, nil] + # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice, nil] required :price, union: -> { Orb::Models::Price }, nil?: true # @!attribute quantity @@ -1407,7 +1407,7 @@ class LineItem < Orb::BaseModel # # @param minimum_amount [String, nil] # # @param name [String] # # @param partially_invoiced_amount [String] - # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, nil] + # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice, nil] # # @param quantity [Float] # # @param start_date [Time] # # @param sub_line_items [Array] diff --git a/lib/orb/models/invoice_fetch_upcoming_response.rb b/lib/orb/models/invoice_fetch_upcoming_response.rb index abcaf71a..7df0f3b5 100644 --- a/lib/orb/models/invoice_fetch_upcoming_response.rb +++ b/lib/orb/models/invoice_fetch_upcoming_response.rb @@ -1367,7 +1367,7 @@ class LineItem < Orb::BaseModel # For more on the types of prices, see # [the core concepts documentation](/core-concepts#plan-and-price) # - # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, nil] + # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice, nil] required :price, union: -> { Orb::Models::Price }, nil?: true # @!attribute quantity @@ -1421,7 +1421,7 @@ class LineItem < Orb::BaseModel # # @param minimum_amount [String, nil] # # @param name [String] # # @param partially_invoiced_amount [String] - # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, nil] + # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice, nil] # # @param quantity [Float] # # @param start_date [Time] # # @param sub_line_items [Array] diff --git a/lib/orb/models/invoice_line_item_create_response.rb b/lib/orb/models/invoice_line_item_create_response.rb index d81c980c..c77c5498 100644 --- a/lib/orb/models/invoice_line_item_create_response.rb +++ b/lib/orb/models/invoice_line_item_create_response.rb @@ -116,7 +116,7 @@ class InvoiceLineItemCreateResponse < Orb::BaseModel # For more on the types of prices, see # [the core concepts documentation](/core-concepts#plan-and-price) # - # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, nil] + # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice, nil] required :price, union: -> { Orb::Models::Price }, nil?: true # @!attribute quantity @@ -167,7 +167,7 @@ class InvoiceLineItemCreateResponse < Orb::BaseModel # # @param minimum_amount [String, nil] # # @param name [String] # # @param partially_invoiced_amount [String] - # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, nil] + # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice, nil] # # @param quantity [Float] # # @param start_date [Time] # # @param sub_line_items [Array] diff --git a/lib/orb/models/plan.rb b/lib/orb/models/plan.rb index 83d526a2..005ced0b 100644 --- a/lib/orb/models/plan.rb +++ b/lib/orb/models/plan.rb @@ -135,7 +135,7 @@ class Plan < Orb::BaseModel # Prices for this plan. If the plan has phases, this includes prices across all # phases of the plan. # - # @return [Array] + # @return [Array] required :prices, -> { Orb::ArrayOf[union: Orb::Models::Price] } # @!attribute product @@ -183,7 +183,7 @@ class Plan < Orb::BaseModel # # @param name [String] # # @param net_terms [Integer, nil] # # @param plan_phases [Array, nil] - # # @param prices [Array] + # # @param prices [Array] # # @param product [Orb::Models::Plan::Product] # # @param status [Symbol, Orb::Models::Plan::Status] # # @param trial_config [Orb::Models::Plan::TrialConfig] diff --git a/lib/orb/models/plan_create_params.rb b/lib/orb/models/plan_create_params.rb index 16462894..5bb03f17 100644 --- a/lib/orb/models/plan_create_params.rb +++ b/lib/orb/models/plan_create_params.rb @@ -23,7 +23,7 @@ class PlanCreateParams < Orb::BaseModel # Prices for this plan. If the plan has phases, this includes prices across all # phases of the plan. # - # @return [Array] + # @return [Array] required :prices, -> { Orb::ArrayOf[union: Orb::Models::PlanCreateParams::Price] } # @!attribute default_invoice_memo @@ -67,7 +67,7 @@ class PlanCreateParams < Orb::BaseModel # @!parse # # @param currency [String] # # @param name [String] - # # @param prices [Array] + # # @param prices [Array] # # @param default_invoice_memo [String, nil] # # @param external_plan_id [String, nil] # # @param metadata [Hash{Symbol=>String, nil}, nil] @@ -145,6 +145,8 @@ class PlanCreateParams < Orb::BaseModel # # Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithUnitPricingPrice ... # in {model_type: "scalable_matrix_with_tiered_pricing", cadence: Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithTieredPricingPrice::Cadence, item_id: String, name: String} # # Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithTieredPricingPrice ... + # in {model_type: "cumulative_grouped_bulk", cadence: Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::Cadence, cumulative_grouped_bulk_config: -> { Orb::HashOf[Orb::Unknown] === _1 }, item_id: String} + # # Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice ... # end # ``` # @@ -199,6 +201,8 @@ class PlanCreateParams < Orb::BaseModel # # ... # in Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithTieredPricingPrice # # ... + # in Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice + # # ... # end # ``` class Price < Orb::Union @@ -276,6 +280,9 @@ class Price < Orb::Union variant :scalable_matrix_with_tiered_pricing, -> { Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithTieredPricingPrice } + variant :cumulative_grouped_bulk, + -> { Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice } + # @example # ```ruby # new_plan_unit_price => { @@ -8243,6 +8250,323 @@ class DurationUnit < Orb::Enum end end end + + # @example + # ```ruby + # new_plan_cumulative_grouped_bulk_price => { + # cadence: Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::Cadence, + # cumulative_grouped_bulk_config: -> { Orb::HashOf[Orb::Unknown] === _1 }, + # item_id: String, + # model_type: :cumulative_grouped_bulk, + # name: String, + # **_ + # } + # ``` + class NewPlanCumulativeGroupedBulkPrice < Orb::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::Cadence] + required :cadence, + enum: -> { + Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::Cadence + } + + # @!attribute cumulative_grouped_bulk_config + # + # @return [Hash{Symbol=>Object}] + required :cumulative_grouped_bulk_config, Orb::HashOf[Orb::Unknown] + + # @!attribute item_id + # The id of the item the plan will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :cumulative_grouped_bulk] + required :model_type, const: :cumulative_grouped_bulk + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute billable_metric_id + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + # + # @return [String, nil] + optional :billable_metric_id, String, nil?: true + + # @!attribute billed_in_advance + # If the Price represents a fixed cost, the price will be billed in-advance if + # this is true, and in-arrears if this is false. + # + # @return [Boolean, nil] + optional :billed_in_advance, Orb::BooleanModel, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::BillingCycleConfiguration + }, + nil?: true + + # @!attribute conversion_rate + # The per unit conversion rate of the price currency to the invoicing currency. + # + # @return [Float, nil] + optional :conversion_rate, Float, nil?: true + + # @!attribute currency + # An ISO 4217 currency string, or custom pricing unit identifier, in which this + # price is billed. + # + # @return [String, nil] + optional :currency, String, nil?: true + + # @!attribute external_price_id + # An alias for the price. + # + # @return [String, nil] + optional :external_price_id, String, nil?: true + + # @!attribute fixed_price_quantity + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + # + # @return [Float, nil] + optional :fixed_price_quantity, Float, nil?: true + + # @!attribute invoice_grouping_key + # The property used to group this price on an invoice + # + # @return [String, nil] + optional :invoice_grouping_key, String, nil?: true + + # @!attribute invoicing_cycle_configuration + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + # + # @return [Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::InvoicingCycleConfiguration + }, + nil?: true + + # @!attribute metadata + # User-specified key/value pairs for the resource. Individual keys can be removed + # by setting the value to `null`, and the entire metadata mapping can be cleared + # by setting `metadata` to `null`. + # + # @return [Hash{Symbol=>String, nil}, nil] + optional :metadata, Orb::HashOf[String, nil?: true], nil?: true + + # @!parse + # # @param cadence [Symbol, Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::Cadence] + # # @param cumulative_grouped_bulk_config [Hash{Symbol=>Object}] + # # @param item_id [String] + # # @param name [String] + # # @param billable_metric_id [String, nil] + # # @param billed_in_advance [Boolean, nil] + # # @param billing_cycle_configuration [Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::BillingCycleConfiguration, nil] + # # @param conversion_rate [Float, nil] + # # @param currency [String, nil] + # # @param external_price_id [String, nil] + # # @param fixed_price_quantity [Float, nil] + # # @param invoice_grouping_key [String, nil] + # # @param invoicing_cycle_configuration [Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::InvoicingCycleConfiguration, nil] + # # @param metadata [Hash{Symbol=>String, nil}, nil] + # # @param model_type [Symbol, :cumulative_grouped_bulk] + # # + # def initialize( + # cadence:, + # cumulative_grouped_bulk_config:, + # item_id:, + # name:, + # billable_metric_id: nil, + # billed_in_advance: nil, + # billing_cycle_configuration: nil, + # conversion_rate: nil, + # currency: nil, + # external_price_id: nil, + # fixed_price_quantity: nil, + # invoice_grouping_key: nil, + # invoicing_cycle_configuration: nil, + # metadata: nil, + # model_type: :cumulative_grouped_bulk, + # ** + # ) + # super + # end + + # def initialize: (Hash | Orb::BaseModel) -> void + + # @abstract + # + # The cadence to bill for this price on. + # + # @example + # ```ruby + # case cadence + # in :annual + # # ... + # in :semi_annual + # # ... + # in :monthly + # # ... + # in :quarterly + # # ... + # in :one_time + # # ... + # in ... + # #... + # end + # ``` + class Cadence < Orb::Enum + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + finalize! + + # @!parse + # # @return [Array] + # # + # def self.values; end + end + + # @example + # ```ruby + # billing_cycle_configuration => { + # duration: Integer, + # duration_unit: Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::BillingCycleConfiguration::DurationUnit + # } + # ``` + class BillingCycleConfiguration < Orb::BaseModel + # @!attribute duration + # The duration of the billing period. + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # The unit of billing period duration. + # + # @return [Symbol, Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::BillingCycleConfiguration::DurationUnit + } + + # @!parse + # # For custom cadence: specifies the duration of the billing period in days or + # # months. + # # + # # @param duration [Integer] + # # @param duration_unit [Symbol, Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::BillingCycleConfiguration::DurationUnit] + # # + # def initialize(duration:, duration_unit:, **) = super + + # def initialize: (Hash | Orb::BaseModel) -> void + + # @abstract + # + # The unit of billing period duration. + # + # @example + # ```ruby + # case duration_unit + # in :day + # # ... + # in :month + # # ... + # end + # ``` + class DurationUnit < Orb::Enum + DAY = :day + MONTH = :month + + finalize! + + # @!parse + # # @return [Array] + # # + # def self.values; end + end + end + + # @example + # ```ruby + # invoicing_cycle_configuration => { + # duration: Integer, + # duration_unit: Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::InvoicingCycleConfiguration::DurationUnit + # } + # ``` + class InvoicingCycleConfiguration < Orb::BaseModel + # @!attribute duration + # The duration of the billing period. + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # The unit of billing period duration. + # + # @return [Symbol, Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::InvoicingCycleConfiguration::DurationUnit + } + + # @!parse + # # Within each billing cycle, specifies the cadence at which invoices are produced. + # # If unspecified, a single invoice is produced per billing cycle. + # # + # # @param duration [Integer] + # # @param duration_unit [Symbol, Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::InvoicingCycleConfiguration::DurationUnit] + # # + # def initialize(duration:, duration_unit:, **) = super + + # def initialize: (Hash | Orb::BaseModel) -> void + + # @abstract + # + # The unit of billing period duration. + # + # @example + # ```ruby + # case duration_unit + # in :day + # # ... + # in :month + # # ... + # end + # ``` + class DurationUnit < Orb::Enum + DAY = :day + MONTH = :month + + finalize! + + # @!parse + # # @return [Array] + # # + # def self.values; end + end + end + end end # @abstract diff --git a/lib/orb/models/price.rb b/lib/orb/models/price.rb index b110318a..74ed1f54 100644 --- a/lib/orb/models/price.rb +++ b/lib/orb/models/price.rb @@ -72,6 +72,8 @@ module Models # # Orb::Models::Price::ScalableMatrixWithUnitPricingPrice ... # in {model_type: "scalable_matrix_with_tiered_pricing", id: String, billable_metric: Orb::Models::Price::ScalableMatrixWithTieredPricingPrice::BillableMetric, billing_cycle_configuration: Orb::Models::Price::ScalableMatrixWithTieredPricingPrice::BillingCycleConfiguration} # # Orb::Models::Price::ScalableMatrixWithTieredPricingPrice ... + # in {model_type: "cumulative_grouped_bulk", id: String, billable_metric: Orb::Models::Price::CumulativeGroupedBulkPrice::BillableMetric, billing_cycle_configuration: Orb::Models::Price::CumulativeGroupedBulkPrice::BillingCycleConfiguration} + # # Orb::Models::Price::CumulativeGroupedBulkPrice ... # end # ``` # @@ -132,6 +134,8 @@ module Models # # ... # in Orb::Models::Price::ScalableMatrixWithTieredPricingPrice # # ... + # in Orb::Models::Price::CumulativeGroupedBulkPrice + # # ... # end # ``` class Price < Orb::Union @@ -195,6 +199,8 @@ class Price < Orb::Union variant :scalable_matrix_with_tiered_pricing, -> { Orb::Models::Price::ScalableMatrixWithTieredPricingPrice } + variant :cumulative_grouped_bulk, -> { Orb::Models::Price::CumulativeGroupedBulkPrice } + # @example # ```ruby # unit_price => { @@ -14903,6 +14909,535 @@ class DimensionalPriceConfiguration < Orb::BaseModel # def initialize: (Hash | Orb::BaseModel) -> void end end + + # @example + # ```ruby + # cumulative_grouped_bulk_price => { + # id: String, + # billable_metric: Orb::Models::Price::CumulativeGroupedBulkPrice::BillableMetric, + # billing_cycle_configuration: Orb::Models::Price::CumulativeGroupedBulkPrice::BillingCycleConfiguration, + # cadence: Orb::Models::Price::CumulativeGroupedBulkPrice::Cadence, + # conversion_rate: Float, + # **_ + # } + # ``` + class CumulativeGroupedBulkPrice < Orb::BaseModel + # @!attribute id + # + # @return [String] + required :id, String + + # @!attribute billable_metric + # + # @return [Orb::Models::Price::CumulativeGroupedBulkPrice::BillableMetric, nil] + required :billable_metric, + -> { Orb::Models::Price::CumulativeGroupedBulkPrice::BillableMetric }, + nil?: true + + # @!attribute billing_cycle_configuration + # + # @return [Orb::Models::Price::CumulativeGroupedBulkPrice::BillingCycleConfiguration] + required :billing_cycle_configuration, + -> { Orb::Models::Price::CumulativeGroupedBulkPrice::BillingCycleConfiguration } + + # @!attribute cadence + # + # @return [Symbol, Orb::Models::Price::CumulativeGroupedBulkPrice::Cadence] + required :cadence, enum: -> { Orb::Models::Price::CumulativeGroupedBulkPrice::Cadence } + + # @!attribute conversion_rate + # + # @return [Float, nil] + required :conversion_rate, Float, nil?: true + + # @!attribute created_at + # + # @return [Time] + required :created_at, Time + + # @!attribute credit_allocation + # + # @return [Orb::Models::Price::CumulativeGroupedBulkPrice::CreditAllocation, nil] + required :credit_allocation, + -> { Orb::Models::Price::CumulativeGroupedBulkPrice::CreditAllocation }, + nil?: true + + # @!attribute cumulative_grouped_bulk_config + # + # @return [Hash{Symbol=>Object}] + required :cumulative_grouped_bulk_config, Orb::HashOf[Orb::Unknown] + + # @!attribute currency + # + # @return [String] + required :currency, String + + # @!attribute discount + # + # @return [Orb::Models::PercentageDiscount, Orb::Models::TrialDiscount, Orb::Models::Discount::UsageDiscount, Orb::Models::AmountDiscount, nil] + required :discount, union: -> { Orb::Models::Discount }, nil?: true + + # @!attribute external_price_id + # + # @return [String, nil] + required :external_price_id, String, nil?: true + + # @!attribute fixed_price_quantity + # + # @return [Float, nil] + required :fixed_price_quantity, Float, nil?: true + + # @!attribute invoicing_cycle_configuration + # + # @return [Orb::Models::Price::CumulativeGroupedBulkPrice::InvoicingCycleConfiguration, nil] + required :invoicing_cycle_configuration, + -> { Orb::Models::Price::CumulativeGroupedBulkPrice::InvoicingCycleConfiguration }, + nil?: true + + # @!attribute item + # + # @return [Orb::Models::Price::CumulativeGroupedBulkPrice::Item] + required :item, -> { Orb::Models::Price::CumulativeGroupedBulkPrice::Item } + + # @!attribute maximum + # + # @return [Orb::Models::Price::CumulativeGroupedBulkPrice::Maximum, nil] + required :maximum, -> { Orb::Models::Price::CumulativeGroupedBulkPrice::Maximum }, nil?: true + + # @!attribute maximum_amount + # + # @return [String, nil] + required :maximum_amount, String, nil?: true + + # @!attribute metadata + # User specified key-value pairs for the resource. If not present, this defaults + # to an empty dictionary. Individual keys can be removed by setting the value to + # `null`, and the entire metadata mapping can be cleared by setting `metadata` to + # `null`. + # + # @return [Hash{Symbol=>String}] + required :metadata, Orb::HashOf[String] + + # @!attribute minimum + # + # @return [Orb::Models::Price::CumulativeGroupedBulkPrice::Minimum, nil] + required :minimum, -> { Orb::Models::Price::CumulativeGroupedBulkPrice::Minimum }, nil?: true + + # @!attribute minimum_amount + # + # @return [String, nil] + required :minimum_amount, String, nil?: true + + # @!attribute model_type + # + # @return [Symbol, :cumulative_grouped_bulk] + required :model_type, const: :cumulative_grouped_bulk + + # @!attribute name + # + # @return [String] + required :name, String + + # @!attribute plan_phase_order + # + # @return [Integer, nil] + required :plan_phase_order, Integer, nil?: true + + # @!attribute price_type + # + # @return [Symbol, Orb::Models::Price::CumulativeGroupedBulkPrice::PriceType] + required :price_type, enum: -> { Orb::Models::Price::CumulativeGroupedBulkPrice::PriceType } + + # @!attribute dimensional_price_configuration + # + # @return [Orb::Models::Price::CumulativeGroupedBulkPrice::DimensionalPriceConfiguration, nil] + optional :dimensional_price_configuration, + -> { Orb::Models::Price::CumulativeGroupedBulkPrice::DimensionalPriceConfiguration }, + nil?: true + + # @!parse + # # @param id [String] + # # @param billable_metric [Orb::Models::Price::CumulativeGroupedBulkPrice::BillableMetric, nil] + # # @param billing_cycle_configuration [Orb::Models::Price::CumulativeGroupedBulkPrice::BillingCycleConfiguration] + # # @param cadence [Symbol, Orb::Models::Price::CumulativeGroupedBulkPrice::Cadence] + # # @param conversion_rate [Float, nil] + # # @param created_at [Time] + # # @param credit_allocation [Orb::Models::Price::CumulativeGroupedBulkPrice::CreditAllocation, nil] + # # @param cumulative_grouped_bulk_config [Hash{Symbol=>Object}] + # # @param currency [String] + # # @param discount [Orb::Models::PercentageDiscount, Orb::Models::TrialDiscount, Orb::Models::Discount::UsageDiscount, Orb::Models::AmountDiscount, nil] + # # @param external_price_id [String, nil] + # # @param fixed_price_quantity [Float, nil] + # # @param invoicing_cycle_configuration [Orb::Models::Price::CumulativeGroupedBulkPrice::InvoicingCycleConfiguration, nil] + # # @param item [Orb::Models::Price::CumulativeGroupedBulkPrice::Item] + # # @param maximum [Orb::Models::Price::CumulativeGroupedBulkPrice::Maximum, nil] + # # @param maximum_amount [String, nil] + # # @param metadata [Hash{Symbol=>String}] + # # @param minimum [Orb::Models::Price::CumulativeGroupedBulkPrice::Minimum, nil] + # # @param minimum_amount [String, nil] + # # @param name [String] + # # @param plan_phase_order [Integer, nil] + # # @param price_type [Symbol, Orb::Models::Price::CumulativeGroupedBulkPrice::PriceType] + # # @param dimensional_price_configuration [Orb::Models::Price::CumulativeGroupedBulkPrice::DimensionalPriceConfiguration, nil] + # # @param model_type [Symbol, :cumulative_grouped_bulk] + # # + # def initialize( + # id:, + # billable_metric:, + # billing_cycle_configuration:, + # cadence:, + # conversion_rate:, + # created_at:, + # credit_allocation:, + # cumulative_grouped_bulk_config:, + # currency:, + # discount:, + # external_price_id:, + # fixed_price_quantity:, + # invoicing_cycle_configuration:, + # item:, + # maximum:, + # maximum_amount:, + # metadata:, + # minimum:, + # minimum_amount:, + # name:, + # plan_phase_order:, + # price_type:, + # dimensional_price_configuration: nil, + # model_type: :cumulative_grouped_bulk, + # ** + # ) + # super + # end + + # def initialize: (Hash | Orb::BaseModel) -> void + + # @example + # ```ruby + # billable_metric => { + # id: String + # } + # ``` + class BillableMetric < Orb::BaseModel + # @!attribute id + # + # @return [String] + required :id, String + + # @!parse + # # @param id [String] + # # + # def initialize(id:, **) = super + + # def initialize: (Hash | Orb::BaseModel) -> void + end + + # @example + # ```ruby + # billing_cycle_configuration => { + # duration: Integer, + # duration_unit: Orb::Models::Price::CumulativeGroupedBulkPrice::BillingCycleConfiguration::DurationUnit + # } + # ``` + class BillingCycleConfiguration < Orb::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Price::CumulativeGroupedBulkPrice::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::Models::Price::CumulativeGroupedBulkPrice::BillingCycleConfiguration::DurationUnit + } + + # @!parse + # # @param duration [Integer] + # # @param duration_unit [Symbol, Orb::Models::Price::CumulativeGroupedBulkPrice::BillingCycleConfiguration::DurationUnit] + # # + # def initialize(duration:, duration_unit:, **) = super + + # def initialize: (Hash | Orb::BaseModel) -> void + + # @abstract + # + # @example + # ```ruby + # case duration_unit + # in :day + # # ... + # in :month + # # ... + # end + # ``` + class DurationUnit < Orb::Enum + DAY = :day + MONTH = :month + + finalize! + + # @!parse + # # @return [Array] + # # + # def self.values; end + end + end + + # @abstract + # + # @example + # ```ruby + # case cadence + # in :one_time + # # ... + # in :monthly + # # ... + # in :quarterly + # # ... + # in :semi_annual + # # ... + # in :annual + # # ... + # in ... + # #... + # end + # ``` + class Cadence < Orb::Enum + ONE_TIME = :one_time + MONTHLY = :monthly + QUARTERLY = :quarterly + SEMI_ANNUAL = :semi_annual + ANNUAL = :annual + CUSTOM = :custom + + finalize! + + # @!parse + # # @return [Array] + # # + # def self.values; end + end + + # @example + # ```ruby + # credit_allocation => { + # allows_rollover: Orb::BooleanModel, + # currency: String + # } + # ``` + class CreditAllocation < Orb::BaseModel + # @!attribute allows_rollover + # + # @return [Boolean] + required :allows_rollover, Orb::BooleanModel + + # @!attribute currency + # + # @return [String] + required :currency, String + + # @!parse + # # @param allows_rollover [Boolean] + # # @param currency [String] + # # + # def initialize(allows_rollover:, currency:, **) = super + + # def initialize: (Hash | Orb::BaseModel) -> void + end + + # @example + # ```ruby + # invoicing_cycle_configuration => { + # duration: Integer, + # duration_unit: Orb::Models::Price::CumulativeGroupedBulkPrice::InvoicingCycleConfiguration::DurationUnit + # } + # ``` + class InvoicingCycleConfiguration < Orb::BaseModel + # @!attribute duration + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # + # @return [Symbol, Orb::Models::Price::CumulativeGroupedBulkPrice::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::Models::Price::CumulativeGroupedBulkPrice::InvoicingCycleConfiguration::DurationUnit + } + + # @!parse + # # @param duration [Integer] + # # @param duration_unit [Symbol, Orb::Models::Price::CumulativeGroupedBulkPrice::InvoicingCycleConfiguration::DurationUnit] + # # + # def initialize(duration:, duration_unit:, **) = super + + # def initialize: (Hash | Orb::BaseModel) -> void + + # @abstract + # + # @example + # ```ruby + # case duration_unit + # in :day + # # ... + # in :month + # # ... + # end + # ``` + class DurationUnit < Orb::Enum + DAY = :day + MONTH = :month + + finalize! + + # @!parse + # # @return [Array] + # # + # def self.values; end + end + end + + # @example + # ```ruby + # item => { + # id: String, + # name: String + # } + # ``` + class Item < Orb::BaseModel + # @!attribute id + # + # @return [String] + required :id, String + + # @!attribute name + # + # @return [String] + required :name, String + + # @!parse + # # @param id [String] + # # @param name [String] + # # + # def initialize(id:, name:, **) = super + + # def initialize: (Hash | Orb::BaseModel) -> void + end + + # @example + # ```ruby + # maximum => { + # applies_to_price_ids: -> { Orb::ArrayOf[String] === _1 }, + # maximum_amount: String + # } + # ``` + class Maximum < Orb::BaseModel + # @!attribute applies_to_price_ids + # List of price_ids that this maximum amount applies to. For plan/plan phase + # maximums, this can be a subset of prices. + # + # @return [Array] + required :applies_to_price_ids, Orb::ArrayOf[String] + + # @!attribute maximum_amount + # Maximum amount applied + # + # @return [String] + required :maximum_amount, String + + # @!parse + # # @param applies_to_price_ids [Array] + # # @param maximum_amount [String] + # # + # def initialize(applies_to_price_ids:, maximum_amount:, **) = super + + # def initialize: (Hash | Orb::BaseModel) -> void + end + + # @example + # ```ruby + # minimum => { + # applies_to_price_ids: -> { Orb::ArrayOf[String] === _1 }, + # minimum_amount: String + # } + # ``` + class Minimum < Orb::BaseModel + # @!attribute applies_to_price_ids + # List of price_ids that this minimum amount applies to. For plan/plan phase + # minimums, this can be a subset of prices. + # + # @return [Array] + required :applies_to_price_ids, Orb::ArrayOf[String] + + # @!attribute minimum_amount + # Minimum amount applied + # + # @return [String] + required :minimum_amount, String + + # @!parse + # # @param applies_to_price_ids [Array] + # # @param minimum_amount [String] + # # + # def initialize(applies_to_price_ids:, minimum_amount:, **) = super + + # def initialize: (Hash | Orb::BaseModel) -> void + end + + # @abstract + # + # @example + # ```ruby + # case price_type + # in :usage_price + # # ... + # in :fixed_price + # # ... + # end + # ``` + class PriceType < Orb::Enum + USAGE_PRICE = :usage_price + FIXED_PRICE = :fixed_price + + finalize! + + # @!parse + # # @return [Array] + # # + # def self.values; end + end + + # @example + # ```ruby + # dimensional_price_configuration => { + # dimension_values: -> { Orb::ArrayOf[String] === _1 }, + # dimensional_price_group_id: String + # } + # ``` + class DimensionalPriceConfiguration < Orb::BaseModel + # @!attribute dimension_values + # + # @return [Array] + required :dimension_values, Orb::ArrayOf[String] + + # @!attribute dimensional_price_group_id + # + # @return [String] + required :dimensional_price_group_id, String + + # @!parse + # # @param dimension_values [Array] + # # @param dimensional_price_group_id [String] + # # + # def initialize(dimension_values:, dimensional_price_group_id:, **) = super + + # def initialize: (Hash | Orb::BaseModel) -> void + end + end end end end diff --git a/lib/orb/models/price_create_params.rb b/lib/orb/models/price_create_params.rb index f67f5c1f..62d842f9 100644 --- a/lib/orb/models/price_create_params.rb +++ b/lib/orb/models/price_create_params.rb @@ -239,6 +239,11 @@ class PriceCreateParams < Orb::BaseModel # @return [Hash{Symbol=>Object}] required :scalable_matrix_with_tiered_pricing_config, Orb::HashOf[Orb::Unknown] + # @!attribute cumulative_grouped_bulk_config + # + # @return [Hash{Symbol=>Object}] + required :cumulative_grouped_bulk_config, Orb::HashOf[Orb::Unknown] + # @!parse # # @param cadence [Symbol, Orb::Models::PriceCreateParams::Cadence] # # @param currency [String] @@ -272,6 +277,7 @@ class PriceCreateParams < Orb::BaseModel # # @param grouped_tiered_package_config [Hash{Symbol=>Object}] # # @param scalable_matrix_with_unit_pricing_config [Hash{Symbol=>Object}] # # @param scalable_matrix_with_tiered_pricing_config [Hash{Symbol=>Object}] + # # @param cumulative_grouped_bulk_config [Hash{Symbol=>Object}] # # @param billable_metric_id [String, nil] # # @param billed_in_advance [Boolean, nil] # # @param billing_cycle_configuration [Orb::Models::PriceCreateParams::BillingCycleConfiguration, nil] @@ -316,6 +322,7 @@ class PriceCreateParams < Orb::BaseModel # grouped_tiered_package_config:, # scalable_matrix_with_unit_pricing_config:, # scalable_matrix_with_tiered_pricing_config:, + # cumulative_grouped_bulk_config:, # billable_metric_id: nil, # billed_in_advance: nil, # billing_cycle_configuration: nil, @@ -375,12 +382,12 @@ class Cadence < Orb::Enum # @example # ```ruby # case model_type - # in :scalable_matrix_with_tiered_pricing + # in :cumulative_grouped_bulk # # ... # end # ``` class ModelType < Orb::Enum - SCALABLE_MATRIX_WITH_TIERED_PRICING = :scalable_matrix_with_tiered_pricing + CUMULATIVE_GROUPED_BULK = :cumulative_grouped_bulk finalize! diff --git a/lib/orb/models/subscription.rb b/lib/orb/models/subscription.rb index 314a017c..5f88553d 100644 --- a/lib/orb/models/subscription.rb +++ b/lib/orb/models/subscription.rb @@ -1284,7 +1284,7 @@ class PriceInterval < Orb::BaseModel # For more on the types of prices, see # [the core concepts documentation](/core-concepts#plan-and-price) # - # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] required :price, union: -> { Orb::Models::Price } # @!attribute start_date @@ -1305,7 +1305,7 @@ class PriceInterval < Orb::BaseModel # # @param current_billing_period_start_date [Time, nil] # # @param end_date [Time, nil] # # @param fixed_fee_quantity_transitions [Array, nil] - # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] # # @param start_date [Time] # # # def initialize( diff --git a/lib/orb/models/subscription_cancel_response.rb b/lib/orb/models/subscription_cancel_response.rb index 48f10ad8..92265bd4 100644 --- a/lib/orb/models/subscription_cancel_response.rb +++ b/lib/orb/models/subscription_cancel_response.rb @@ -1282,7 +1282,7 @@ class PriceInterval < Orb::BaseModel # For more on the types of prices, see # [the core concepts documentation](/core-concepts#plan-and-price) # - # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] required :price, union: -> { Orb::Models::Price } # @!attribute start_date @@ -1303,7 +1303,7 @@ class PriceInterval < Orb::BaseModel # # @param current_billing_period_start_date [Time, nil] # # @param end_date [Time, nil] # # @param fixed_fee_quantity_transitions [Array, nil] - # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] # # @param start_date [Time] # # # def initialize( diff --git a/lib/orb/models/subscription_create_response.rb b/lib/orb/models/subscription_create_response.rb index bce57697..15045dd5 100644 --- a/lib/orb/models/subscription_create_response.rb +++ b/lib/orb/models/subscription_create_response.rb @@ -1282,7 +1282,7 @@ class PriceInterval < Orb::BaseModel # For more on the types of prices, see # [the core concepts documentation](/core-concepts#plan-and-price) # - # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] required :price, union: -> { Orb::Models::Price } # @!attribute start_date @@ -1303,7 +1303,7 @@ class PriceInterval < Orb::BaseModel # # @param current_billing_period_start_date [Time, nil] # # @param end_date [Time, nil] # # @param fixed_fee_quantity_transitions [Array, nil] - # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] # # @param start_date [Time] # # # def initialize( diff --git a/lib/orb/models/subscription_fetch_costs_response.rb b/lib/orb/models/subscription_fetch_costs_response.rb index 7bc8abf2..82204ccb 100644 --- a/lib/orb/models/subscription_fetch_costs_response.rb +++ b/lib/orb/models/subscription_fetch_costs_response.rb @@ -75,6 +75,7 @@ class Data < Orb::BaseModel # ```ruby # per_price_cost => { # price: Orb::Models::Price, + # price_id: String, # subtotal: String, # total: String, # quantity: Float @@ -82,20 +83,17 @@ class Data < Orb::BaseModel # ``` class PerPriceCost < Orb::BaseModel # @!attribute price - # The Price resource represents a price that can be billed on a subscription, - # resulting in a charge on an invoice in the form of an invoice line item. Prices - # take a quantity and determine an amount to bill. + # The price object # - # Orb supports a few different pricing models out of the box. Each of these models - # is serialized differently in a given Price object. The model_type field - # determines the key for the configuration object that is present. - # - # For more on the types of prices, see - # [the core concepts documentation](/core-concepts#plan-and-price) - # - # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] required :price, union: -> { Orb::Models::Price } + # @!attribute price_id + # The price the cost is associated with + # + # @return [String] + required :price_id, String + # @!attribute subtotal # Price's contributions for the timeframe, excluding any minimums and discounts. # @@ -115,12 +113,13 @@ class PerPriceCost < Orb::BaseModel optional :quantity, Float, nil?: true # @!parse - # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] + # # @param price_id [String] # # @param subtotal [String] # # @param total [String] # # @param quantity [Float, nil] # # - # def initialize(price:, subtotal:, total:, quantity: nil, **) = super + # def initialize(price:, price_id:, subtotal:, total:, quantity: nil, **) = super # def initialize: (Hash | Orb::BaseModel) -> void end diff --git a/lib/orb/models/subscription_price_intervals_params.rb b/lib/orb/models/subscription_price_intervals_params.rb index 7a7d83a6..a30f4454 100644 --- a/lib/orb/models/subscription_price_intervals_params.rb +++ b/lib/orb/models/subscription_price_intervals_params.rb @@ -139,7 +139,7 @@ class Add < Orb::BaseModel # @!attribute price # The definition of a new price to create and add to the subscription. # - # @return [Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingUnitPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingPackagePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMatrixPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMatrixWithAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredBpsPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBpsPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBulkBpsPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingThresholdTotalAmountPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredPackagePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedTieredPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredWithMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingPackageWithAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingUnitWithPercentPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredWithProrationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingUnitWithProrationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBulkWithProrationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedTieredPackagePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingScalableMatrixWithTieredPricingPrice, nil] + # @return [Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingUnitPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingPackagePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMatrixPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMatrixWithAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredBpsPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBpsPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBulkBpsPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingThresholdTotalAmountPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredPackagePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedTieredPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredWithMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingPackageWithAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingUnitWithPercentPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredWithProrationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingUnitWithProrationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBulkWithProrationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedTieredPackagePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice, nil] optional :price, union: -> { Orb::Models::SubscriptionPriceIntervalsParams::Add::Price }, nil?: true # @!attribute price_id @@ -157,7 +157,7 @@ class Add < Orb::BaseModel # # @param fixed_fee_quantity_transitions [Array, nil] # # @param maximum_amount [Float, nil] # # @param minimum_amount [Float, nil] - # # @param price [Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingUnitPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingPackagePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMatrixPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMatrixWithAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredBpsPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBpsPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBulkBpsPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingThresholdTotalAmountPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredPackagePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedTieredPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredWithMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingPackageWithAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingUnitWithPercentPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredWithProrationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingUnitWithProrationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBulkWithProrationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedTieredPackagePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingScalableMatrixWithTieredPricingPrice, nil] + # # @param price [Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingUnitPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingPackagePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMatrixPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMatrixWithAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredBpsPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBpsPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBulkBpsPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingThresholdTotalAmountPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredPackagePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedTieredPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredWithMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingPackageWithAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingUnitWithPercentPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredWithProrationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingUnitWithProrationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBulkWithProrationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedTieredPackagePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice, nil] # # @param price_id [String, nil] # # # def initialize( @@ -519,6 +519,8 @@ class FixedFeeQuantityTransition < Orb::BaseModel # # Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingScalableMatrixWithUnitPricingPrice ... # in {model_type: "scalable_matrix_with_tiered_pricing", cadence: Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingScalableMatrixWithTieredPricingPrice::Cadence, currency: String, item_id: String} # # Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingScalableMatrixWithTieredPricingPrice ... + # in {model_type: "cumulative_grouped_bulk", cadence: Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::Cadence, cumulative_grouped_bulk_config: -> { Orb::HashOf[Orb::Unknown] === _1 }, currency: String} + # # Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice ... # end # ``` # @@ -579,6 +581,8 @@ class FixedFeeQuantityTransition < Orb::BaseModel # # ... # in Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingScalableMatrixWithTieredPricingPrice # # ... + # in Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice + # # ... # end # ``` class Price < Orb::Union @@ -672,6 +676,9 @@ class Price < Orb::Union variant :scalable_matrix_with_tiered_pricing, -> { Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingScalableMatrixWithTieredPricingPrice } + variant :cumulative_grouped_bulk, + -> { Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice } + # @example # ```ruby # new_floating_unit_price => { @@ -9688,6 +9695,322 @@ class DurationUnit < Orb::Enum end end end + + # @example + # ```ruby + # new_floating_cumulative_grouped_bulk_price => { + # cadence: Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::Cadence, + # cumulative_grouped_bulk_config: -> { Orb::HashOf[Orb::Unknown] === _1 }, + # currency: String, + # item_id: String, + # model_type: :cumulative_grouped_bulk, + # **_ + # } + # ``` + class NewFloatingCumulativeGroupedBulkPrice < Orb::BaseModel + # @!attribute cadence + # The cadence to bill for this price on. + # + # @return [Symbol, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::Cadence] + required :cadence, + enum: -> { + Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::Cadence + } + + # @!attribute cumulative_grouped_bulk_config + # + # @return [Hash{Symbol=>Object}] + required :cumulative_grouped_bulk_config, Orb::HashOf[Orb::Unknown] + + # @!attribute currency + # An ISO 4217 currency string for which this price is billed in. + # + # @return [String] + required :currency, String + + # @!attribute item_id + # The id of the item the plan will be associated with. + # + # @return [String] + required :item_id, String + + # @!attribute model_type + # + # @return [Symbol, :cumulative_grouped_bulk] + required :model_type, const: :cumulative_grouped_bulk + + # @!attribute name + # The name of the price. + # + # @return [String] + required :name, String + + # @!attribute billable_metric_id + # The id of the billable metric for the price. Only needed if the price is + # usage-based. + # + # @return [String, nil] + optional :billable_metric_id, String, nil?: true + + # @!attribute billed_in_advance + # If the Price represents a fixed cost, the price will be billed in-advance if + # this is true, and in-arrears if this is false. + # + # @return [Boolean, nil] + optional :billed_in_advance, Orb::BooleanModel, nil?: true + + # @!attribute billing_cycle_configuration + # For custom cadence: specifies the duration of the billing period in days or + # months. + # + # @return [Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::BillingCycleConfiguration, nil] + optional :billing_cycle_configuration, + -> { + Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::BillingCycleConfiguration + }, + nil?: true + + # @!attribute conversion_rate + # The per unit conversion rate of the price currency to the invoicing currency. + # + # @return [Float, nil] + optional :conversion_rate, Float, nil?: true + + # @!attribute external_price_id + # An alias for the price. + # + # @return [String, nil] + optional :external_price_id, String, nil?: true + + # @!attribute fixed_price_quantity + # If the Price represents a fixed cost, this represents the quantity of units + # applied. + # + # @return [Float, nil] + optional :fixed_price_quantity, Float, nil?: true + + # @!attribute invoice_grouping_key + # The property used to group this price on an invoice + # + # @return [String, nil] + optional :invoice_grouping_key, String, nil?: true + + # @!attribute invoicing_cycle_configuration + # Within each billing cycle, specifies the cadence at which invoices are produced. + # If unspecified, a single invoice is produced per billing cycle. + # + # @return [Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::InvoicingCycleConfiguration, nil] + optional :invoicing_cycle_configuration, + -> { + Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::InvoicingCycleConfiguration + }, + nil?: true + + # @!attribute metadata + # User-specified key/value pairs for the resource. Individual keys can be removed + # by setting the value to `null`, and the entire metadata mapping can be cleared + # by setting `metadata` to `null`. + # + # @return [Hash{Symbol=>String, nil}, nil] + optional :metadata, Orb::HashOf[String, nil?: true], nil?: true + + # @!parse + # # @param cadence [Symbol, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::Cadence] + # # @param cumulative_grouped_bulk_config [Hash{Symbol=>Object}] + # # @param currency [String] + # # @param item_id [String] + # # @param name [String] + # # @param billable_metric_id [String, nil] + # # @param billed_in_advance [Boolean, nil] + # # @param billing_cycle_configuration [Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::BillingCycleConfiguration, nil] + # # @param conversion_rate [Float, nil] + # # @param external_price_id [String, nil] + # # @param fixed_price_quantity [Float, nil] + # # @param invoice_grouping_key [String, nil] + # # @param invoicing_cycle_configuration [Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::InvoicingCycleConfiguration, nil] + # # @param metadata [Hash{Symbol=>String, nil}, nil] + # # @param model_type [Symbol, :cumulative_grouped_bulk] + # # + # def initialize( + # cadence:, + # cumulative_grouped_bulk_config:, + # currency:, + # item_id:, + # name:, + # billable_metric_id: nil, + # billed_in_advance: nil, + # billing_cycle_configuration: nil, + # conversion_rate: nil, + # external_price_id: nil, + # fixed_price_quantity: nil, + # invoice_grouping_key: nil, + # invoicing_cycle_configuration: nil, + # metadata: nil, + # model_type: :cumulative_grouped_bulk, + # ** + # ) + # super + # end + + # def initialize: (Hash | Orb::BaseModel) -> void + + # @abstract + # + # The cadence to bill for this price on. + # + # @example + # ```ruby + # case cadence + # in :annual + # # ... + # in :semi_annual + # # ... + # in :monthly + # # ... + # in :quarterly + # # ... + # in :one_time + # # ... + # in ... + # #... + # end + # ``` + class Cadence < Orb::Enum + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + finalize! + + # @!parse + # # @return [Array] + # # + # def self.values; end + end + + # @example + # ```ruby + # billing_cycle_configuration => { + # duration: Integer, + # duration_unit: Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::BillingCycleConfiguration::DurationUnit + # } + # ``` + class BillingCycleConfiguration < Orb::BaseModel + # @!attribute duration + # The duration of the billing period. + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # The unit of billing period duration. + # + # @return [Symbol, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::BillingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::BillingCycleConfiguration::DurationUnit + } + + # @!parse + # # For custom cadence: specifies the duration of the billing period in days or + # # months. + # # + # # @param duration [Integer] + # # @param duration_unit [Symbol, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::BillingCycleConfiguration::DurationUnit] + # # + # def initialize(duration:, duration_unit:, **) = super + + # def initialize: (Hash | Orb::BaseModel) -> void + + # @abstract + # + # The unit of billing period duration. + # + # @example + # ```ruby + # case duration_unit + # in :day + # # ... + # in :month + # # ... + # end + # ``` + class DurationUnit < Orb::Enum + DAY = :day + MONTH = :month + + finalize! + + # @!parse + # # @return [Array] + # # + # def self.values; end + end + end + + # @example + # ```ruby + # invoicing_cycle_configuration => { + # duration: Integer, + # duration_unit: Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::InvoicingCycleConfiguration::DurationUnit + # } + # ``` + class InvoicingCycleConfiguration < Orb::BaseModel + # @!attribute duration + # The duration of the billing period. + # + # @return [Integer] + required :duration, Integer + + # @!attribute duration_unit + # The unit of billing period duration. + # + # @return [Symbol, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::InvoicingCycleConfiguration::DurationUnit] + required :duration_unit, + enum: -> { + Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::InvoicingCycleConfiguration::DurationUnit + } + + # @!parse + # # Within each billing cycle, specifies the cadence at which invoices are produced. + # # If unspecified, a single invoice is produced per billing cycle. + # # + # # @param duration [Integer] + # # @param duration_unit [Symbol, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::InvoicingCycleConfiguration::DurationUnit] + # # + # def initialize(duration:, duration_unit:, **) = super + + # def initialize: (Hash | Orb::BaseModel) -> void + + # @abstract + # + # The unit of billing period duration. + # + # @example + # ```ruby + # case duration_unit + # in :day + # # ... + # in :month + # # ... + # end + # ``` + class DurationUnit < Orb::Enum + DAY = :day + MONTH = :month + + finalize! + + # @!parse + # # @return [Array] + # # + # def self.values; end + end + end + end end end diff --git a/lib/orb/models/subscription_price_intervals_response.rb b/lib/orb/models/subscription_price_intervals_response.rb index f58bfecf..1b7bca0a 100644 --- a/lib/orb/models/subscription_price_intervals_response.rb +++ b/lib/orb/models/subscription_price_intervals_response.rb @@ -1277,7 +1277,7 @@ class PriceInterval < Orb::BaseModel # For more on the types of prices, see # [the core concepts documentation](/core-concepts#plan-and-price) # - # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] required :price, union: -> { Orb::Models::Price } # @!attribute start_date @@ -1298,7 +1298,7 @@ class PriceInterval < Orb::BaseModel # # @param current_billing_period_start_date [Time, nil] # # @param end_date [Time, nil] # # @param fixed_fee_quantity_transitions [Array, nil] - # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] # # @param start_date [Time] # # # def initialize( diff --git a/lib/orb/models/subscription_schedule_plan_change_response.rb b/lib/orb/models/subscription_schedule_plan_change_response.rb index a0324818..1ced6f67 100644 --- a/lib/orb/models/subscription_schedule_plan_change_response.rb +++ b/lib/orb/models/subscription_schedule_plan_change_response.rb @@ -1283,7 +1283,7 @@ class PriceInterval < Orb::BaseModel # For more on the types of prices, see # [the core concepts documentation](/core-concepts#plan-and-price) # - # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] required :price, union: -> { Orb::Models::Price } # @!attribute start_date @@ -1304,7 +1304,7 @@ class PriceInterval < Orb::BaseModel # # @param current_billing_period_start_date [Time, nil] # # @param end_date [Time, nil] # # @param fixed_fee_quantity_transitions [Array, nil] - # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] # # @param start_date [Time] # # # def initialize( diff --git a/lib/orb/models/subscription_trigger_phase_response.rb b/lib/orb/models/subscription_trigger_phase_response.rb index eab928d2..c693a555 100644 --- a/lib/orb/models/subscription_trigger_phase_response.rb +++ b/lib/orb/models/subscription_trigger_phase_response.rb @@ -1277,7 +1277,7 @@ class PriceInterval < Orb::BaseModel # For more on the types of prices, see # [the core concepts documentation](/core-concepts#plan-and-price) # - # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] required :price, union: -> { Orb::Models::Price } # @!attribute start_date @@ -1298,7 +1298,7 @@ class PriceInterval < Orb::BaseModel # # @param current_billing_period_start_date [Time, nil] # # @param end_date [Time, nil] # # @param fixed_fee_quantity_transitions [Array, nil] - # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] # # @param start_date [Time] # # # def initialize( diff --git a/lib/orb/models/subscription_unschedule_cancellation_response.rb b/lib/orb/models/subscription_unschedule_cancellation_response.rb index ec0e3fb1..9680fe54 100644 --- a/lib/orb/models/subscription_unschedule_cancellation_response.rb +++ b/lib/orb/models/subscription_unschedule_cancellation_response.rb @@ -1285,7 +1285,7 @@ class PriceInterval < Orb::BaseModel # For more on the types of prices, see # [the core concepts documentation](/core-concepts#plan-and-price) # - # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] required :price, union: -> { Orb::Models::Price } # @!attribute start_date @@ -1306,7 +1306,7 @@ class PriceInterval < Orb::BaseModel # # @param current_billing_period_start_date [Time, nil] # # @param end_date [Time, nil] # # @param fixed_fee_quantity_transitions [Array, nil] - # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] # # @param start_date [Time] # # # def initialize( diff --git a/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rb b/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rb index c2d34117..accfe35c 100644 --- a/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rb +++ b/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rb @@ -1297,7 +1297,7 @@ class PriceInterval < Orb::BaseModel # For more on the types of prices, see # [the core concepts documentation](/core-concepts#plan-and-price) # - # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] required :price, union: -> { Orb::Models::Price } # @!attribute start_date @@ -1318,7 +1318,7 @@ class PriceInterval < Orb::BaseModel # # @param current_billing_period_start_date [Time, nil] # # @param end_date [Time, nil] # # @param fixed_fee_quantity_transitions [Array, nil] - # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] # # @param start_date [Time] # # # def initialize( diff --git a/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rb b/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rb index 5048a8c9..33401beb 100644 --- a/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rb +++ b/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rb @@ -1291,7 +1291,7 @@ class PriceInterval < Orb::BaseModel # For more on the types of prices, see # [the core concepts documentation](/core-concepts#plan-and-price) # - # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] required :price, union: -> { Orb::Models::Price } # @!attribute start_date @@ -1312,7 +1312,7 @@ class PriceInterval < Orb::BaseModel # # @param current_billing_period_start_date [Time, nil] # # @param end_date [Time, nil] # # @param fixed_fee_quantity_transitions [Array, nil] - # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] # # @param start_date [Time] # # # def initialize( diff --git a/lib/orb/models/subscription_update_fixed_fee_quantity_response.rb b/lib/orb/models/subscription_update_fixed_fee_quantity_response.rb index 9d986690..08c72fcf 100644 --- a/lib/orb/models/subscription_update_fixed_fee_quantity_response.rb +++ b/lib/orb/models/subscription_update_fixed_fee_quantity_response.rb @@ -1285,7 +1285,7 @@ class PriceInterval < Orb::BaseModel # For more on the types of prices, see # [the core concepts documentation](/core-concepts#plan-and-price) # - # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] required :price, union: -> { Orb::Models::Price } # @!attribute start_date @@ -1306,7 +1306,7 @@ class PriceInterval < Orb::BaseModel # # @param current_billing_period_start_date [Time, nil] # # @param end_date [Time, nil] # # @param fixed_fee_quantity_transitions [Array, nil] - # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] # # @param start_date [Time] # # # def initialize( diff --git a/lib/orb/models/subscription_update_trial_response.rb b/lib/orb/models/subscription_update_trial_response.rb index 34b6b1c5..6b63f8d5 100644 --- a/lib/orb/models/subscription_update_trial_response.rb +++ b/lib/orb/models/subscription_update_trial_response.rb @@ -1279,7 +1279,7 @@ class PriceInterval < Orb::BaseModel # For more on the types of prices, see # [the core concepts documentation](/core-concepts#plan-and-price) # - # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] required :price, union: -> { Orb::Models::Price } # @!attribute start_date @@ -1300,7 +1300,7 @@ class PriceInterval < Orb::BaseModel # # @param current_billing_period_start_date [Time, nil] # # @param end_date [Time, nil] # # @param fixed_fee_quantity_transitions [Array, nil] - # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # # @param price [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] # # @param start_date [Time] # # # def initialize( diff --git a/lib/orb/page.rb b/lib/orb/page.rb index 2887c447..24563e64 100644 --- a/lib/orb/page.rb +++ b/lib/orb/page.rb @@ -40,17 +40,16 @@ class Page def initialize(client:, req:, headers:, unwrapped:) @client = client @req = req - model = req.fetch(:model) case unwrapped - in {data: data} if data.is_a?(Array) || data.nil? - @data = data&.map { |row| model.coerce(row) } + in {data: Array | nil => data} + @data = data&.map { model.coerce(_1) } else end case unwrapped - in {pagination_metadata: pagination_metadata} if pagination_metadata.is_a?(Hash) || pagination_metadata.is_nil? + in {pagination_metadata: Hash | nil => pagination_metadata} @pagination_metadata = Orb::Page::PaginationMetadata.coerce(pagination_metadata) else end @@ -82,7 +81,7 @@ def auto_paging_each(&blk) end page = self loop do - page.data&.each { |row| blk.call(row) } + page.data&.each { blk.call(_1) } break unless page.next_page? page = page.next_page end diff --git a/lib/orb/resources/plans.rb b/lib/orb/resources/plans.rb index 3fa38e30..3c1440ba 100644 --- a/lib/orb/resources/plans.rb +++ b/lib/orb/resources/plans.rb @@ -15,7 +15,7 @@ class Plans # # @option params [String] :name # - # @option params [Array] :prices Prices for this plan. If the plan has phases, this includes prices across all + # @option params [Array] :prices Prices for this plan. If the plan has phases, this includes prices across all # phases of the plan. # # @option params [String, nil] :default_invoice_memo Free-form text which is available on the invoice PDF and the Orb invoice portal. diff --git a/lib/orb/resources/prices.rb b/lib/orb/resources/prices.rb index 5f33563d..da62af77 100644 --- a/lib/orb/resources/prices.rb +++ b/lib/orb/resources/prices.rb @@ -83,6 +83,8 @@ class Prices # # @option params [Hash{Symbol=>Object}] :scalable_matrix_with_tiered_pricing_config # + # @option params [Hash{Symbol=>Object}] :cumulative_grouped_bulk_config + # # @option params [String, nil] :billable_metric_id The id of the billable metric for the price. Only needed if the price is # usage-based. # @@ -110,7 +112,7 @@ class Prices # # @option params [Orb::RequestOptions, Hash{Symbol=>Object}, nil] :request_options # - # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] # def create(params) parsed, options = Orb::Models::PriceCreateParams.dump_request(params) @@ -137,7 +139,7 @@ def create(params) # # @option params [Orb::RequestOptions, Hash{Symbol=>Object}, nil] :request_options # - # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] # def update(price_id, params = {}) parsed, options = Orb::Models::PriceUpdateParams.dump_request(params) @@ -162,7 +164,7 @@ def update(price_id, params = {}) # # @option params [Orb::RequestOptions, Hash{Symbol=>Object}, nil] :request_options # - # @return [Orb::Page] + # @return [Orb::Page] # def list(params = {}) parsed, options = Orb::Models::PriceListParams.dump_request(params) @@ -241,7 +243,7 @@ def evaluate(price_id, params) # # @option params [Orb::RequestOptions, Hash{Symbol=>Object}, nil] :request_options # - # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] # def fetch(price_id, params = {}) @client.request( diff --git a/lib/orb/resources/prices/external_price_id.rb b/lib/orb/resources/prices/external_price_id.rb index 06d0d0c9..fa9e7c6d 100644 --- a/lib/orb/resources/prices/external_price_id.rb +++ b/lib/orb/resources/prices/external_price_id.rb @@ -18,7 +18,7 @@ class ExternalPriceID # # @option params [Orb::RequestOptions, Hash{Symbol=>Object}, nil] :request_options # - # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] # def update(external_price_id, params = {}) parsed, options = Orb::Models::Prices::ExternalPriceIDUpdateParams.dump_request(params) @@ -41,7 +41,7 @@ def update(external_price_id, params = {}) # # @option params [Orb::RequestOptions, Hash{Symbol=>Object}, nil] :request_options # - # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + # @return [Orb::Models::Price::UnitPrice, Orb::Models::Price::PackagePrice, Orb::Models::Price::MatrixPrice, Orb::Models::Price::TieredPrice, Orb::Models::Price::TieredBpsPrice, Orb::Models::Price::BpsPrice, Orb::Models::Price::BulkBpsPrice, Orb::Models::Price::BulkPrice, Orb::Models::Price::ThresholdTotalAmountPrice, Orb::Models::Price::TieredPackagePrice, Orb::Models::Price::GroupedTieredPrice, Orb::Models::Price::TieredWithMinimumPrice, Orb::Models::Price::TieredPackageWithMinimumPrice, Orb::Models::Price::PackageWithAllocationPrice, Orb::Models::Price::UnitWithPercentPrice, Orb::Models::Price::MatrixWithAllocationPrice, Orb::Models::Price::TieredWithProrationPrice, Orb::Models::Price::UnitWithProrationPrice, Orb::Models::Price::GroupedAllocationPrice, Orb::Models::Price::GroupedWithProratedMinimumPrice, Orb::Models::Price::GroupedWithMeteredMinimumPrice, Orb::Models::Price::MatrixWithDisplayNamePrice, Orb::Models::Price::BulkWithProrationPrice, Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, Orb::Models::Price::CumulativeGroupedBulkPrice] # def fetch(external_price_id, params = {}) @client.request( diff --git a/lib/orb/util.rb b/lib/orb/util.rb index daaf0f5c..8b95e3c5 100644 --- a/lib/orb/util.rb +++ b/lib/orb/util.rb @@ -48,8 +48,8 @@ def self.coerce_boolean(input) # @return [Boolean, nil] # def self.coerce_boolean!(input) - case (coerced = coerce_boolean(input)) - in true | false | nil + case coerce_boolean(input) + in true | false | nil => coerced coerced else raise ArgumentError.new("Unable to coerce #{input.inspect} into boolean value") @@ -159,25 +159,20 @@ def self.deep_merge(*values, sentinel: nil, concat: false) # @return [Object] # private_class_method def self.deep_merge_lr(lhs, rhs, concat: false) - rhs_cleaned = - case rhs - in Hash - rhs.reject { |_, value| value == OMIT } - else - rhs - end - - case [lhs, rhs_cleaned, concat] + case [lhs, rhs, concat] in [Hash, Hash, _] + # rubocop:disable Style/YodaCondition + rhs_cleaned = rhs.reject { |_, val| OMIT == val } lhs - .reject { |key, _| rhs[key] == OMIT } + .reject { |key, _| OMIT == rhs[key] } .merge(rhs_cleaned) do |_, old_val, new_val| deep_merge_lr(old_val, new_val, concat: concat) end + # rubocop:enable Style/YodaCondition in [Array, Array, true] - lhs.concat(rhs_cleaned) + lhs.concat(rhs) else - rhs_cleaned + rhs end end @@ -235,7 +230,7 @@ def self.interpolate_path(path) in [] "" in [String, *interpolations] - encoded = interpolations.map { |v| ERB::Util.url_encode(v) } + encoded = interpolations.map { ERB::Util.url_encode(_1) } path.first % encoded end end diff --git a/lib/orb/version.rb b/lib/orb/version.rb index dd589a92..0116998f 100644 --- a/lib/orb/version.rb +++ b/lib/orb/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Orb - VERSION = "0.1.0-alpha.6" + VERSION = "0.1.0-alpha.7" end diff --git a/rbi/lib/orb/models/customers/cost_list_by_external_id_response.rbi b/rbi/lib/orb/models/customers/cost_list_by_external_id_response.rbi index 2344c2d1..a5304259 100644 --- a/rbi/lib/orb/models/customers/cost_list_by_external_id_response.rbi +++ b/rbi/lib/orb/models/customers/cost_list_by_external_id_response.rbi @@ -83,12 +83,16 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ) ) end attr_accessor :price + sig { returns(String) } + attr_accessor :price_id + sig { returns(String) } attr_accessor :subtotal @@ -127,14 +131,16 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ), + price_id: String, subtotal: String, total: String, quantity: T.nilable(Float) ).void end - def initialize(price:, subtotal:, total:, quantity: nil) + def initialize(price:, price_id:, subtotal:, total:, quantity: nil) end sig do @@ -167,8 +173,10 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ), + price_id: String, subtotal: String, total: String, quantity: T.nilable(Float) diff --git a/rbi/lib/orb/models/customers/cost_list_response.rbi b/rbi/lib/orb/models/customers/cost_list_response.rbi index 04810243..101dbbf1 100644 --- a/rbi/lib/orb/models/customers/cost_list_response.rbi +++ b/rbi/lib/orb/models/customers/cost_list_response.rbi @@ -87,12 +87,16 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ) ) end attr_accessor :price + sig { returns(String) } + attr_accessor :price_id + sig { returns(String) } attr_accessor :subtotal @@ -131,14 +135,16 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ), + price_id: String, subtotal: String, total: String, quantity: T.nilable(Float) ).void end - def initialize(price:, subtotal:, total:, quantity: nil) + def initialize(price:, price_id:, subtotal:, total:, quantity: nil) end sig do @@ -171,8 +177,10 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ), + price_id: String, subtotal: String, total: String, quantity: T.nilable(Float) diff --git a/rbi/lib/orb/models/invoice.rbi b/rbi/lib/orb/models/invoice.rbi index cc9913c7..e9baf21f 100644 --- a/rbi/lib/orb/models/invoice.rbi +++ b/rbi/lib/orb/models/invoice.rbi @@ -863,7 +863,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ) ) ) @@ -946,7 +947,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ) ), quantity: Float, @@ -1038,7 +1040,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ) ), quantity: Float, diff --git a/rbi/lib/orb/models/invoice_fetch_upcoming_response.rbi b/rbi/lib/orb/models/invoice_fetch_upcoming_response.rbi index db0760f3..54453dc3 100644 --- a/rbi/lib/orb/models/invoice_fetch_upcoming_response.rbi +++ b/rbi/lib/orb/models/invoice_fetch_upcoming_response.rbi @@ -863,7 +863,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ) ) ) @@ -946,7 +947,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ) ), quantity: Float, @@ -1036,7 +1038,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ) ), quantity: Float, diff --git a/rbi/lib/orb/models/invoice_line_item_create_response.rbi b/rbi/lib/orb/models/invoice_line_item_create_response.rbi index 8c3ff41c..3c0132b6 100644 --- a/rbi/lib/orb/models/invoice_line_item_create_response.rbi +++ b/rbi/lib/orb/models/invoice_line_item_create_response.rbi @@ -92,7 +92,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ) ) ) @@ -175,7 +176,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ) ), quantity: Float, @@ -265,7 +267,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ) ), quantity: Float, diff --git a/rbi/lib/orb/models/plan.rbi b/rbi/lib/orb/models/plan.rbi index 22b22d2f..88965820 100644 --- a/rbi/lib/orb/models/plan.rbi +++ b/rbi/lib/orb/models/plan.rbi @@ -110,7 +110,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice )] ) end @@ -189,7 +190,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice )], product: Orb::Models::Plan::Product, status: Symbol, @@ -283,7 +285,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice )], product: Orb::Models::Plan::Product, status: Symbol, diff --git a/rbi/lib/orb/models/plan_create_params.rbi b/rbi/lib/orb/models/plan_create_params.rbi index a27fcb86..ac0e24c8 100644 --- a/rbi/lib/orb/models/plan_create_params.rbi +++ b/rbi/lib/orb/models/plan_create_params.rbi @@ -38,7 +38,8 @@ module Orb Orb::Models::PlanCreateParams::Price::NewPlanGroupedTieredPackagePrice, Orb::Models::PlanCreateParams::Price::NewPlanMaxGroupTieredPackagePrice, Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithUnitPricingPrice, - Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithTieredPricingPrice + Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithTieredPricingPrice, + Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice )] ) end @@ -90,7 +91,8 @@ module Orb Orb::Models::PlanCreateParams::Price::NewPlanGroupedTieredPackagePrice, Orb::Models::PlanCreateParams::Price::NewPlanMaxGroupTieredPackagePrice, Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithUnitPricingPrice, - Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithTieredPricingPrice + Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithTieredPricingPrice, + Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice )], default_invoice_memo: T.nilable(String), external_plan_id: T.nilable(String), @@ -142,7 +144,8 @@ module Orb Orb::Models::PlanCreateParams::Price::NewPlanGroupedTieredPackagePrice, Orb::Models::PlanCreateParams::Price::NewPlanMaxGroupTieredPackagePrice, Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithUnitPricingPrice, - Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithTieredPricingPrice + Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithTieredPricingPrice, + Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice )], default_invoice_memo: T.nilable(String), external_plan_id: T.nilable(String), @@ -4807,6 +4810,188 @@ module Orb end end + class NewPlanCumulativeGroupedBulkPrice < Orb::BaseModel + sig { returns(Symbol) } + attr_accessor :cadence + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :cumulative_grouped_bulk_config + + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + sig { returns(String) } + attr_accessor :name + + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + sig do + returns(T.nilable(Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::BillingCycleConfiguration)) + end + attr_accessor :billing_cycle_configuration + + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + sig { returns(T.nilable(String)) } + attr_accessor :currency + + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + sig do + returns(T.nilable(Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::InvoicingCycleConfiguration)) + end + attr_accessor :invoicing_cycle_configuration + + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: Symbol, + cumulative_grouped_bulk_config: T::Hash[Symbol, T.anything], + item_id: String, + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: T.nilable(Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::BillingCycleConfiguration), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: T.nilable(Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::InvoicingCycleConfiguration), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).void + end + def initialize( + cadence:, + cumulative_grouped_bulk_config:, + item_id:, + name:, + billable_metric_id: nil, + billed_in_advance: nil, + billing_cycle_configuration: nil, + conversion_rate: nil, + currency: nil, + external_price_id: nil, + fixed_price_quantity: nil, + invoice_grouping_key: nil, + invoicing_cycle_configuration: nil, + metadata: nil, + model_type: :cumulative_grouped_bulk + ) + end + + sig do + override.returns( + { + cadence: Symbol, + cumulative_grouped_bulk_config: T::Hash[Symbol, T.anything], + item_id: String, + model_type: Symbol, + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: T.nilable(Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::BillingCycleConfiguration), + conversion_rate: T.nilable(Float), + currency: T.nilable(String), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: T.nilable(Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::InvoicingCycleConfiguration), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + class Cadence < Orb::Enum + abstract! + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + sig { override.returns(T::Array[Symbol]) } + def self.values + end + end + + class BillingCycleConfiguration < Orb::BaseModel + sig { returns(Integer) } + attr_accessor :duration + + sig { returns(Symbol) } + attr_accessor :duration_unit + + sig { params(duration: Integer, duration_unit: Symbol).void } + def initialize(duration:, duration_unit:) + end + + sig { override.returns({duration: Integer, duration_unit: Symbol}) } + def to_hash + end + + class DurationUnit < Orb::Enum + abstract! + + DAY = :day + MONTH = :month + + sig { override.returns(T::Array[Symbol]) } + def self.values + end + end + end + + class InvoicingCycleConfiguration < Orb::BaseModel + sig { returns(Integer) } + attr_accessor :duration + + sig { returns(Symbol) } + attr_accessor :duration_unit + + sig { params(duration: Integer, duration_unit: Symbol).void } + def initialize(duration:, duration_unit:) + end + + sig { override.returns({duration: Integer, duration_unit: Symbol}) } + def to_hash + end + + class DurationUnit < Orb::Enum + abstract! + + DAY = :day + MONTH = :month + + sig { override.returns(T::Array[Symbol]) } + def self.values + end + end + end + end + sig do override.returns( [ @@ -4833,7 +5018,8 @@ module Orb [Symbol, Orb::Models::PlanCreateParams::Price::NewPlanGroupedTieredPackagePrice], [Symbol, Orb::Models::PlanCreateParams::Price::NewPlanMaxGroupTieredPackagePrice], [Symbol, Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithUnitPricingPrice], - [Symbol, Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithTieredPricingPrice] + [Symbol, Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithTieredPricingPrice], + [Symbol, Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice] ] ) end diff --git a/rbi/lib/orb/models/price.rbi b/rbi/lib/orb/models/price.rbi index b86a7984..ddb7e76b 100644 --- a/rbi/lib/orb/models/price.rbi +++ b/rbi/lib/orb/models/price.rbi @@ -10098,6 +10098,371 @@ module Orb end end + class CumulativeGroupedBulkPrice < Orb::BaseModel + sig { returns(String) } + attr_accessor :id + + sig { returns(T.nilable(Orb::Models::Price::CumulativeGroupedBulkPrice::BillableMetric)) } + attr_accessor :billable_metric + + sig { returns(Orb::Models::Price::CumulativeGroupedBulkPrice::BillingCycleConfiguration) } + attr_accessor :billing_cycle_configuration + + sig { returns(Symbol) } + attr_accessor :cadence + + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + sig { returns(Time) } + attr_accessor :created_at + + sig { returns(T.nilable(Orb::Models::Price::CumulativeGroupedBulkPrice::CreditAllocation)) } + attr_accessor :credit_allocation + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :cumulative_grouped_bulk_config + + sig { returns(String) } + attr_accessor :currency + + sig do + returns( + T.nilable( + T.any( + Orb::Models::PercentageDiscount, + Orb::Models::TrialDiscount, + Orb::Models::Discount::UsageDiscount, + Orb::Models::AmountDiscount + ) + ) + ) + end + attr_accessor :discount + + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + sig do + returns(T.nilable(Orb::Models::Price::CumulativeGroupedBulkPrice::InvoicingCycleConfiguration)) + end + attr_accessor :invoicing_cycle_configuration + + sig { returns(Orb::Models::Price::CumulativeGroupedBulkPrice::Item) } + attr_accessor :item + + sig { returns(T.nilable(Orb::Models::Price::CumulativeGroupedBulkPrice::Maximum)) } + attr_accessor :maximum + + sig { returns(T.nilable(String)) } + attr_accessor :maximum_amount + + sig { returns(T::Hash[Symbol, String]) } + attr_accessor :metadata + + sig { returns(T.nilable(Orb::Models::Price::CumulativeGroupedBulkPrice::Minimum)) } + attr_accessor :minimum + + sig { returns(T.nilable(String)) } + attr_accessor :minimum_amount + + sig { returns(Symbol) } + attr_accessor :model_type + + sig { returns(String) } + attr_accessor :name + + sig { returns(T.nilable(Integer)) } + attr_accessor :plan_phase_order + + sig { returns(Symbol) } + attr_accessor :price_type + + sig do + returns(T.nilable(Orb::Models::Price::CumulativeGroupedBulkPrice::DimensionalPriceConfiguration)) + end + attr_accessor :dimensional_price_configuration + + sig do + params( + id: String, + billable_metric: T.nilable(Orb::Models::Price::CumulativeGroupedBulkPrice::BillableMetric), + billing_cycle_configuration: Orb::Models::Price::CumulativeGroupedBulkPrice::BillingCycleConfiguration, + cadence: Symbol, + conversion_rate: T.nilable(Float), + created_at: Time, + credit_allocation: T.nilable(Orb::Models::Price::CumulativeGroupedBulkPrice::CreditAllocation), + cumulative_grouped_bulk_config: T::Hash[Symbol, T.anything], + currency: String, + discount: T.nilable( + T.any( + Orb::Models::PercentageDiscount, + Orb::Models::TrialDiscount, + Orb::Models::Discount::UsageDiscount, + Orb::Models::AmountDiscount + ) + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoicing_cycle_configuration: T.nilable(Orb::Models::Price::CumulativeGroupedBulkPrice::InvoicingCycleConfiguration), + item: Orb::Models::Price::CumulativeGroupedBulkPrice::Item, + maximum: T.nilable(Orb::Models::Price::CumulativeGroupedBulkPrice::Maximum), + maximum_amount: T.nilable(String), + metadata: T::Hash[Symbol, String], + minimum: T.nilable(Orb::Models::Price::CumulativeGroupedBulkPrice::Minimum), + minimum_amount: T.nilable(String), + name: String, + plan_phase_order: T.nilable(Integer), + price_type: Symbol, + dimensional_price_configuration: T.nilable(Orb::Models::Price::CumulativeGroupedBulkPrice::DimensionalPriceConfiguration), + model_type: Symbol + ).void + end + def initialize( + id:, + billable_metric:, + billing_cycle_configuration:, + cadence:, + conversion_rate:, + created_at:, + credit_allocation:, + cumulative_grouped_bulk_config:, + currency:, + discount:, + external_price_id:, + fixed_price_quantity:, + invoicing_cycle_configuration:, + item:, + maximum:, + maximum_amount:, + metadata:, + minimum:, + minimum_amount:, + name:, + plan_phase_order:, + price_type:, + dimensional_price_configuration: nil, + model_type: :cumulative_grouped_bulk + ) + end + + sig do + override.returns( + { + id: String, + billable_metric: T.nilable(Orb::Models::Price::CumulativeGroupedBulkPrice::BillableMetric), + billing_cycle_configuration: Orb::Models::Price::CumulativeGroupedBulkPrice::BillingCycleConfiguration, + cadence: Symbol, + conversion_rate: T.nilable(Float), + created_at: Time, + credit_allocation: T.nilable(Orb::Models::Price::CumulativeGroupedBulkPrice::CreditAllocation), + cumulative_grouped_bulk_config: T::Hash[Symbol, T.anything], + currency: String, + discount: T.nilable( + T.any( + Orb::Models::PercentageDiscount, + Orb::Models::TrialDiscount, + Orb::Models::Discount::UsageDiscount, + Orb::Models::AmountDiscount + ) + ), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoicing_cycle_configuration: T.nilable(Orb::Models::Price::CumulativeGroupedBulkPrice::InvoicingCycleConfiguration), + item: Orb::Models::Price::CumulativeGroupedBulkPrice::Item, + maximum: T.nilable(Orb::Models::Price::CumulativeGroupedBulkPrice::Maximum), + maximum_amount: T.nilable(String), + metadata: T::Hash[Symbol, String], + minimum: T.nilable(Orb::Models::Price::CumulativeGroupedBulkPrice::Minimum), + minimum_amount: T.nilable(String), + model_type: Symbol, + name: String, + plan_phase_order: T.nilable(Integer), + price_type: Symbol, + dimensional_price_configuration: T.nilable(Orb::Models::Price::CumulativeGroupedBulkPrice::DimensionalPriceConfiguration) + } + ) + end + def to_hash + end + + class BillableMetric < Orb::BaseModel + sig { returns(String) } + attr_accessor :id + + sig { params(id: String).void } + def initialize(id:) + end + + sig { override.returns({id: String}) } + def to_hash + end + end + + class BillingCycleConfiguration < Orb::BaseModel + sig { returns(Integer) } + attr_accessor :duration + + sig { returns(Symbol) } + attr_accessor :duration_unit + + sig { params(duration: Integer, duration_unit: Symbol).void } + def initialize(duration:, duration_unit:) + end + + sig { override.returns({duration: Integer, duration_unit: Symbol}) } + def to_hash + end + + class DurationUnit < Orb::Enum + abstract! + + DAY = :day + MONTH = :month + + sig { override.returns(T::Array[Symbol]) } + def self.values + end + end + end + + class Cadence < Orb::Enum + abstract! + + ONE_TIME = :one_time + MONTHLY = :monthly + QUARTERLY = :quarterly + SEMI_ANNUAL = :semi_annual + ANNUAL = :annual + CUSTOM = :custom + + sig { override.returns(T::Array[Symbol]) } + def self.values + end + end + + class CreditAllocation < Orb::BaseModel + sig { returns(T::Boolean) } + attr_accessor :allows_rollover + + sig { returns(String) } + attr_accessor :currency + + sig { params(allows_rollover: T::Boolean, currency: String).void } + def initialize(allows_rollover:, currency:) + end + + sig { override.returns({allows_rollover: T::Boolean, currency: String}) } + def to_hash + end + end + + class InvoicingCycleConfiguration < Orb::BaseModel + sig { returns(Integer) } + attr_accessor :duration + + sig { returns(Symbol) } + attr_accessor :duration_unit + + sig { params(duration: Integer, duration_unit: Symbol).void } + def initialize(duration:, duration_unit:) + end + + sig { override.returns({duration: Integer, duration_unit: Symbol}) } + def to_hash + end + + class DurationUnit < Orb::Enum + abstract! + + DAY = :day + MONTH = :month + + sig { override.returns(T::Array[Symbol]) } + def self.values + end + end + end + + class Item < Orb::BaseModel + sig { returns(String) } + attr_accessor :id + + sig { returns(String) } + attr_accessor :name + + sig { params(id: String, name: String).void } + def initialize(id:, name:) + end + + sig { override.returns({id: String, name: String}) } + def to_hash + end + end + + class Maximum < Orb::BaseModel + sig { returns(T::Array[String]) } + attr_accessor :applies_to_price_ids + + sig { returns(String) } + attr_accessor :maximum_amount + + sig { params(applies_to_price_ids: T::Array[String], maximum_amount: String).void } + def initialize(applies_to_price_ids:, maximum_amount:) + end + + sig { override.returns({applies_to_price_ids: T::Array[String], maximum_amount: String}) } + def to_hash + end + end + + class Minimum < Orb::BaseModel + sig { returns(T::Array[String]) } + attr_accessor :applies_to_price_ids + + sig { returns(String) } + attr_accessor :minimum_amount + + sig { params(applies_to_price_ids: T::Array[String], minimum_amount: String).void } + def initialize(applies_to_price_ids:, minimum_amount:) + end + + sig { override.returns({applies_to_price_ids: T::Array[String], minimum_amount: String}) } + def to_hash + end + end + + class PriceType < Orb::Enum + abstract! + + USAGE_PRICE = :usage_price + FIXED_PRICE = :fixed_price + + sig { override.returns(T::Array[Symbol]) } + def self.values + end + end + + class DimensionalPriceConfiguration < Orb::BaseModel + sig { returns(T::Array[String]) } + attr_accessor :dimension_values + + sig { returns(String) } + attr_accessor :dimensional_price_group_id + + sig { params(dimension_values: T::Array[String], dimensional_price_group_id: String).void } + def initialize(dimension_values:, dimensional_price_group_id:) + end + + sig { override.returns({dimension_values: T::Array[String], dimensional_price_group_id: String}) } + def to_hash + end + end + end + sig do override.returns( [ @@ -10127,7 +10492,8 @@ module Orb [Symbol, Orb::Models::Price::GroupedTieredPackagePrice], [Symbol, Orb::Models::Price::MaxGroupTieredPackagePrice], [Symbol, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice], - [Symbol, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice] + [Symbol, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice], + [Symbol, Orb::Models::Price::CumulativeGroupedBulkPrice] ] ) end diff --git a/rbi/lib/orb/models/price_create_params.rbi b/rbi/lib/orb/models/price_create_params.rbi index 12d06ed0..b209eae6 100644 --- a/rbi/lib/orb/models/price_create_params.rbi +++ b/rbi/lib/orb/models/price_create_params.rbi @@ -129,6 +129,9 @@ module Orb sig { returns(T::Hash[Symbol, T.anything]) } attr_accessor :scalable_matrix_with_tiered_pricing_config + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :cumulative_grouped_bulk_config + sig do params( cadence: Symbol, @@ -163,6 +166,7 @@ module Orb grouped_tiered_package_config: T::Hash[Symbol, T.anything], scalable_matrix_with_unit_pricing_config: T::Hash[Symbol, T.anything], scalable_matrix_with_tiered_pricing_config: T::Hash[Symbol, T.anything], + cumulative_grouped_bulk_config: T::Hash[Symbol, T.anything], billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable(Orb::Models::PriceCreateParams::BillingCycleConfiguration), @@ -208,6 +212,7 @@ module Orb grouped_tiered_package_config:, scalable_matrix_with_unit_pricing_config:, scalable_matrix_with_tiered_pricing_config:, + cumulative_grouped_bulk_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, @@ -265,6 +270,7 @@ module Orb grouped_tiered_package_config: T::Hash[Symbol, T.anything], scalable_matrix_with_unit_pricing_config: T::Hash[Symbol, T.anything], scalable_matrix_with_tiered_pricing_config: T::Hash[Symbol, T.anything], + cumulative_grouped_bulk_config: T::Hash[Symbol, T.anything], request_options: Orb::RequestOptions } ) @@ -290,7 +296,7 @@ module Orb class ModelType < Orb::Enum abstract! - SCALABLE_MATRIX_WITH_TIERED_PRICING = :scalable_matrix_with_tiered_pricing + CUMULATIVE_GROUPED_BULK = :cumulative_grouped_bulk sig { override.returns(T::Array[Symbol]) } def self.values diff --git a/rbi/lib/orb/models/subscription.rbi b/rbi/lib/orb/models/subscription.rbi index 99fc5583..24d9f375 100644 --- a/rbi/lib/orb/models/subscription.rbi +++ b/rbi/lib/orb/models/subscription.rbi @@ -957,7 +957,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ) ) end @@ -1001,7 +1002,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ), start_date: Time ).void @@ -1054,7 +1056,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ), start_date: Time } diff --git a/rbi/lib/orb/models/subscription_cancel_response.rbi b/rbi/lib/orb/models/subscription_cancel_response.rbi index 9ef2aa69..435ffecc 100644 --- a/rbi/lib/orb/models/subscription_cancel_response.rbi +++ b/rbi/lib/orb/models/subscription_cancel_response.rbi @@ -954,7 +954,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ) ) end @@ -998,7 +999,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ), start_date: Time ).void @@ -1051,7 +1053,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ), start_date: Time } diff --git a/rbi/lib/orb/models/subscription_create_response.rbi b/rbi/lib/orb/models/subscription_create_response.rbi index 27ab5d69..47cedead 100644 --- a/rbi/lib/orb/models/subscription_create_response.rbi +++ b/rbi/lib/orb/models/subscription_create_response.rbi @@ -954,7 +954,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ) ) end @@ -998,7 +999,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ), start_date: Time ).void @@ -1051,7 +1053,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ), start_date: Time } diff --git a/rbi/lib/orb/models/subscription_fetch_costs_response.rbi b/rbi/lib/orb/models/subscription_fetch_costs_response.rbi index 217f7776..902a867f 100644 --- a/rbi/lib/orb/models/subscription_fetch_costs_response.rbi +++ b/rbi/lib/orb/models/subscription_fetch_costs_response.rbi @@ -82,12 +82,16 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ) ) end attr_accessor :price + sig { returns(String) } + attr_accessor :price_id + sig { returns(String) } attr_accessor :subtotal @@ -126,14 +130,16 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ), + price_id: String, subtotal: String, total: String, quantity: T.nilable(Float) ).void end - def initialize(price:, subtotal:, total:, quantity: nil) + def initialize(price:, price_id:, subtotal:, total:, quantity: nil) end sig do @@ -166,8 +172,10 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ), + price_id: String, subtotal: String, total: String, quantity: T.nilable(Float) diff --git a/rbi/lib/orb/models/subscription_price_intervals_params.rbi b/rbi/lib/orb/models/subscription_price_intervals_params.rbi index 266bbac6..3210fe56 100644 --- a/rbi/lib/orb/models/subscription_price_intervals_params.rbi +++ b/rbi/lib/orb/models/subscription_price_intervals_params.rbi @@ -125,7 +125,8 @@ module Orb Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBulkWithProrationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedTieredPackagePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingScalableMatrixWithUnitPricingPrice, - Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingScalableMatrixWithTieredPricingPrice + Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingScalableMatrixWithTieredPricingPrice, + Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice ) ) ) @@ -151,7 +152,7 @@ module Orb minimum_amount: T.nilable(Float), price: T.nilable( T.any( - Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingUnitPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingPackagePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMatrixPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMatrixWithAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredBpsPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBpsPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBulkBpsPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingThresholdTotalAmountPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredPackagePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedTieredPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredWithMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingPackageWithAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingUnitWithPercentPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredWithProrationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingUnitWithProrationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBulkWithProrationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedTieredPackagePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingScalableMatrixWithTieredPricingPrice + Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingUnitPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingPackagePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMatrixPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMatrixWithAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredBpsPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBpsPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBulkBpsPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingThresholdTotalAmountPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredPackagePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedTieredPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredWithMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingPackageWithAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingUnitWithPercentPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredWithProrationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingUnitWithProrationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBulkWithProrationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedTieredPackagePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice ) ), price_id: T.nilable(String) @@ -214,7 +215,8 @@ module Orb Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBulkWithProrationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedTieredPackagePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingScalableMatrixWithUnitPricingPrice, - Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingScalableMatrixWithTieredPricingPrice + Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingScalableMatrixWithTieredPricingPrice, + Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice ) ), price_id: T.nilable(String) @@ -5670,6 +5672,188 @@ module Orb end end + class NewFloatingCumulativeGroupedBulkPrice < Orb::BaseModel + sig { returns(Symbol) } + attr_accessor :cadence + + sig { returns(T::Hash[Symbol, T.anything]) } + attr_accessor :cumulative_grouped_bulk_config + + sig { returns(String) } + attr_accessor :currency + + sig { returns(String) } + attr_accessor :item_id + + sig { returns(Symbol) } + attr_accessor :model_type + + sig { returns(String) } + attr_accessor :name + + sig { returns(T.nilable(String)) } + attr_accessor :billable_metric_id + + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :billed_in_advance + + sig do + returns(T.nilable(Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::BillingCycleConfiguration)) + end + attr_accessor :billing_cycle_configuration + + sig { returns(T.nilable(Float)) } + attr_accessor :conversion_rate + + sig { returns(T.nilable(String)) } + attr_accessor :external_price_id + + sig { returns(T.nilable(Float)) } + attr_accessor :fixed_price_quantity + + sig { returns(T.nilable(String)) } + attr_accessor :invoice_grouping_key + + sig do + returns(T.nilable(Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::InvoicingCycleConfiguration)) + end + attr_accessor :invoicing_cycle_configuration + + sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) } + attr_accessor :metadata + + sig do + params( + cadence: Symbol, + cumulative_grouped_bulk_config: T::Hash[Symbol, T.anything], + currency: String, + item_id: String, + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: T.nilable(Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::BillingCycleConfiguration), + conversion_rate: T.nilable(Float), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: T.nilable(Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::InvoicingCycleConfiguration), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]), + model_type: Symbol + ).void + end + def initialize( + cadence:, + cumulative_grouped_bulk_config:, + currency:, + item_id:, + name:, + billable_metric_id: nil, + billed_in_advance: nil, + billing_cycle_configuration: nil, + conversion_rate: nil, + external_price_id: nil, + fixed_price_quantity: nil, + invoice_grouping_key: nil, + invoicing_cycle_configuration: nil, + metadata: nil, + model_type: :cumulative_grouped_bulk + ) + end + + sig do + override.returns( + { + cadence: Symbol, + cumulative_grouped_bulk_config: T::Hash[Symbol, T.anything], + currency: String, + item_id: String, + model_type: Symbol, + name: String, + billable_metric_id: T.nilable(String), + billed_in_advance: T.nilable(T::Boolean), + billing_cycle_configuration: T.nilable(Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::BillingCycleConfiguration), + conversion_rate: T.nilable(Float), + external_price_id: T.nilable(String), + fixed_price_quantity: T.nilable(Float), + invoice_grouping_key: T.nilable(String), + invoicing_cycle_configuration: T.nilable(Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::InvoicingCycleConfiguration), + metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]) + } + ) + end + def to_hash + end + + class Cadence < Orb::Enum + abstract! + + ANNUAL = :annual + SEMI_ANNUAL = :semi_annual + MONTHLY = :monthly + QUARTERLY = :quarterly + ONE_TIME = :one_time + CUSTOM = :custom + + sig { override.returns(T::Array[Symbol]) } + def self.values + end + end + + class BillingCycleConfiguration < Orb::BaseModel + sig { returns(Integer) } + attr_accessor :duration + + sig { returns(Symbol) } + attr_accessor :duration_unit + + sig { params(duration: Integer, duration_unit: Symbol).void } + def initialize(duration:, duration_unit:) + end + + sig { override.returns({duration: Integer, duration_unit: Symbol}) } + def to_hash + end + + class DurationUnit < Orb::Enum + abstract! + + DAY = :day + MONTH = :month + + sig { override.returns(T::Array[Symbol]) } + def self.values + end + end + end + + class InvoicingCycleConfiguration < Orb::BaseModel + sig { returns(Integer) } + attr_accessor :duration + + sig { returns(Symbol) } + attr_accessor :duration_unit + + sig { params(duration: Integer, duration_unit: Symbol).void } + def initialize(duration:, duration_unit:) + end + + sig { override.returns({duration: Integer, duration_unit: Symbol}) } + def to_hash + end + + class DurationUnit < Orb::Enum + abstract! + + DAY = :day + MONTH = :month + + sig { override.returns(T::Array[Symbol]) } + def self.values + end + end + end + end + sig do override.returns( [ @@ -5762,6 +5946,10 @@ module Orb [ Symbol, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingScalableMatrixWithTieredPricingPrice + ], + [ + Symbol, + Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice ] ] ) diff --git a/rbi/lib/orb/models/subscription_price_intervals_response.rbi b/rbi/lib/orb/models/subscription_price_intervals_response.rbi index f397113f..3f963f22 100644 --- a/rbi/lib/orb/models/subscription_price_intervals_response.rbi +++ b/rbi/lib/orb/models/subscription_price_intervals_response.rbi @@ -958,7 +958,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ) ) end @@ -1002,7 +1003,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ), start_date: Time ).void @@ -1055,7 +1057,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ), start_date: Time } diff --git a/rbi/lib/orb/models/subscription_schedule_plan_change_response.rbi b/rbi/lib/orb/models/subscription_schedule_plan_change_response.rbi index a8eb9d3c..5000a504 100644 --- a/rbi/lib/orb/models/subscription_schedule_plan_change_response.rbi +++ b/rbi/lib/orb/models/subscription_schedule_plan_change_response.rbi @@ -958,7 +958,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ) ) end @@ -1002,7 +1003,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ), start_date: Time ).void @@ -1055,7 +1057,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ), start_date: Time } diff --git a/rbi/lib/orb/models/subscription_trigger_phase_response.rbi b/rbi/lib/orb/models/subscription_trigger_phase_response.rbi index 129de5d6..5fe30274 100644 --- a/rbi/lib/orb/models/subscription_trigger_phase_response.rbi +++ b/rbi/lib/orb/models/subscription_trigger_phase_response.rbi @@ -955,7 +955,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ) ) end @@ -999,7 +1000,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ), start_date: Time ).void @@ -1052,7 +1054,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ), start_date: Time } diff --git a/rbi/lib/orb/models/subscription_unschedule_cancellation_response.rbi b/rbi/lib/orb/models/subscription_unschedule_cancellation_response.rbi index d648380f..3c534604 100644 --- a/rbi/lib/orb/models/subscription_unschedule_cancellation_response.rbi +++ b/rbi/lib/orb/models/subscription_unschedule_cancellation_response.rbi @@ -962,7 +962,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ) ) end @@ -1006,7 +1007,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ), start_date: Time ).void @@ -1059,7 +1061,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ), start_date: Time } diff --git a/rbi/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rbi b/rbi/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rbi index 7bb79f4d..c8308b08 100644 --- a/rbi/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rbi +++ b/rbi/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rbi @@ -972,7 +972,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ) ) end @@ -1016,7 +1017,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ), start_date: Time ).void @@ -1069,7 +1071,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ), start_date: Time } diff --git a/rbi/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rbi b/rbi/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rbi index 1741efce..40ab8374 100644 --- a/rbi/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rbi +++ b/rbi/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rbi @@ -970,7 +970,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ) ) end @@ -1014,7 +1015,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ), start_date: Time ).void @@ -1067,7 +1069,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ), start_date: Time } diff --git a/rbi/lib/orb/models/subscription_update_fixed_fee_quantity_response.rbi b/rbi/lib/orb/models/subscription_update_fixed_fee_quantity_response.rbi index f9985aa4..a13ac578 100644 --- a/rbi/lib/orb/models/subscription_update_fixed_fee_quantity_response.rbi +++ b/rbi/lib/orb/models/subscription_update_fixed_fee_quantity_response.rbi @@ -962,7 +962,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ) ) end @@ -1006,7 +1007,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ), start_date: Time ).void @@ -1059,7 +1061,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ), start_date: Time } diff --git a/rbi/lib/orb/models/subscription_update_trial_response.rbi b/rbi/lib/orb/models/subscription_update_trial_response.rbi index 74ac8665..8c3425de 100644 --- a/rbi/lib/orb/models/subscription_update_trial_response.rbi +++ b/rbi/lib/orb/models/subscription_update_trial_response.rbi @@ -955,7 +955,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ) ) end @@ -999,7 +1000,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ), start_date: Time ).void @@ -1052,7 +1054,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice ), start_date: Time } diff --git a/rbi/lib/orb/resources/plans.rbi b/rbi/lib/orb/resources/plans.rbi index 0a420dbd..eba541a1 100644 --- a/rbi/lib/orb/resources/plans.rbi +++ b/rbi/lib/orb/resources/plans.rbi @@ -34,7 +34,8 @@ module Orb Orb::Models::PlanCreateParams::Price::NewPlanGroupedTieredPackagePrice, Orb::Models::PlanCreateParams::Price::NewPlanMaxGroupTieredPackagePrice, Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithUnitPricingPrice, - Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithTieredPricingPrice + Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithTieredPricingPrice, + Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice )], default_invoice_memo: T.nilable(String), external_plan_id: T.nilable(String), diff --git a/rbi/lib/orb/resources/prices.rbi b/rbi/lib/orb/resources/prices.rbi index 8db5dd4f..1270ef49 100644 --- a/rbi/lib/orb/resources/prices.rbi +++ b/rbi/lib/orb/resources/prices.rbi @@ -40,6 +40,7 @@ module Orb grouped_tiered_package_config: T::Hash[Symbol, T.anything], scalable_matrix_with_unit_pricing_config: T::Hash[Symbol, T.anything], scalable_matrix_with_tiered_pricing_config: T::Hash[Symbol, T.anything], + cumulative_grouped_bulk_config: T::Hash[Symbol, T.anything], billable_metric_id: T.nilable(String), billed_in_advance: T.nilable(T::Boolean), billing_cycle_configuration: T.nilable(Orb::Models::PriceCreateParams::BillingCycleConfiguration), @@ -77,7 +78,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice )) end def create( @@ -113,6 +115,7 @@ module Orb grouped_tiered_package_config:, scalable_matrix_with_unit_pricing_config:, scalable_matrix_with_tiered_pricing_config:, + cumulative_grouped_bulk_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, @@ -158,7 +161,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice )) end def update(price_id, metadata: nil, request_options: {}) @@ -196,7 +200,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice )]) end def list(cursor: nil, limit: nil, request_options: {}) @@ -257,7 +262,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice )) end def fetch(price_id, request_options: {}) diff --git a/rbi/lib/orb/resources/prices/external_price_id.rbi b/rbi/lib/orb/resources/prices/external_price_id.rbi index 13a2a1c3..5275fa01 100644 --- a/rbi/lib/orb/resources/prices/external_price_id.rbi +++ b/rbi/lib/orb/resources/prices/external_price_id.rbi @@ -36,7 +36,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice )) end def update(external_price_id, metadata: nil, request_options: {}) @@ -73,7 +74,8 @@ module Orb Orb::Models::Price::GroupedTieredPackagePrice, Orb::Models::Price::MaxGroupTieredPackagePrice, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice, - Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + Orb::Models::Price::ScalableMatrixWithTieredPricingPrice, + Orb::Models::Price::CumulativeGroupedBulkPrice )) end def fetch(external_price_id, request_options: {}) diff --git a/rbi/lib/orb/version.rbi b/rbi/lib/orb/version.rbi index 93e9dc4d..e17a00b6 100644 --- a/rbi/lib/orb/version.rbi +++ b/rbi/lib/orb/version.rbi @@ -1,5 +1,5 @@ # typed: strong module Orb - VERSION = "0.1.0-alpha.5" + VERSION = "0.1.0-alpha.7" end diff --git a/sig/orb/models/customers/cost_list_by_external_id_response.rbs b/sig/orb/models/customers/cost_list_by_external_id_response.rbs index 8db4f09d..02812deb 100644 --- a/sig/orb/models/customers/cost_list_by_external_id_response.rbs +++ b/sig/orb/models/customers/cost_list_by_external_id_response.rbs @@ -58,6 +58,7 @@ module Orb type per_price_cost = { price: Orb::Models::price, + price_id: String, subtotal: String, total: String, quantity: Float? @@ -66,6 +67,8 @@ module Orb class PerPriceCost < Orb::BaseModel attr_accessor price: Orb::Models::price + attr_accessor price_id: String + attr_accessor subtotal: String attr_accessor total: String @@ -75,6 +78,7 @@ module Orb def initialize: ( price: Orb::Models::price, + price_id: String, subtotal: String, total: String, quantity: Float? diff --git a/sig/orb/models/customers/cost_list_response.rbs b/sig/orb/models/customers/cost_list_response.rbs index 28065b43..b8069b16 100644 --- a/sig/orb/models/customers/cost_list_response.rbs +++ b/sig/orb/models/customers/cost_list_response.rbs @@ -55,6 +55,7 @@ module Orb type per_price_cost = { price: Orb::Models::price, + price_id: String, subtotal: String, total: String, quantity: Float? @@ -63,6 +64,8 @@ module Orb class PerPriceCost < Orb::BaseModel attr_accessor price: Orb::Models::price + attr_accessor price_id: String + attr_accessor subtotal: String attr_accessor total: String @@ -72,6 +75,7 @@ module Orb def initialize: ( price: Orb::Models::price, + price_id: String, subtotal: String, total: String, quantity: Float? diff --git a/sig/orb/models/plan_create_params.rbs b/sig/orb/models/plan_create_params.rbs index 0d509cdd..e786fe43 100644 --- a/sig/orb/models/plan_create_params.rbs +++ b/sig/orb/models/plan_create_params.rbs @@ -76,6 +76,7 @@ module Orb | Orb::Models::PlanCreateParams::Price::NewPlanMaxGroupTieredPackagePrice | Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithUnitPricingPrice | Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithTieredPricingPrice + | Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice class Price < Orb::Union type new_plan_unit_price = @@ -4098,7 +4099,163 @@ module Orb end end - private def self.variants: -> [[:unit, Orb::Models::PlanCreateParams::Price::NewPlanUnitPrice], [:package, Orb::Models::PlanCreateParams::Price::NewPlanPackagePrice], [:matrix, Orb::Models::PlanCreateParams::Price::NewPlanMatrixPrice], [:tiered, Orb::Models::PlanCreateParams::Price::NewPlanTieredPrice], [:tiered_bps, Orb::Models::PlanCreateParams::Price::NewPlanTieredBpsPrice], [:bps, Orb::Models::PlanCreateParams::Price::NewPlanBpsPrice], [:bulk_bps, Orb::Models::PlanCreateParams::Price::NewPlanBulkBpsPrice], [:bulk, Orb::Models::PlanCreateParams::Price::NewPlanBulkPrice], [:threshold_total_amount, Orb::Models::PlanCreateParams::Price::NewPlanThresholdTotalAmountPrice], [:tiered_package, Orb::Models::PlanCreateParams::Price::NewPlanTieredPackagePrice], [:tiered_with_minimum, Orb::Models::PlanCreateParams::Price::NewPlanTieredWithMinimumPrice], [:unit_with_percent, Orb::Models::PlanCreateParams::Price::NewPlanUnitWithPercentPrice], [:package_with_allocation, Orb::Models::PlanCreateParams::Price::NewPlanPackageWithAllocationPrice], [:tiered_with_proration, Orb::Models::PlanCreateParams::Price::NewPlanTierWithProrationPrice], [:unit_with_proration, Orb::Models::PlanCreateParams::Price::NewPlanUnitWithProrationPrice], [:grouped_allocation, Orb::Models::PlanCreateParams::Price::NewPlanGroupedAllocationPrice], [:grouped_with_prorated_minimum, Orb::Models::PlanCreateParams::Price::NewPlanGroupedWithProratedMinimumPrice], [:grouped_with_metered_minimum, Orb::Models::PlanCreateParams::Price::NewPlanGroupedWithMeteredMinimumPrice], [:matrix_with_display_name, Orb::Models::PlanCreateParams::Price::NewPlanMatrixWithDisplayNamePrice], [:bulk_with_proration, Orb::Models::PlanCreateParams::Price::NewPlanBulkWithProrationPrice], [:grouped_tiered_package, Orb::Models::PlanCreateParams::Price::NewPlanGroupedTieredPackagePrice], [:max_group_tiered_package, Orb::Models::PlanCreateParams::Price::NewPlanMaxGroupTieredPackagePrice], [:scalable_matrix_with_unit_pricing, Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithUnitPricingPrice], [:scalable_matrix_with_tiered_pricing, Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithTieredPricingPrice]] + type new_plan_cumulative_grouped_bulk_price = + { + cadence: Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::cadence, + cumulative_grouped_bulk_config: ::Hash[Symbol, top], + item_id: String, + model_type: :cumulative_grouped_bulk, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class NewPlanCumulativeGroupedBulkPrice < Orb::BaseModel + attr_accessor cadence: Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::cadence + + attr_accessor cumulative_grouped_bulk_config: ::Hash[Symbol, top] + + attr_accessor item_id: String + + attr_accessor model_type: :cumulative_grouped_bulk + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor currency: String? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: + ( + cadence: Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::cadence, + cumulative_grouped_bulk_config: ::Hash[Symbol, top], + item_id: String, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::BillingCycleConfiguration?, + conversion_rate: Float?, + currency: String?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]?, + model_type: :cumulative_grouped_bulk + ) -> void + | ( + ?Orb::Models::PlanCreateParams::Price::new_plan_cumulative_grouped_bulk_price + | Orb::BaseModel data + ) -> void + + def to_hash: -> Orb::Models::PlanCreateParams::Price::new_plan_cumulative_grouped_bulk_price + + type cadence = + :annual | :semi_annual | :monthly | :quarterly | :one_time | :custom + + class Cadence < Orb::Enum + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self.values: -> ::Array[Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::BillingCycleConfiguration::duration_unit + + def initialize: + ( + duration: Integer, + duration_unit: Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::BillingCycleConfiguration::duration_unit + ) -> void + | ( + ?Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::billing_cycle_configuration + | Orb::BaseModel data + ) -> void + + def to_hash: -> Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::billing_cycle_configuration + + type duration_unit = :day | :month + + class DurationUnit < Orb::Enum + DAY: :day + MONTH: :month + + def self.values: -> ::Array[Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::BillingCycleConfiguration::duration_unit] + end + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::InvoicingCycleConfiguration::duration_unit + + def initialize: + ( + duration: Integer, + duration_unit: Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::InvoicingCycleConfiguration::duration_unit + ) -> void + | ( + ?Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::invoicing_cycle_configuration + | Orb::BaseModel data + ) -> void + + def to_hash: -> Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::invoicing_cycle_configuration + + type duration_unit = :day | :month + + class DurationUnit < Orb::Enum + DAY: :day + MONTH: :month + + def self.values: -> ::Array[Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice::InvoicingCycleConfiguration::duration_unit] + end + end + end + + private def self.variants: -> [[:unit, Orb::Models::PlanCreateParams::Price::NewPlanUnitPrice], [:package, Orb::Models::PlanCreateParams::Price::NewPlanPackagePrice], [:matrix, Orb::Models::PlanCreateParams::Price::NewPlanMatrixPrice], [:tiered, Orb::Models::PlanCreateParams::Price::NewPlanTieredPrice], [:tiered_bps, Orb::Models::PlanCreateParams::Price::NewPlanTieredBpsPrice], [:bps, Orb::Models::PlanCreateParams::Price::NewPlanBpsPrice], [:bulk_bps, Orb::Models::PlanCreateParams::Price::NewPlanBulkBpsPrice], [:bulk, Orb::Models::PlanCreateParams::Price::NewPlanBulkPrice], [:threshold_total_amount, Orb::Models::PlanCreateParams::Price::NewPlanThresholdTotalAmountPrice], [:tiered_package, Orb::Models::PlanCreateParams::Price::NewPlanTieredPackagePrice], [:tiered_with_minimum, Orb::Models::PlanCreateParams::Price::NewPlanTieredWithMinimumPrice], [:unit_with_percent, Orb::Models::PlanCreateParams::Price::NewPlanUnitWithPercentPrice], [:package_with_allocation, Orb::Models::PlanCreateParams::Price::NewPlanPackageWithAllocationPrice], [:tiered_with_proration, Orb::Models::PlanCreateParams::Price::NewPlanTierWithProrationPrice], [:unit_with_proration, Orb::Models::PlanCreateParams::Price::NewPlanUnitWithProrationPrice], [:grouped_allocation, Orb::Models::PlanCreateParams::Price::NewPlanGroupedAllocationPrice], [:grouped_with_prorated_minimum, Orb::Models::PlanCreateParams::Price::NewPlanGroupedWithProratedMinimumPrice], [:grouped_with_metered_minimum, Orb::Models::PlanCreateParams::Price::NewPlanGroupedWithMeteredMinimumPrice], [:matrix_with_display_name, Orb::Models::PlanCreateParams::Price::NewPlanMatrixWithDisplayNamePrice], [:bulk_with_proration, Orb::Models::PlanCreateParams::Price::NewPlanBulkWithProrationPrice], [:grouped_tiered_package, Orb::Models::PlanCreateParams::Price::NewPlanGroupedTieredPackagePrice], [:max_group_tiered_package, Orb::Models::PlanCreateParams::Price::NewPlanMaxGroupTieredPackagePrice], [:scalable_matrix_with_unit_pricing, Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithUnitPricingPrice], [:scalable_matrix_with_tiered_pricing, Orb::Models::PlanCreateParams::Price::NewPlanScalableMatrixWithTieredPricingPrice], [:cumulative_grouped_bulk, Orb::Models::PlanCreateParams::Price::NewPlanCumulativeGroupedBulkPrice]] end type status = :active | :draft diff --git a/sig/orb/models/price.rbs b/sig/orb/models/price.rbs index 801dcb50..c8c6c710 100644 --- a/sig/orb/models/price.rbs +++ b/sig/orb/models/price.rbs @@ -28,6 +28,7 @@ module Orb | Orb::Models::Price::MaxGroupTieredPackagePrice | Orb::Models::Price::ScalableMatrixWithUnitPricingPrice | Orb::Models::Price::ScalableMatrixWithTieredPricingPrice + | Orb::Models::Price::CumulativeGroupedBulkPrice class Price < Orb::Union type unit_price = @@ -8826,7 +8827,323 @@ module Orb end end - private def self.variants: -> [[:unit, Orb::Models::Price::UnitPrice], [:package, Orb::Models::Price::PackagePrice], [:matrix, Orb::Models::Price::MatrixPrice], [:tiered, Orb::Models::Price::TieredPrice], [:tiered_bps, Orb::Models::Price::TieredBpsPrice], [:bps, Orb::Models::Price::BpsPrice], [:bulk_bps, Orb::Models::Price::BulkBpsPrice], [:bulk, Orb::Models::Price::BulkPrice], [:threshold_total_amount, Orb::Models::Price::ThresholdTotalAmountPrice], [:tiered_package, Orb::Models::Price::TieredPackagePrice], [:grouped_tiered, Orb::Models::Price::GroupedTieredPrice], [:tiered_with_minimum, Orb::Models::Price::TieredWithMinimumPrice], [:tiered_package_with_minimum, Orb::Models::Price::TieredPackageWithMinimumPrice], [:package_with_allocation, Orb::Models::Price::PackageWithAllocationPrice], [:unit_with_percent, Orb::Models::Price::UnitWithPercentPrice], [:matrix_with_allocation, Orb::Models::Price::MatrixWithAllocationPrice], [:tiered_with_proration, Orb::Models::Price::TieredWithProrationPrice], [:unit_with_proration, Orb::Models::Price::UnitWithProrationPrice], [:grouped_allocation, Orb::Models::Price::GroupedAllocationPrice], [:grouped_with_prorated_minimum, Orb::Models::Price::GroupedWithProratedMinimumPrice], [:grouped_with_metered_minimum, Orb::Models::Price::GroupedWithMeteredMinimumPrice], [:matrix_with_display_name, Orb::Models::Price::MatrixWithDisplayNamePrice], [:bulk_with_proration, Orb::Models::Price::BulkWithProrationPrice], [:grouped_tiered_package, Orb::Models::Price::GroupedTieredPackagePrice], [:max_group_tiered_package, Orb::Models::Price::MaxGroupTieredPackagePrice], [:scalable_matrix_with_unit_pricing, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice], [:scalable_matrix_with_tiered_pricing, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice]] + type cumulative_grouped_bulk_price = + { + id: String, + billable_metric: Orb::Models::Price::CumulativeGroupedBulkPrice::BillableMetric?, + billing_cycle_configuration: Orb::Models::Price::CumulativeGroupedBulkPrice::BillingCycleConfiguration, + cadence: Orb::Models::Price::CumulativeGroupedBulkPrice::cadence, + conversion_rate: Float?, + created_at: Time, + credit_allocation: Orb::Models::Price::CumulativeGroupedBulkPrice::CreditAllocation?, + cumulative_grouped_bulk_config: ::Hash[Symbol, top], + currency: String, + discount: Orb::Models::discount?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoicing_cycle_configuration: Orb::Models::Price::CumulativeGroupedBulkPrice::InvoicingCycleConfiguration?, + item: Orb::Models::Price::CumulativeGroupedBulkPrice::Item, + maximum: Orb::Models::Price::CumulativeGroupedBulkPrice::Maximum?, + maximum_amount: String?, + metadata: ::Hash[Symbol, String], + minimum: Orb::Models::Price::CumulativeGroupedBulkPrice::Minimum?, + minimum_amount: String?, + model_type: :cumulative_grouped_bulk, + name: String, + plan_phase_order: Integer?, + price_type: Orb::Models::Price::CumulativeGroupedBulkPrice::price_type, + dimensional_price_configuration: Orb::Models::Price::CumulativeGroupedBulkPrice::DimensionalPriceConfiguration? + } + + class CumulativeGroupedBulkPrice < Orb::BaseModel + attr_accessor id: String + + attr_accessor billable_metric: Orb::Models::Price::CumulativeGroupedBulkPrice::BillableMetric? + + attr_accessor billing_cycle_configuration: Orb::Models::Price::CumulativeGroupedBulkPrice::BillingCycleConfiguration + + attr_accessor cadence: Orb::Models::Price::CumulativeGroupedBulkPrice::cadence + + attr_accessor conversion_rate: Float? + + attr_accessor created_at: Time + + attr_accessor credit_allocation: Orb::Models::Price::CumulativeGroupedBulkPrice::CreditAllocation? + + attr_accessor cumulative_grouped_bulk_config: ::Hash[Symbol, top] + + attr_accessor currency: String + + attr_accessor discount: Orb::Models::discount? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoicing_cycle_configuration: Orb::Models::Price::CumulativeGroupedBulkPrice::InvoicingCycleConfiguration? + + attr_accessor item: Orb::Models::Price::CumulativeGroupedBulkPrice::Item + + attr_accessor maximum: Orb::Models::Price::CumulativeGroupedBulkPrice::Maximum? + + attr_accessor maximum_amount: String? + + attr_accessor metadata: ::Hash[Symbol, String] + + attr_accessor minimum: Orb::Models::Price::CumulativeGroupedBulkPrice::Minimum? + + attr_accessor minimum_amount: String? + + attr_accessor model_type: :cumulative_grouped_bulk + + attr_accessor name: String + + attr_accessor plan_phase_order: Integer? + + attr_accessor price_type: Orb::Models::Price::CumulativeGroupedBulkPrice::price_type + + attr_accessor dimensional_price_configuration: Orb::Models::Price::CumulativeGroupedBulkPrice::DimensionalPriceConfiguration? + + def initialize: + ( + id: String, + billable_metric: Orb::Models::Price::CumulativeGroupedBulkPrice::BillableMetric?, + billing_cycle_configuration: Orb::Models::Price::CumulativeGroupedBulkPrice::BillingCycleConfiguration, + cadence: Orb::Models::Price::CumulativeGroupedBulkPrice::cadence, + conversion_rate: Float?, + created_at: Time, + credit_allocation: Orb::Models::Price::CumulativeGroupedBulkPrice::CreditAllocation?, + cumulative_grouped_bulk_config: ::Hash[Symbol, top], + currency: String, + discount: Orb::Models::discount?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoicing_cycle_configuration: Orb::Models::Price::CumulativeGroupedBulkPrice::InvoicingCycleConfiguration?, + item: Orb::Models::Price::CumulativeGroupedBulkPrice::Item, + maximum: Orb::Models::Price::CumulativeGroupedBulkPrice::Maximum?, + maximum_amount: String?, + metadata: ::Hash[Symbol, String], + minimum: Orb::Models::Price::CumulativeGroupedBulkPrice::Minimum?, + minimum_amount: String?, + name: String, + plan_phase_order: Integer?, + price_type: Orb::Models::Price::CumulativeGroupedBulkPrice::price_type, + dimensional_price_configuration: Orb::Models::Price::CumulativeGroupedBulkPrice::DimensionalPriceConfiguration?, + model_type: :cumulative_grouped_bulk + ) -> void + | ( + ?Orb::Models::Price::cumulative_grouped_bulk_price + | Orb::BaseModel data + ) -> void + + def to_hash: -> Orb::Models::Price::cumulative_grouped_bulk_price + + type billable_metric = { id: String } + + class BillableMetric < Orb::BaseModel + attr_accessor id: String + + def initialize: + (id: String) -> void + | ( + ?Orb::Models::Price::CumulativeGroupedBulkPrice::billable_metric + | Orb::BaseModel data + ) -> void + + def to_hash: -> Orb::Models::Price::CumulativeGroupedBulkPrice::billable_metric + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::Price::CumulativeGroupedBulkPrice::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::Price::CumulativeGroupedBulkPrice::BillingCycleConfiguration::duration_unit + + def initialize: + ( + duration: Integer, + duration_unit: Orb::Models::Price::CumulativeGroupedBulkPrice::BillingCycleConfiguration::duration_unit + ) -> void + | ( + ?Orb::Models::Price::CumulativeGroupedBulkPrice::billing_cycle_configuration + | Orb::BaseModel data + ) -> void + + def to_hash: -> Orb::Models::Price::CumulativeGroupedBulkPrice::billing_cycle_configuration + + type duration_unit = :day | :month + + class DurationUnit < Orb::Enum + DAY: :day + MONTH: :month + + def self.values: -> ::Array[Orb::Models::Price::CumulativeGroupedBulkPrice::BillingCycleConfiguration::duration_unit] + end + end + + type cadence = + :one_time | :monthly | :quarterly | :semi_annual | :annual | :custom + + class Cadence < Orb::Enum + ONE_TIME: :one_time + MONTHLY: :monthly + QUARTERLY: :quarterly + SEMI_ANNUAL: :semi_annual + ANNUAL: :annual + CUSTOM: :custom + + def self.values: -> ::Array[Orb::Models::Price::CumulativeGroupedBulkPrice::cadence] + end + + type credit_allocation = { allows_rollover: bool, currency: String } + + class CreditAllocation < Orb::BaseModel + attr_accessor allows_rollover: bool + + attr_accessor currency: String + + def initialize: + (allows_rollover: bool, currency: String) -> void + | ( + ?Orb::Models::Price::CumulativeGroupedBulkPrice::credit_allocation + | Orb::BaseModel data + ) -> void + + def to_hash: -> Orb::Models::Price::CumulativeGroupedBulkPrice::credit_allocation + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::Price::CumulativeGroupedBulkPrice::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::Price::CumulativeGroupedBulkPrice::InvoicingCycleConfiguration::duration_unit + + def initialize: + ( + duration: Integer, + duration_unit: Orb::Models::Price::CumulativeGroupedBulkPrice::InvoicingCycleConfiguration::duration_unit + ) -> void + | ( + ?Orb::Models::Price::CumulativeGroupedBulkPrice::invoicing_cycle_configuration + | Orb::BaseModel data + ) -> void + + def to_hash: -> Orb::Models::Price::CumulativeGroupedBulkPrice::invoicing_cycle_configuration + + type duration_unit = :day | :month + + class DurationUnit < Orb::Enum + DAY: :day + MONTH: :month + + def self.values: -> ::Array[Orb::Models::Price::CumulativeGroupedBulkPrice::InvoicingCycleConfiguration::duration_unit] + end + end + + type item = { id: String, name: String } + + class Item < Orb::BaseModel + attr_accessor id: String + + attr_accessor name: String + + def initialize: + (id: String, name: String) -> void + | ( + ?Orb::Models::Price::CumulativeGroupedBulkPrice::item + | Orb::BaseModel data + ) -> void + + def to_hash: -> Orb::Models::Price::CumulativeGroupedBulkPrice::item + end + + type maximum = + { applies_to_price_ids: ::Array[String], maximum_amount: String } + + class Maximum < Orb::BaseModel + attr_accessor applies_to_price_ids: ::Array[String] + + attr_accessor maximum_amount: String + + def initialize: + ( + applies_to_price_ids: ::Array[String], + maximum_amount: String + ) -> void + | ( + ?Orb::Models::Price::CumulativeGroupedBulkPrice::maximum + | Orb::BaseModel data + ) -> void + + def to_hash: -> Orb::Models::Price::CumulativeGroupedBulkPrice::maximum + end + + type minimum = + { applies_to_price_ids: ::Array[String], minimum_amount: String } + + class Minimum < Orb::BaseModel + attr_accessor applies_to_price_ids: ::Array[String] + + attr_accessor minimum_amount: String + + def initialize: + ( + applies_to_price_ids: ::Array[String], + minimum_amount: String + ) -> void + | ( + ?Orb::Models::Price::CumulativeGroupedBulkPrice::minimum + | Orb::BaseModel data + ) -> void + + def to_hash: -> Orb::Models::Price::CumulativeGroupedBulkPrice::minimum + end + + type price_type = :usage_price | :fixed_price + + class PriceType < Orb::Enum + USAGE_PRICE: :usage_price + FIXED_PRICE: :fixed_price + + def self.values: -> ::Array[Orb::Models::Price::CumulativeGroupedBulkPrice::price_type] + end + + type dimensional_price_configuration = + { + dimension_values: ::Array[String], + dimensional_price_group_id: String + } + + class DimensionalPriceConfiguration < Orb::BaseModel + attr_accessor dimension_values: ::Array[String] + + attr_accessor dimensional_price_group_id: String + + def initialize: + ( + dimension_values: ::Array[String], + dimensional_price_group_id: String + ) -> void + | ( + ?Orb::Models::Price::CumulativeGroupedBulkPrice::dimensional_price_configuration + | Orb::BaseModel data + ) -> void + + def to_hash: -> Orb::Models::Price::CumulativeGroupedBulkPrice::dimensional_price_configuration + end + end + + private def self.variants: -> [[:unit, Orb::Models::Price::UnitPrice], [:package, Orb::Models::Price::PackagePrice], [:matrix, Orb::Models::Price::MatrixPrice], [:tiered, Orb::Models::Price::TieredPrice], [:tiered_bps, Orb::Models::Price::TieredBpsPrice], [:bps, Orb::Models::Price::BpsPrice], [:bulk_bps, Orb::Models::Price::BulkBpsPrice], [:bulk, Orb::Models::Price::BulkPrice], [:threshold_total_amount, Orb::Models::Price::ThresholdTotalAmountPrice], [:tiered_package, Orb::Models::Price::TieredPackagePrice], [:grouped_tiered, Orb::Models::Price::GroupedTieredPrice], [:tiered_with_minimum, Orb::Models::Price::TieredWithMinimumPrice], [:tiered_package_with_minimum, Orb::Models::Price::TieredPackageWithMinimumPrice], [:package_with_allocation, Orb::Models::Price::PackageWithAllocationPrice], [:unit_with_percent, Orb::Models::Price::UnitWithPercentPrice], [:matrix_with_allocation, Orb::Models::Price::MatrixWithAllocationPrice], [:tiered_with_proration, Orb::Models::Price::TieredWithProrationPrice], [:unit_with_proration, Orb::Models::Price::UnitWithProrationPrice], [:grouped_allocation, Orb::Models::Price::GroupedAllocationPrice], [:grouped_with_prorated_minimum, Orb::Models::Price::GroupedWithProratedMinimumPrice], [:grouped_with_metered_minimum, Orb::Models::Price::GroupedWithMeteredMinimumPrice], [:matrix_with_display_name, Orb::Models::Price::MatrixWithDisplayNamePrice], [:bulk_with_proration, Orb::Models::Price::BulkWithProrationPrice], [:grouped_tiered_package, Orb::Models::Price::GroupedTieredPackagePrice], [:max_group_tiered_package, Orb::Models::Price::MaxGroupTieredPackagePrice], [:scalable_matrix_with_unit_pricing, Orb::Models::Price::ScalableMatrixWithUnitPricingPrice], [:scalable_matrix_with_tiered_pricing, Orb::Models::Price::ScalableMatrixWithTieredPricingPrice], [:cumulative_grouped_bulk, Orb::Models::Price::CumulativeGroupedBulkPrice]] end end end diff --git a/sig/orb/models/price_create_params.rbs b/sig/orb/models/price_create_params.rbs index 94faf001..fc176747 100644 --- a/sig/orb/models/price_create_params.rbs +++ b/sig/orb/models/price_create_params.rbs @@ -42,7 +42,8 @@ module Orb bulk_with_proration_config: ::Hash[Symbol, top], grouped_tiered_package_config: ::Hash[Symbol, top], scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top], - scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top] + scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top], + cumulative_grouped_bulk_config: ::Hash[Symbol, top] } & Orb::request_parameters @@ -132,6 +133,8 @@ module Orb attr_accessor scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top] + attr_accessor cumulative_grouped_bulk_config: ::Hash[Symbol, top] + def initialize: ( cadence: Orb::Models::PriceCreateParams::cadence, @@ -166,6 +169,7 @@ module Orb grouped_tiered_package_config: ::Hash[Symbol, top], scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top], scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top], + cumulative_grouped_bulk_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, billing_cycle_configuration: Orb::Models::PriceCreateParams::BillingCycleConfiguration?, @@ -195,10 +199,10 @@ module Orb def self.values: -> ::Array[Orb::Models::PriceCreateParams::cadence] end - type model_type = :scalable_matrix_with_tiered_pricing + type model_type = :cumulative_grouped_bulk class ModelType < Orb::Enum - SCALABLE_MATRIX_WITH_TIERED_PRICING: :scalable_matrix_with_tiered_pricing + CUMULATIVE_GROUPED_BULK: :cumulative_grouped_bulk def self.values: -> ::Array[Orb::Models::PriceCreateParams::model_type] end diff --git a/sig/orb/models/subscription_fetch_costs_response.rbs b/sig/orb/models/subscription_fetch_costs_response.rbs index e22b9abe..8d28c0f5 100644 --- a/sig/orb/models/subscription_fetch_costs_response.rbs +++ b/sig/orb/models/subscription_fetch_costs_response.rbs @@ -54,6 +54,7 @@ module Orb type per_price_cost = { price: Orb::Models::price, + price_id: String, subtotal: String, total: String, quantity: Float? @@ -62,6 +63,8 @@ module Orb class PerPriceCost < Orb::BaseModel attr_accessor price: Orb::Models::price + attr_accessor price_id: String + attr_accessor subtotal: String attr_accessor total: String @@ -71,6 +74,7 @@ module Orb def initialize: ( price: Orb::Models::price, + price_id: String, subtotal: String, total: String, quantity: Float? diff --git a/sig/orb/models/subscription_price_intervals_params.rbs b/sig/orb/models/subscription_price_intervals_params.rbs index 3a50b5d8..2ca06d06 100644 --- a/sig/orb/models/subscription_price_intervals_params.rbs +++ b/sig/orb/models/subscription_price_intervals_params.rbs @@ -274,6 +274,7 @@ module Orb | Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedTieredPackagePrice | Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingScalableMatrixWithUnitPricingPrice | Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingScalableMatrixWithTieredPricingPrice + | Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice class Price < Orb::Union type new_floating_unit_price = @@ -4956,7 +4957,168 @@ module Orb end end - private def self.variants: -> [[:unit, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingUnitPrice], [:package, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingPackagePrice], [:matrix, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMatrixPrice], [:matrix_with_allocation, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMatrixWithAllocationPrice], [:tiered, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredPrice], [:tiered_bps, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredBpsPrice], [:bps, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBpsPrice], [:bulk_bps, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBulkBpsPrice], [:bulk, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBulkPrice], [:threshold_total_amount, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingThresholdTotalAmountPrice], [:tiered_package, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredPackagePrice], [:grouped_tiered, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedTieredPrice], [:max_group_tiered_package, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMaxGroupTieredPackagePrice], [:tiered_with_minimum, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredWithMinimumPrice], [:package_with_allocation, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingPackageWithAllocationPrice], [:tiered_package_with_minimum, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredPackageWithMinimumPrice], [:unit_with_percent, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingUnitWithPercentPrice], [:tiered_with_proration, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredWithProrationPrice], [:unit_with_proration, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingUnitWithProrationPrice], [:grouped_allocation, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedAllocationPrice], [:grouped_with_prorated_minimum, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedWithProratedMinimumPrice], [:grouped_with_metered_minimum, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedWithMeteredMinimumPrice], [:matrix_with_display_name, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMatrixWithDisplayNamePrice], [:bulk_with_proration, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBulkWithProrationPrice], [:grouped_tiered_package, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedTieredPackagePrice], [:scalable_matrix_with_unit_pricing, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingScalableMatrixWithUnitPricingPrice], [:scalable_matrix_with_tiered_pricing, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingScalableMatrixWithTieredPricingPrice]] + type new_floating_cumulative_grouped_bulk_price = + { + cadence: Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::cadence, + cumulative_grouped_bulk_config: ::Hash[Symbol, top], + currency: String, + item_id: String, + model_type: :cumulative_grouped_bulk, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::BillingCycleConfiguration?, + conversion_rate: Float?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]? + } + + class NewFloatingCumulativeGroupedBulkPrice < Orb::BaseModel + attr_accessor cadence: Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::cadence + + attr_accessor cumulative_grouped_bulk_config: ::Hash[Symbol, top] + + attr_accessor currency: String + + attr_accessor item_id: String + + attr_accessor model_type: :cumulative_grouped_bulk + + attr_accessor name: String + + attr_accessor billable_metric_id: String? + + attr_accessor billed_in_advance: bool? + + attr_accessor billing_cycle_configuration: Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::BillingCycleConfiguration? + + attr_accessor conversion_rate: Float? + + attr_accessor external_price_id: String? + + attr_accessor fixed_price_quantity: Float? + + attr_accessor invoice_grouping_key: String? + + attr_accessor invoicing_cycle_configuration: Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::InvoicingCycleConfiguration? + + attr_accessor metadata: ::Hash[Symbol, String?]? + + def initialize: + ( + cadence: Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::cadence, + cumulative_grouped_bulk_config: ::Hash[Symbol, top], + currency: String, + item_id: String, + name: String, + billable_metric_id: String?, + billed_in_advance: bool?, + billing_cycle_configuration: Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::BillingCycleConfiguration?, + conversion_rate: Float?, + external_price_id: String?, + fixed_price_quantity: Float?, + invoice_grouping_key: String?, + invoicing_cycle_configuration: Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::InvoicingCycleConfiguration?, + metadata: ::Hash[Symbol, String?]?, + model_type: :cumulative_grouped_bulk + ) -> void + | ( + ?Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::new_floating_cumulative_grouped_bulk_price + | Orb::BaseModel data + ) -> void + + def to_hash: -> Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::new_floating_cumulative_grouped_bulk_price + + type cadence = + :annual + | :semi_annual + | :monthly + | :quarterly + | :one_time + | :custom + + class Cadence < Orb::Enum + ANNUAL: :annual + SEMI_ANNUAL: :semi_annual + MONTHLY: :monthly + QUARTERLY: :quarterly + ONE_TIME: :one_time + CUSTOM: :custom + + def self.values: -> ::Array[Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::cadence] + end + + type billing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::BillingCycleConfiguration::duration_unit + } + + class BillingCycleConfiguration < Orb::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::BillingCycleConfiguration::duration_unit + + def initialize: + ( + duration: Integer, + duration_unit: Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::BillingCycleConfiguration::duration_unit + ) -> void + | ( + ?Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::billing_cycle_configuration + | Orb::BaseModel data + ) -> void + + def to_hash: -> Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::billing_cycle_configuration + + type duration_unit = :day | :month + + class DurationUnit < Orb::Enum + DAY: :day + MONTH: :month + + def self.values: -> ::Array[Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::BillingCycleConfiguration::duration_unit] + end + end + + type invoicing_cycle_configuration = + { + duration: Integer, + duration_unit: Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::InvoicingCycleConfiguration::duration_unit + } + + class InvoicingCycleConfiguration < Orb::BaseModel + attr_accessor duration: Integer + + attr_accessor duration_unit: Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::InvoicingCycleConfiguration::duration_unit + + def initialize: + ( + duration: Integer, + duration_unit: Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::InvoicingCycleConfiguration::duration_unit + ) -> void + | ( + ?Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::invoicing_cycle_configuration + | Orb::BaseModel data + ) -> void + + def to_hash: -> Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::invoicing_cycle_configuration + + type duration_unit = :day | :month + + class DurationUnit < Orb::Enum + DAY: :day + MONTH: :month + + def self.values: -> ::Array[Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice::InvoicingCycleConfiguration::duration_unit] + end + end + end + + private def self.variants: -> [[:unit, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingUnitPrice], [:package, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingPackagePrice], [:matrix, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMatrixPrice], [:matrix_with_allocation, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMatrixWithAllocationPrice], [:tiered, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredPrice], [:tiered_bps, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredBpsPrice], [:bps, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBpsPrice], [:bulk_bps, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBulkBpsPrice], [:bulk, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBulkPrice], [:threshold_total_amount, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingThresholdTotalAmountPrice], [:tiered_package, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredPackagePrice], [:grouped_tiered, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedTieredPrice], [:max_group_tiered_package, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMaxGroupTieredPackagePrice], [:tiered_with_minimum, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredWithMinimumPrice], [:package_with_allocation, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingPackageWithAllocationPrice], [:tiered_package_with_minimum, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredPackageWithMinimumPrice], [:unit_with_percent, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingUnitWithPercentPrice], [:tiered_with_proration, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingTieredWithProrationPrice], [:unit_with_proration, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingUnitWithProrationPrice], [:grouped_allocation, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedAllocationPrice], [:grouped_with_prorated_minimum, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedWithProratedMinimumPrice], [:grouped_with_metered_minimum, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedWithMeteredMinimumPrice], [:matrix_with_display_name, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingMatrixWithDisplayNamePrice], [:bulk_with_proration, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingBulkWithProrationPrice], [:grouped_tiered_package, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingGroupedTieredPackagePrice], [:scalable_matrix_with_unit_pricing, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingScalableMatrixWithUnitPricingPrice], [:scalable_matrix_with_tiered_pricing, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingScalableMatrixWithTieredPricingPrice], [:cumulative_grouped_bulk, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::NewFloatingCumulativeGroupedBulkPrice]] end end diff --git a/sig/orb/resources/prices.rbs b/sig/orb/resources/prices.rbs index 906e7bb7..0ef3b212 100644 --- a/sig/orb/resources/prices.rbs +++ b/sig/orb/resources/prices.rbs @@ -40,6 +40,7 @@ module Orb grouped_tiered_package_config: ::Hash[Symbol, top], scalable_matrix_with_unit_pricing_config: ::Hash[Symbol, top], scalable_matrix_with_tiered_pricing_config: ::Hash[Symbol, top], + cumulative_grouped_bulk_config: ::Hash[Symbol, top], billable_metric_id: String?, billed_in_advance: bool?, billing_cycle_configuration: Orb::Models::PriceCreateParams::BillingCycleConfiguration?, diff --git a/sig/orb/version.rbs b/sig/orb/version.rbs index 9d3fdb0c..d85b26a9 100644 --- a/sig/orb/version.rbs +++ b/sig/orb/version.rbs @@ -1,3 +1,3 @@ module Orb - VERSION: "0.1.0-alpha.5" + VERSION: "0.1.0-alpha.6" end diff --git a/test/orb/resources/alerts_test.rb b/test/orb/resources/alerts_test.rb index cfb55349..f96c2980 100644 --- a/test/orb/resources/alerts_test.rb +++ b/test/orb/resources/alerts_test.rb @@ -39,6 +39,11 @@ def test_list assert_pattern do page => Orb::Page end + + row = response.to_enum.first + assert_pattern do + row => Orb::Models::Alert + end end def test_create_for_customer_required_params diff --git a/test/orb/resources/coupons/subscriptions_test.rb b/test/orb/resources/coupons/subscriptions_test.rb index 55f24d97..431d3997 100644 --- a/test/orb/resources/coupons/subscriptions_test.rb +++ b/test/orb/resources/coupons/subscriptions_test.rb @@ -21,5 +21,10 @@ def test_list assert_pattern do page => Orb::Page end + + row = response.to_enum.first + assert_pattern do + row => Orb::Models::Subscription + end end end diff --git a/test/orb/resources/coupons_test.rb b/test/orb/resources/coupons_test.rb index 81cf00a3..eb703ec4 100644 --- a/test/orb/resources/coupons_test.rb +++ b/test/orb/resources/coupons_test.rb @@ -32,6 +32,11 @@ def test_list assert_pattern do page => Orb::Page end + + row = response.to_enum.first + assert_pattern do + row => Orb::Models::Coupon + end end def test_archive diff --git a/test/orb/resources/credit_notes_test.rb b/test/orb/resources/credit_notes_test.rb index 55db334f..fd257bfa 100644 --- a/test/orb/resources/credit_notes_test.rb +++ b/test/orb/resources/credit_notes_test.rb @@ -36,6 +36,11 @@ def test_list assert_pattern do page => Orb::Page end + + row = response.to_enum.first + assert_pattern do + row => Orb::Models::CreditNote + end end def test_fetch diff --git a/test/orb/resources/customers/balance_transactions_test.rb b/test/orb/resources/customers/balance_transactions_test.rb index 9d15d27d..2b46ea22 100644 --- a/test/orb/resources/customers/balance_transactions_test.rb +++ b/test/orb/resources/customers/balance_transactions_test.rb @@ -29,5 +29,10 @@ def test_list assert_pattern do page => Orb::Page end + + row = response.to_enum.first + assert_pattern do + row => Orb::Models::Customers::BalanceTransactionListResponse + end end end diff --git a/test/orb/resources/customers/credits/ledger_test.rb b/test/orb/resources/customers/credits/ledger_test.rb index abab41d6..24e10854 100644 --- a/test/orb/resources/customers/credits/ledger_test.rb +++ b/test/orb/resources/customers/credits/ledger_test.rb @@ -21,6 +21,11 @@ def test_list assert_pattern do page => Orb::Page end + + row = response.to_enum.first + assert_pattern do + row => Orb::Models::Customers::Credits::LedgerListResponse + end end def test_create_entry_required_params @@ -60,5 +65,10 @@ def test_list_by_external_id assert_pattern do page => Orb::Page end + + row = response.to_enum.first + assert_pattern do + row => Orb::Models::Customers::Credits::LedgerListByExternalIDResponse + end end end diff --git a/test/orb/resources/customers/credits/top_ups_test.rb b/test/orb/resources/customers/credits/top_ups_test.rb index 5d6f1f33..fb3ebfac 100644 --- a/test/orb/resources/customers/credits/top_ups_test.rb +++ b/test/orb/resources/customers/credits/top_ups_test.rb @@ -36,6 +36,11 @@ def test_list assert_pattern do page => Orb::Page end + + row = response.to_enum.first + assert_pattern do + row => Orb::Models::Customers::Credits::TopUpListResponse + end end def test_delete_required_params @@ -83,5 +88,10 @@ def test_list_by_external_id assert_pattern do page => Orb::Page end + + row = response.to_enum.first + assert_pattern do + row => Orb::Models::Customers::Credits::TopUpListByExternalIDResponse + end end end diff --git a/test/orb/resources/customers/credits_test.rb b/test/orb/resources/customers/credits_test.rb index cdc47138..c93a0fd9 100644 --- a/test/orb/resources/customers/credits_test.rb +++ b/test/orb/resources/customers/credits_test.rb @@ -21,6 +21,11 @@ def test_list assert_pattern do page => Orb::Page end + + row = response.to_enum.first + assert_pattern do + row => Orb::Models::Customers::CreditListResponse + end end def test_list_by_external_id @@ -34,5 +39,10 @@ def test_list_by_external_id assert_pattern do page => Orb::Page end + + row = response.to_enum.first + assert_pattern do + row => Orb::Models::Customers::CreditListByExternalIDResponse + end end end diff --git a/test/orb/resources/customers_test.rb b/test/orb/resources/customers_test.rb index d906d02a..6614fff3 100644 --- a/test/orb/resources/customers_test.rb +++ b/test/orb/resources/customers_test.rb @@ -37,6 +37,11 @@ def test_list assert_pattern do page => Orb::Page end + + row = response.to_enum.first + assert_pattern do + row => Orb::Models::Customer + end end def test_delete diff --git a/test/orb/resources/dimensional_price_groups_test.rb b/test/orb/resources/dimensional_price_groups_test.rb index ce495719..50625503 100644 --- a/test/orb/resources/dimensional_price_groups_test.rb +++ b/test/orb/resources/dimensional_price_groups_test.rb @@ -41,5 +41,10 @@ def test_list assert_pattern do page => Orb::Page end + + row = response.to_enum.first + assert_pattern do + row => Orb::Models::DimensionalPriceGroup + end end end diff --git a/test/orb/resources/events/backfills_test.rb b/test/orb/resources/events/backfills_test.rb index dc035ad4..c4499680 100644 --- a/test/orb/resources/events/backfills_test.rb +++ b/test/orb/resources/events/backfills_test.rb @@ -32,6 +32,11 @@ def test_list assert_pattern do page => Orb::Page end + + row = response.to_enum.first + assert_pattern do + row => Orb::Models::Events::BackfillListResponse + end end def test_close diff --git a/test/orb/resources/invoices_test.rb b/test/orb/resources/invoices_test.rb index 32d15f10..7a0b1c64 100644 --- a/test/orb/resources/invoices_test.rb +++ b/test/orb/resources/invoices_test.rb @@ -52,6 +52,11 @@ def test_list assert_pattern do page => Orb::Page end + + row = response.to_enum.first + assert_pattern do + row => Orb::Models::Invoice + end end def test_fetch diff --git a/test/orb/resources/items_test.rb b/test/orb/resources/items_test.rb index 51eb4898..dd25aa25 100644 --- a/test/orb/resources/items_test.rb +++ b/test/orb/resources/items_test.rb @@ -37,6 +37,11 @@ def test_list assert_pattern do page => Orb::Page end + + row = response.to_enum.first + assert_pattern do + row => Orb::Models::Item + end end def test_fetch diff --git a/test/orb/resources/metrics_test.rb b/test/orb/resources/metrics_test.rb index 5b5c8191..2c30faa9 100644 --- a/test/orb/resources/metrics_test.rb +++ b/test/orb/resources/metrics_test.rb @@ -42,6 +42,11 @@ def test_list assert_pattern do page => Orb::Page end + + row = response.to_enum.first + assert_pattern do + row => Orb::Models::BillableMetric + end end def test_fetch diff --git a/test/orb/resources/plans_test.rb b/test/orb/resources/plans_test.rb index 546f62b8..cdfb032e 100644 --- a/test/orb/resources/plans_test.rb +++ b/test/orb/resources/plans_test.rb @@ -49,6 +49,11 @@ def test_list assert_pattern do page => Orb::Page end + + row = response.to_enum.first + assert_pattern do + row => Orb::Models::Plan + end end def test_fetch diff --git a/test/orb/resources/prices_test.rb b/test/orb/resources/prices_test.rb index 76baf7ba..f5d1fbfc 100644 --- a/test/orb/resources/prices_test.rb +++ b/test/orb/resources/prices_test.rb @@ -44,6 +44,11 @@ def test_list assert_pattern do page => Orb::Page end + + row = response.to_enum.first + assert_pattern do + row => Orb::Models::Price + end end def test_evaluate_required_params diff --git a/test/orb/resources/subscriptions_test.rb b/test/orb/resources/subscriptions_test.rb index a960ebb2..ca8a0be6 100644 --- a/test/orb/resources/subscriptions_test.rb +++ b/test/orb/resources/subscriptions_test.rb @@ -37,6 +37,11 @@ def test_list assert_pattern do page => Orb::Page end + + row = response.to_enum.first + assert_pattern do + row => Orb::Models::Subscription + end end def test_cancel_required_params @@ -74,6 +79,11 @@ def test_fetch_schedule assert_pattern do page => Orb::Page end + + row = response.to_enum.first + assert_pattern do + row => Orb::Models::SubscriptionFetchScheduleResponse + end end def test_fetch_usage diff --git a/test/orb/test_helper.rb b/test/orb/test_helper.rb index 1fe7affd..09da390b 100644 --- a/test/orb/test_helper.rb +++ b/test/orb/test_helper.rb @@ -9,7 +9,7 @@ require_relative "../../lib/orb" require_relative "test_namespaces" -require "minitest" +require "minitest/autorun" require "minitest/focus" require "minitest/hooks/test" @@ -32,8 +32,8 @@ module Kernel alias_method :_sleep, :sleep def sleep(secs) - case (counter = Thread.current.thread_variable_get(:mock_sleep)) - in Array + case Thread.current.thread_variable_get(:mock_sleep) + in Array => counter counter << secs secs else